@po-ui/ng-components 17.1.0 → 17.2.0

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.
@@ -132,18 +132,14 @@ export class PoDynamicViewBaseComponent {
132
132
  this.comboFilterService = comboFilterService;
133
133
  this.multiselectFilterService = multiselectFilterService;
134
134
  }
135
- /**
136
- * Verifica se já existe algum outro campo com a order da posição dele no array,
137
- * se houver ele adiciona +1 até achar uma proxima posição
138
- */
139
- getOrdertoField(field, index) {
135
+ getFieldOrder(field, index) {
140
136
  const position = index + 1;
141
- return this.fields.findIndex(e => e.order === position) > -1 ? this.getOrdertoField(field, position) : position;
137
+ return this.fields.findIndex(e => e.order === position) > -1 ? this.getFieldOrder(field, position) : position;
142
138
  }
143
139
  getConfiguredFields(useSearchService = true) {
144
140
  const newFields = [];
145
141
  this.fields.forEach((field, index) => {
146
- field.order = field.order || this.getOrdertoField(field, index);
142
+ field.order = field.order || this.getFieldOrder(field, index);
147
143
  if (!isVisibleField(field)) {
148
144
  return;
149
145
  }
@@ -154,8 +150,8 @@ export class PoDynamicViewBaseComponent {
154
150
  const hasValue = this.value[field.property]?.length ||
155
151
  (!Array.isArray(this.value[field.property]) && this.value[field.property] && useSearchService);
156
152
  if (hasValue) {
157
- const tempField = this.returnValues({ ...field }, '');
158
- newFields.push(this.createField(tempField));
153
+ const _field = this.returnValues({ ...field }, '');
154
+ newFields.push(_field);
159
155
  if (field.searchService) {
160
156
  if (typeof field.searchService === 'object') {
161
157
  this.service = field.searchService;
@@ -185,8 +181,7 @@ export class PoDynamicViewBaseComponent {
185
181
  }
186
182
  }
187
183
  }
188
- const indexUpdated = field.order;
189
- this.createFieldWithService(field, newFields, indexUpdated);
184
+ this.createFieldWithService(field, newFields, _field);
190
185
  }
191
186
  });
192
187
  return sortFields(newFields);
@@ -221,12 +216,13 @@ export class PoDynamicViewBaseComponent {
221
216
  }
222
217
  return this.returnValues(field, value);
223
218
  }
224
- createFieldWithService(field, newFields, index) {
219
+ createFieldWithService(field, newFields, oldField) {
225
220
  const property = field.property;
226
221
  this.searchById(this.value[property], field).subscribe(response => {
227
222
  const value = response;
228
223
  const allValues = this.returnValues(field, value);
229
- newFields.splice(index - 1, 1, allValues);
224
+ const oldFieldIndex = newFields.indexOf(newFields.find(field => field === oldField));
225
+ newFields.splice(oldFieldIndex, 1, allValues);
230
226
  sortFields(newFields);
231
227
  });
232
228
  }
@@ -374,4 +370,4 @@ export class PoDynamicViewBaseComponent {
374
370
  type: Input,
375
371
  args: ['p-value']
376
372
  }] }); })();
377
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdFLE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFNM0U7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBMkczQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0U7SUFDQTtJQUNBO0lBakhaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWdDRztJQUNjLElBQUksQ0FBb0I7SUFFekMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixPQUFPLENBQU07SUFFTCxPQUFPLEdBQThCLEVBQUUsQ0FBQztJQUN4QyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUNILElBQXVCLE1BQU0sQ0FBQyxNQUFpQztRQUM3RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFE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cmVuY3lQaXBlLCBEYXRlUGlwZSwgRGVjaW1hbFBpcGUsIFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb1RpbWVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvcG8tdGltZS9wby10aW1lLnBpcGUnO1xuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiwgaXNUeXBlb2YsIHNvcnRGaWVsZHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0R3JpZENvbHVtbnNDbGFzc2VzLCBpc1Zpc2libGVGaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMudXRpbCc7XG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3RmllbGQgfSBmcm9tICcuL3BvLWR5bmFtaWMtdmlldy1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWR5bmFtaWMtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvQ29tYm9GaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tY29tYm8vcG8tY29tYm8tZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9NdWx0aXNlbGVjdEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1maWx0ZXIuc2VydmljZSc7XG5cbi8qKlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgcGFyYSBsaXN0YXIgZGFkb3MgZGluYW1pY2FtZW50ZSBhIHBhcnRpciBkZSB1bWEgbGlzdGEgZGUgb2JqZXRvcy5cbiAqXG4gKiA+IFBvciBwYWRyw6NvIGVzc2UgY29tcG9uZW50ZSBjcmlhIGBwby1pbmZvYCBwYXJhIGV4aWJpw6fDo28sIMOpIHBvc3PDrXZlbCBjcmlhciBgcG8tdGFnYCBwYXNzYW5kbyBhIHByb3ByaWVkYWRlIHsgdGFnOiB0cnVlIH0uXG4gKlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBQb0R5bmFtaWNWaWV3QmFzZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBvc3NpYmlsaXRhIGV4ZWN1dGFyIHVtYSBmdW7Dp8OjbyBxdWFuZG8gbyBjb21wb25lbnRlIMOpIGluaWNpYWxpemFkby5cbiAgICpcbiAgICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtICoqU3RyaW5nKio6IEVuZHBvaW50IHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtICoqRnVuY3Rpb24qKjogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvIG5hIGluaWNpYWxpemHDp8OjbyBkbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIG9zIGRvaXMgdGlwb3MgZGUgdXRpbGl6YcOnw6NvIGRhIHByb3ByaWVkYWRlIGVzcGVyYS1zZSBvIHNlZ3VpbnRlIHJldG9ybm86XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgdmFsdWU6IHtcbiAgICogICAgIGNucGo6ICcqKioqKioqKioqKioqKicsIC8vIGFsdGVyYSB2YWxvciBkbyBjYW1wb1xuICAgKiAgICAgdXBkYXRlZDogKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkgLy8gYXRyaWJ1aSB2YWxvciBhbyBjYW1wbyBub3ZvXG4gICAqICAgfSxcbiAgICogICBmaWVsZHM6IFtcbiAgICogICAgIHsgcHJvcGVydHk6ICdjbnBqJywgdGFnOiB0cnVlLCBpbnZlcnNlOiB0cnVlIH0sIC8vIGF0cmlidWkgbm92YXMgcHJvcHJpZWRhZGVzIGFvIGZpZWxkXG4gICAqICAgICB7IHByb3BlcnR5OiAndXBkYXRlZCcsIHRhZzogdHJ1ZSB9IC8vIGluY2x1aSBjYW1wbyBub3ZvXG4gICAqICAgXVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiA+ICoqdmFsdWUqKjogYW55ID0gYXRyaWJ1aSBub3ZvIHZhbG9yIGRvIG1vZGVsLlxuICAgKlxuICAgKiA+ICoqZmllbGRzKio6IGBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+YCA9IExpc3RhIGRlIGNhbXBvcyBxdWUgZGVzZWphIGFsdGVyYXIgYXMgcHJvcHJpZWRhZGVzLFxuICAgKiBjYXNvIGVudmlhciB1bSBjYW1wbyBhIG1haXMgc2Vyw6EgY3JpYWRvIHVtIG5vdm8gY2FtcG8uXG4gICAqXG4gICAqIC0gUGFyYSBlc2NvbmRlci9yZW1vdmVyIGNhbXBvcyBwcmVjaXNhIGluZm9ybWFyIG5vIGZpZWxkIGEgcHJvcHJpZWRhZGUgYHZpc2libGUgPSBmYWxzZWAuXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtbG9hZCcpIGxvYWQ6IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIHZpc2libGVGaWVsZHMgPSBbXTtcbiAgc2VydmljZTogYW55O1xuXG4gIHByaXZhdGUgX2ZpZWxkczogQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPiA9IFtdO1xuICBwcml2YXRlIF9zaG93QWxsVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdmFsdWUgPSB7fTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMaXN0YSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBgUG9EeW5hbWljVmlld2AuXG4gICAqXG4gICAqID4gRXg6IGBbIHsgcHJvcGVydHk6ICdhZ2UnIH0gXWBcbiAgICpcbiAgICogUmVncmFzIGRlIHRpcGFnZW0gZSBmb3JtYXRhw6fDo28gZG9zIHZhbG9yZXMgZXhpYmlkb3M6XG4gICAqXG4gICAqIC0gQ2FzbyBvICp0eXBlKiBpbmZvcm1hZG8gc2VqYSAqY3VycmVuY3kqIGUgbsOjbyBzZWphIGluZm9ybWFkbyBvICpmb3JtYXQqIG8gbWVzbW8gcmVjZWJlIFwiJ0JSTCcsICdzeW1ib2wnLCAnMS4yLTInXCJcbiAgICogY29tbyBmb3JtYXRvIHBhZHLDo28uXG4gICAqIC0gQ2FzbyBvICp0eXBlKiBpbmZvcm1hZG8gc2VqYSAqZGF0ZSogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyByZWNlYmUgJ2RkL01NL3l5eXknIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmRhdGVUaW1lKiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSAnZGQvTU0veXl5eSBISDptbTpzcycgY29tbyBmb3JtYXRvIHBhZHLDo28uXG4gICAqIC0gQ2FzbyBvICp0eXBlKiBpbmZvcm1hZG8gc2VqYSAqbnVtYmVyKiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIG7Do28gc2Vyw6EgZm9ybWF0YWRvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKnRpbWUqIGUgbsOjbyBzZWphIGluZm9ybWFkbyBvICpmb3JtYXQqIG8gbWVzbW8gcmVjZWJlICdISDptbTpzcy5mZmZmZmYnIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKlxuICAgKiA+IEFzIHByb3ByaWVkYWRlcyBpbmZvcm1hZGFzIHNlcsOjbyBleGliaWRhcyBtZXNtbyBuw6NvIGNvbnRlbmRvIHZhbG9yIGRlIHJlZmVyw6puY2lhIG5vIG9iamV0byBkYSBwcm9wcmllZGFkZSBgcC12YWx1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBbXWBcbiAgICovXG4gIEBJbnB1dCgncC1maWVsZHMnKSBzZXQgZmllbGRzKGZpZWxkczogQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPikge1xuICAgIHRoaXMuX2ZpZWxkcyA9IEFycmF5LmlzQXJyYXkoZmllbGRzKSA/IFsuLi5maWVsZHNdIDogW107XG4gIH1cblxuICBnZXQgZmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2Egc2UgZXhpYmlyw6EgdG9kYXMgYXMgaW5mb3JtYcOnw7VlcyBjb250aWRhcyBkZW50cm8gZG8gb2JqZXRvIGluZm9ybWFkbyBuYSBwcm9wcmllZGFkZSBgcC12YWx1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1zaG93LWFsbC12YWx1ZScpIHNldCBzaG93QWxsVmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93QWxsVmFsdWUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzaG93QWxsVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dBbGxWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogT2JqZXRvIHF1ZSBzZXLDoSB1dGlsaXphZG8gcGFyYSBleGliaXIgYXMgaW5mb3JtYcOnw7VlcyBkaW7Dom1pY2FzLCBvIHZhbG9yIHNlcsOhIHJlY3VwZXJhZG8gYXRyYXbDqXMgZG8gYXRyaWJ1dG8gKnByb3BlcnR5KlxuICAgKiBkb3Mgb2JqZXRvcyBjb250aWRvcyBuYSBwcm9wcmlkYWRlIGBwLWZpZWxkc2AuXG4gICAqXG4gICAqID4gRXg6IGB7IGFnZTogJzM1JyB9YFxuICAgKi9cbiAgQElucHV0KCdwLXZhbHVlJykgc2V0IHZhbHVlKHZhbHVlOiBvYmplY3QpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlICYmIGlzVHlwZW9mKHZhbHVlLCAnb2JqZWN0JykgPyB2YWx1ZSA6IHt9O1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXG4gICAgcHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsXG4gICAgcHJpdmF0ZSB0aW1lUGlwZTogUG9UaW1lUGlwZSxcbiAgICBwcml2YXRlIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUsXG4gICAgcHJvdGVjdGVkIGR5bmFtaWNWaWV3U2VydmljZTogUG9EeW5hbWljVmlld1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbWJvRmlsdGVyU2VydmljZTogUG9Db21ib0ZpbHRlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG11bHRpc2VsZWN0RmlsdGVyU2VydmljZTogUG9NdWx0aXNlbGVjdEZpbHRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBWZXJpZmljYSBzZSBqw6EgZXhpc3RlIGFsZ3VtIG91dHJvIGNhbXBvIGNvbSBhIG9yZGVyIGRhIHBvc2nDp8OjbyBkZWxlIG5vIGFycmF5LFxuICAgKiBzZSBob3V2ZXIgZWxlIGFkaWNpb25hICsxIGF0w6kgYWNoYXIgdW1hIHByb3hpbWEgcG9zacOnw6NvXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0T3JkZXJ0b0ZpZWxkKGZpZWxkOiBQb0R5bmFtaWNWaWV3RmllbGQsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IGluZGV4ICsgMTtcbiAgICByZXR1cm4gdGhpcy5maWVsZHMuZmluZEluZGV4KGUgPT4gZS5vcmRlciA9PT0gcG9zaXRpb24pID4gLTEgPyB0aGlzLmdldE9yZGVydG9GaWVsZChmaWVsZCwgcG9zaXRpb24pIDogcG9zaXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29uZmlndXJlZEZpZWxkcyh1c2VTZWFyY2hTZXJ2aWNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG5ld0ZpZWxkcyA9IFtdO1xuXG4gICAgdGhpcy5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICBmaWVsZC5vcmRlciA9IGZpZWxkLm9yZGVyIHx8IHRoaXMuZ2V0T3JkZXJ0b0ZpZWxkKGZpZWxkLCBpbmRleCk7XG5cbiAgICAgIGlmICghaXNWaXNpYmxlRmllbGQoZmllbGQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmaWVsZC5zZWFyY2hTZXJ2aWNlICYmICFmaWVsZC5vcHRpb25zU2VydmljZSkge1xuICAgICAgICBuZXdGaWVsZHMucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKGZpZWxkKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFzVmFsdWUgPVxuICAgICAgICB0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XT8ubGVuZ3RoIHx8XG4gICAgICAgICghQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSkgJiYgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gJiYgdXNlU2VhcmNoU2VydmljZSk7XG5cbiAgICAgIGlmIChoYXNWYWx1ZSkge1xuICAgICAgICBjb25zdCB0ZW1wRmllbGQgPSB0aGlzLnJldHVyblZhbHVlcyh7IC4uLmZpZWxkIH0sICcnKTtcbiAgICAgICAgbmV3RmllbGRzLnB1c2godGhpcy5jcmVhdGVGaWVsZCh0ZW1wRmllbGQpKTtcblxuICAgICAgICBpZiAoZmllbGQuc2VhcmNoU2VydmljZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQuc2VhcmNoU2VydmljZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IGZpZWxkLnNlYXJjaFNlcnZpY2UgYXMgUG9EeW5hbWljVmlld1NlcnZpY2U7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmllbGQuc2VhcmNoU2VydmljZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNldENvbmZpZyhmaWVsZC5zZWFyY2hTZXJ2aWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgICAgICBpZiAoZmllbGQub3B0aW9uc011bHRpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkLm9wdGlvbnNTZXJ2aWNlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UgPSBmaWVsZC5vcHRpb25zU2VydmljZSBhcyBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IHRoaXMubXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlO1xuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuY29uZmlnUHJvcGVydGllcyhmaWVsZC5vcHRpb25zU2VydmljZSwgZmllbGQuZmllbGRMYWJlbCwgZmllbGQuZmllbGRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQub3B0aW9uc1NlcnZpY2UgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IGZpZWxkLm9wdGlvbnNTZXJ2aWNlIGFzIFBvQ29tYm9GaWx0ZXJTZXJ2aWNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5jb21ib0ZpbHRlclNlcnZpY2U7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jb25maWdQcm9wZXJ0aWVzKGZpZWxkLm9wdGlvbnNTZXJ2aWNlLCBmaWVsZC5maWVsZExhYmVsLCBmaWVsZC5maWVsZFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRleFVwZGF0ZWQgPSBmaWVsZC5vcmRlcjtcbiAgICAgICAgdGhpcy5jcmVhdGVGaWVsZFdpdGhTZXJ2aWNlKGZpZWxkLCBuZXdGaWVsZHMsIGluZGV4VXBkYXRlZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICB9XG5cbiAgLy8gcmV0b3JuYSBmaWVsZHMgbGlnYWRvIGFvIHZhbHVlIG1haXMgb3MgYXRyaWJ1dG9zIGRvIHZhbHVlIHF1ZSBuw6NvIHBvc3N1aWFtIGZpZWxkcy5cbiAgcHJvdGVjdGVkIGdldE1lcmdlZEZpZWxkcygpIHtcbiAgICBjb25zdCBtZXJnZWRGaWVsZHMgPSBbLi4udGhpcy5nZXRDb25maWd1cmVkRmllbGRzKCldO1xuXG4gICAgdGhpcy5nZXRWYWx1ZUZpZWxkcygpLmZvckVhY2godmFsdWVGaWVsZCA9PiB7XG4gICAgICBjb25zdCBmaWVsZEluZGV4ID0gbWVyZ2VkRmllbGRzLmZpbmRJbmRleChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gdmFsdWVGaWVsZC5wcm9wZXJ0eSk7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IHZhbHVlRmllbGQucHJvcGVydHk7XG5cbiAgICAgIGlmIChmaWVsZEluZGV4ID09PSAtMSkge1xuICAgICAgICBtZXJnZWRGaWVsZHMucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKHsgcHJvcGVydHkgfSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1lcmdlZEZpZWxkcztcbiAgfVxuXG4gIC8vIHJldG9ybmEgbyBvYmpldG8gdmFsdWUgY29tbyBmaWVsZHMuXG4gIHByb3RlY3RlZCBnZXRWYWx1ZUZpZWxkcygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy52YWx1ZSkubWFwKHByb3BlcnR5ID0+IHRoaXMuY3JlYXRlRmllbGQoeyBwcm9wZXJ0eSB9KSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZpZWxkKGZpZWxkOiBQb0R5bmFtaWNWaWV3RmllbGQpIHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IGZpZWxkLnByb3BlcnR5O1xuICAgIGxldCB2YWx1ZTtcbiAgICBpZiAoZmllbGQuaXNBcnJheU9yT2JqZWN0ICYmIHRoaXMudmFsdWVbcHJvcGVydHldKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtQXJyYXlWYWx1ZSh0aGlzLnZhbHVlW3Byb3BlcnR5XSwgZmllbGQpO1xuICAgIH0gZWxzZSBpZiAoZmllbGQuZmllbGRMYWJlbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRyYW5zZm9ybUZpZWxkTGFiZWwocHJvcGVydHksIGZpZWxkKTtcbiAgICB9XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtVmFsdWUoZmllbGQudHlwZSwgdGhpcy52YWx1ZVtwcm9wZXJ0eV0sIGZpZWxkLmZvcm1hdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmV0dXJuVmFsdWVzKGZpZWxkLCB2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZpZWxkV2l0aFNlcnZpY2UoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgbmV3RmllbGRzPywgaW5kZXg/KSB7XG4gICAgY29uc3QgcHJvcGVydHkgPSBmaWVsZC5wcm9wZXJ0eTtcblxuICAgIHRoaXMuc2VhcmNoQnlJZCh0aGlzLnZhbHVlW3Byb3BlcnR5XSwgZmllbGQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHJlc3BvbnNlO1xuICAgICAgY29uc3QgYWxsVmFsdWVzID0gdGhpcy5yZXR1cm5WYWx1ZXMoZmllbGQsIHZhbHVlKTtcbiAgICAgIG5ld0ZpZWxkcy5zcGxpY2UoaW5kZXggLSAxLCAxLCBhbGxWYWx1ZXMpO1xuICAgICAgc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5WYWx1ZXMoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgY29uc3QgY2xhc3Nlc0dyaWRDb2x1bW5zID0gZ2V0R3JpZENvbHVtbnNDbGFzc2VzKFxuICAgICAgZmllbGQuZ3JpZENvbHVtbnMsXG4gICAgICBmaWVsZC5vZmZzZXRDb2x1bW5zLFxuICAgICAge1xuICAgICAgICBzbUdyaWQ6IGZpZWxkLmdyaWRTbUNvbHVtbnMsXG4gICAgICAgIG1kR3JpZDogZmllbGQuZ3JpZE1kQ29sdW1ucyxcbiAgICAgICAgbGdHcmlkOiBmaWVsZC5ncmlkTGdDb2x1bW5zLFxuICAgICAgICB4bEdyaWQ6IGZpZWxkLmdyaWRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtT2Zmc2V0OiBmaWVsZC5vZmZzZXRTbUNvbHVtbnMsXG4gICAgICAgIG1kT2Zmc2V0OiBmaWVsZC5vZmZzZXRNZENvbHVtbnMsXG4gICAgICAgIGxnT2Zmc2V0OiBmaWVsZC5vZmZzZXRMZ0NvbHVtbnMsXG4gICAgICAgIHhsT2Zmc2V0OiBmaWVsZC5vZmZzZXRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtUHVsbDogZmllbGQuZ3JpZFNtUHVsbCxcbiAgICAgICAgbWRQdWxsOiBmaWVsZC5ncmlkTWRQdWxsLFxuICAgICAgICBsZ1B1bGw6IGZpZWxkLmdyaWRMZ1B1bGwsXG4gICAgICAgIHhsUHVsbDogZmllbGQuZ3JpZFhsUHVsbFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHksXG4gICAgICB2YWx1ZSxcbiAgICAgIGxhYmVsOiB0aGlzLnRpdGxlQ2FzZVBpcGUudHJhbnNmb3JtKHByb3BlcnR5KSxcbiAgICAgIGNzc0NsYXNzOiBjbGFzc2VzR3JpZENvbHVtbnMsXG4gICAgICAuLi5maWVsZFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEJ5SWQodmFsdWU6IGFueSwgZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gJycpIHtcbiAgICAgIGlmIChmaWVsZC5vcHRpb25zTXVsdGkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RzQnlWYWx1ZXModmFsdWUsIGZpZWxkLnBhcmFtcylcbiAgICAgICAgICAucGlwZShtYXAocmVzID0+IHRoaXMudHJhbnNmb3JtQXJyYXlWYWx1ZShyZXMsIGZpZWxkKSkpXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RCeVZhbHVlKHZhbHVlLCBmaWVsZC5wYXJhbXMpXG4gICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLnRyYW5zZm9ybUFycmF5VmFsdWUocmVzLCBmaWVsZCkpKVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtQXJyYXlWYWx1ZSh2YWx1ZVByb3BlcnR5OiBhbnksIGZpZWxkOiBQb0R5bmFtaWNWaWV3RmllbGQpIHtcbiAgICBjb25zdCB2YWx1ZUFycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZVByb3BlcnR5KSA/IHZhbHVlUHJvcGVydHkgOiBbdmFsdWVQcm9wZXJ0eV07XG4gICAgbGV0IGxhYmVsczogQXJyYXk8c3RyaW5nPjtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLmZvcm1hdCkpIHtcbiAgICAgIGxhYmVscyA9IHZhbHVlQXJyYXkubWFwKG9iamVjdERhdGEgPT4gdGhpcy5mb3JtYXRGaWVsZChvYmplY3REYXRhLCBmaWVsZC5mb3JtYXQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYXJyYXlXaXRoTGFiZWwgPSB2YWx1ZUFycmF5Lm1hcChpdGVtID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtW2ZpZWxkLmZpZWxkVmFsdWVdIHx8IGl0ZW0udmFsdWUsXG4gICAgICAgIGxhYmVsOiBpdGVtW2ZpZWxkLmZpZWxkTGFiZWxdIHx8IGl0ZW0ubGFiZWxcbiAgICAgIH0pKTtcblxuICAgICAgbGFiZWxzID0gYXJyYXlXaXRoTGFiZWwubWFwKG9wdGlvblZhbHVlID0+IHtcbiAgICAgICAgaWYgKG9wdGlvblZhbHVlLmxhYmVsKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWxUcmFuZm9ybWVkID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCBvcHRpb25WYWx1ZS5sYWJlbCwgZmllbGQuZm9ybWF0KTtcbiAgICAgICAgICBpZiAoZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiBvcHRpb25WYWx1ZS52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke2xhYmVsVHJhbmZvcm1lZH0gLSAke29wdGlvblZhbHVlLnZhbHVlfWA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsYWJlbFRyYW5mb3JtZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWxzWzBdICE9PSB1bmRlZmluZWQgJiYgbGFiZWxzLmpvaW4oKSkge1xuICAgICAgcmV0dXJuIGxhYmVscy5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZVByb3BlcnR5ID0gJyc7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eTogc3RyaW5nLCBmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkKSB7XG4gICAgaWYgKGZpZWxkLmNvbmNhdExhYmVsVmFsdWUgJiYgZmllbGQuZmllbGRMYWJlbCAmJiBmaWVsZC5maWVsZFZhbHVlICYmICFmaWVsZC5pc0FycmF5T3JPYmplY3QpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKGZpZWxkLnR5cGUsIHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF0sIGZpZWxkLmZvcm1hdCk7XG4gICAgICByZXR1cm4gYCR7dHJhbnNmb3JtZWRWYWx1ZX0gLSAke3RoaXMudmFsdWVbZmllbGQuZmllbGRWYWx1ZV19YDtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQuZmllbGRMYWJlbCAmJiAhZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiAhZmllbGQuaXNBcnJheU9yT2JqZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlW3Byb3BlcnR5XSA9IHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybVZhbHVlKHR5cGU6IHN0cmluZywgdmFsdWUsIGZvcm1hdCkge1xuICAgIGxldCB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdCUkwnLCAnc3ltYm9sJywgJzEuMi0yJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdkZC9NTS95eXl5Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxuICAgICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCB8fCAnZGQvTU0veXl5eSBISDptbTpzcycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMudGltZVBpcGUudHJhbnNmb3JtKHZhbHVlLCBmb3JtYXQgfHwgJ0hIOm1tOnNzLmZmZmZmZicpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGQob2JqZWN0U2VsZWN0ZWQsIHByb3BlcnRpZXMpIHtcbiAgICBsZXQgZm9ybWF0dGVkRmllbGQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAob2JqZWN0U2VsZWN0ZWQgJiYgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldKSB7XG4gICAgICAgICAgaWYgKCFmb3JtYXR0ZWRGaWVsZCkge1xuICAgICAgICAgICAgZm9ybWF0dGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZEZpZWxkICs9ICcgLSAnICsgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVkRmllbGQ7XG4gIH1cbn1cbiJdfQ==
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy12aWV3LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWR5bmFtaWMvcG8tZHluYW1pYy12aWV3L3BvLWR5bmFtaWMtdmlldy1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdFLE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFNM0U7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBMkczQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0U7SUFDQTtJQUNBO0lBakhaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWdDRztJQUNjLElBQUksQ0FBb0I7SUFFekMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixPQUFPLENBQU07SUFFTCxPQUFPLEdBQThCLEVBQUUsQ0FBQztJQUN4QyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUNILElBQXVCLE1BQU0sQ0FBQyxNQUFpQztRQUM3RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFE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b250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9UaW1lUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3BvLXRpbWUvcG8tdGltZS5waXBlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGlzVHlwZW9mLCBzb3J0RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldEdyaWRDb2x1bW5zQ2xhc3NlcywgaXNWaXNpYmxlRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLnV0aWwnO1xuaW1wb3J0IHsgUG9EeW5hbWljVmlld0ZpZWxkIH0gZnJvbSAnLi9wby1keW5hbWljLXZpZXctZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY1ZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1keW5hbWljLXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvbWJvRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWNvbWJvL3BvLWNvbWJvLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tbXVsdGlzZWxlY3QvcG8tbXVsdGlzZWxlY3QtZmlsdGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgbGlzdGFyIGRhZG9zIGRpbmFtaWNhbWVudGUgYSBwYXJ0aXIgZGUgdW1hIGxpc3RhIGRlIG9iamV0b3MuXG4gKlxuICogPiBQb3IgcGFkcsOjbyBlc3NlIGNvbXBvbmVudGUgY3JpYSBgcG8taW5mb2AgcGFyYSBleGliacOnw6NvLCDDqSBwb3Nzw612ZWwgY3JpYXIgYHBvLXRhZ2AgcGFzc2FuZG8gYSBwcm9wcmllZGFkZSB7IHRhZzogdHJ1ZSB9LlxuICpcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9EeW5hbWljVmlld0Jhc2VDb21wb25lbnQge1xuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQb3NzaWJpbGl0YSBleGVjdXRhciB1bWEgZnVuw6fDo28gcXVhbmRvIG8gY29tcG9uZW50ZSDDqSBpbmljaWFsaXphZG8uXG4gICAqXG4gICAqIEEgcHJvcHJpZWRhZGUgYWNlaXRhIG9zIHNlZ3VpbnRlcyB0aXBvczpcbiAgICogLSAqKlN0cmluZyoqOiBFbmRwb2ludCB1c2FkbyBwZWxvIGNvbXBvbmVudGUgcGFyYSByZXF1aXNpw6fDo28gdmlhIGBQT1NUYC5cbiAgICogLSAqKkZ1bmN0aW9uKio6IE3DqXRvZG8gcXVlIHNlcsOhIGV4ZWN1dGFkbyBuYSBpbmljaWFsaXphw6fDo28gZG8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSBvcyBkb2lzIHRpcG9zIGRlIHV0aWxpemHDp8OjbyBkYSBwcm9wcmllZGFkZSBlc3BlcmEtc2UgbyBzZWd1aW50ZSByZXRvcm5vOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgIHZhbHVlOiB7XG4gICAqICAgICBjbnBqOiAnKioqKioqKioqKioqKionLCAvLyBhbHRlcmEgdmFsb3IgZG8gY2FtcG9cbiAgICogICAgIHVwZGF0ZWQ6IChuZXcgRGF0ZSgpKS50b1N0cmluZygpIC8vIGF0cmlidWkgdmFsb3IgYW8gY2FtcG8gbm92b1xuICAgKiAgIH0sXG4gICAqICAgZmllbGRzOiBbXG4gICAqICAgICB7IHByb3BlcnR5OiAnY25waicsIHRhZzogdHJ1ZSwgaW52ZXJzZTogdHJ1ZSB9LCAvLyBhdHJpYnVpIG5vdmFzIHByb3ByaWVkYWRlcyBhbyBmaWVsZFxuICAgKiAgICAgeyBwcm9wZXJ0eTogJ3VwZGF0ZWQnLCB0YWc6IHRydWUgfSAvLyBpbmNsdWkgY2FtcG8gbm92b1xuICAgKiAgIF1cbiAgICogfVxuICAgKiBgYGBcbiAgICogPiAqKnZhbHVlKio6IGFueSA9IGF0cmlidWkgbm92byB2YWxvciBkbyBtb2RlbC5cbiAgICpcbiAgICogPiAqKmZpZWxkcyoqOiBgQXJyYXk8UG9EeW5hbWljVmlld0ZpZWxkPmAgPSBMaXN0YSBkZSBjYW1wb3MgcXVlIGRlc2VqYSBhbHRlcmFyIGFzIHByb3ByaWVkYWRlcyxcbiAgICogY2FzbyBlbnZpYXIgdW0gY2FtcG8gYSBtYWlzIHNlcsOhIGNyaWFkbyB1bSBub3ZvIGNhbXBvLlxuICAgKlxuICAgKiAtIFBhcmEgZXNjb25kZXIvcmVtb3ZlciBjYW1wb3MgcHJlY2lzYSBpbmZvcm1hciBubyBmaWVsZCBhIHByb3ByaWVkYWRlIGB2aXNpYmxlID0gZmFsc2VgLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCdwLWxvYWQnKSBsb2FkOiBzdHJpbmcgfCBGdW5jdGlvbjtcblxuICB2aXNpYmxlRmllbGRzID0gW107XG4gIHNlcnZpY2U6IGFueTtcblxuICBwcml2YXRlIF9maWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gPSBbXTtcbiAgcHJpdmF0ZSBfc2hvd0FsbFZhbHVlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3ZhbHVlID0ge307XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvRHluYW1pY1ZpZXdgLlxuICAgKlxuICAgKiA+IEV4OiBgWyB7IHByb3BlcnR5OiAnYWdlJyB9IF1gXG4gICAqXG4gICAqIFJlZ3JhcyBkZSB0aXBhZ2VtIGUgZm9ybWF0YcOnw6NvIGRvcyB2YWxvcmVzIGV4aWJpZG9zOlxuICAgKlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmN1cnJlbmN5KiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSBcIidCUkwnLCAnc3ltYm9sJywgJzEuMi0yJ1wiXG4gICAqIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKmRhdGUqIGUgbsOjbyBzZWphIGluZm9ybWFkbyBvICpmb3JtYXQqIG8gbWVzbW8gcmVjZWJlICdkZC9NTS95eXl5JyBjb21vIGZvcm1hdG8gcGFkcsOjby5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICpkYXRlVGltZSogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyByZWNlYmUgJ2RkL01NL3l5eXkgSEg6bW06c3MnIGNvbW8gZm9ybWF0byBwYWRyw6NvLlxuICAgKiAtIENhc28gbyAqdHlwZSogaW5mb3JtYWRvIHNlamEgKm51bWJlciogZSBuw6NvIHNlamEgaW5mb3JtYWRvIG8gKmZvcm1hdCogbyBtZXNtbyBuw6NvIHNlcsOhIGZvcm1hdGFkby5cbiAgICogLSBDYXNvIG8gKnR5cGUqIGluZm9ybWFkbyBzZWphICp0aW1lKiBlIG7Do28gc2VqYSBpbmZvcm1hZG8gbyAqZm9ybWF0KiBvIG1lc21vIHJlY2ViZSAnSEg6bW06c3MuZmZmZmZmJyBjb21vIGZvcm1hdG8gcGFkcsOjby5cbiAgICpcbiAgICogPiBBcyBwcm9wcmllZGFkZXMgaW5mb3JtYWRhcyBzZXLDo28gZXhpYmlkYXMgbWVzbW8gbsOjbyBjb250ZW5kbyB2YWxvciBkZSByZWZlcsOqbmNpYSBubyBvYmpldG8gZGEgcHJvcHJpZWRhZGUgYHAtdmFsdWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgW11gXG4gICAqL1xuICBASW5wdXQoJ3AtZmllbGRzJykgc2V0IGZpZWxkcyhmaWVsZHM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4pIHtcbiAgICB0aGlzLl9maWVsZHMgPSBBcnJheS5pc0FycmF5KGZpZWxkcykgPyBbLi4uZmllbGRzXSA6IFtdO1xuICB9XG5cbiAgZ2V0IGZpZWxkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIGV4aWJpcsOhIHRvZGFzIGFzIGluZm9ybWHDp8O1ZXMgY29udGlkYXMgZGVudHJvIGRvIG9iamV0byBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHAtdmFsdWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3Atc2hvdy1hbGwtdmFsdWUnKSBzZXQgc2hvd0FsbFZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0FsbFZhbHVlID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2hvd0FsbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93QWxsVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgdXRpbGl6YWRvIHBhcmEgZXhpYmlyIGFzIGluZm9ybWHDp8O1ZXMgZGluw6JtaWNhcywgbyB2YWxvciBzZXLDoSByZWN1cGVyYWRvIGF0cmF2w6lzIGRvIGF0cmlidXRvICpwcm9wZXJ0eSpcbiAgICogZG9zIG9iamV0b3MgY29udGlkb3MgbmEgcHJvcHJpZGFkZSBgcC1maWVsZHNgLlxuICAgKlxuICAgKiA+IEV4OiBgeyBhZ2U6ICczNScgfWBcbiAgICovXG4gIEBJbnB1dCgncC12YWx1ZScpIHNldCB2YWx1ZSh2YWx1ZTogb2JqZWN0KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSAmJiBpc1R5cGVvZih2YWx1ZSwgJ29iamVjdCcpID8gdmFsdWUgOiB7fTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgIHByaXZhdGUgdGltZVBpcGU6IFBvVGltZVBpcGUsXG4gICAgcHJpdmF0ZSB0aXRsZUNhc2VQaXBlOiBUaXRsZUNhc2VQaXBlLFxuICAgIHByb3RlY3RlZCBkeW5hbWljVmlld1NlcnZpY2U6IFBvRHluYW1pY1ZpZXdTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb21ib0ZpbHRlclNlcnZpY2U6IFBvQ29tYm9GaWx0ZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtdWx0aXNlbGVjdEZpbHRlclNlcnZpY2U6IFBvTXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwcm90ZWN0ZWQgZ2V0RmllbGRPcmRlcihmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9zaXRpb24gPSBpbmRleCArIDE7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzLmZpbmRJbmRleChlID0+IGUub3JkZXIgPT09IHBvc2l0aW9uKSA+IC0xID8gdGhpcy5nZXRGaWVsZE9yZGVyKGZpZWxkLCBwb3NpdGlvbikgOiBwb3NpdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb25maWd1cmVkRmllbGRzKHVzZVNlYXJjaFNlcnZpY2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbmV3RmllbGRzID0gW107XG5cbiAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgIGZpZWxkLm9yZGVyID0gZmllbGQub3JkZXIgfHwgdGhpcy5nZXRGaWVsZE9yZGVyKGZpZWxkLCBpbmRleCk7XG5cbiAgICAgIGlmICghaXNWaXNpYmxlRmllbGQoZmllbGQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmaWVsZC5zZWFyY2hTZXJ2aWNlICYmICFmaWVsZC5vcHRpb25zU2VydmljZSkge1xuICAgICAgICBuZXdGaWVsZHMucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKGZpZWxkKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFzVmFsdWUgPVxuICAgICAgICB0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XT8ubGVuZ3RoIHx8XG4gICAgICAgICghQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSkgJiYgdGhpcy52YWx1ZVtmaWVsZC5wcm9wZXJ0eV0gJiYgdXNlU2VhcmNoU2VydmljZSk7XG5cbiAgICAgIGlmIChoYXNWYWx1ZSkge1xuICAgICAgICBjb25zdCBfZmllbGQgPSB0aGlzLnJldHVyblZhbHVlcyh7IC4uLmZpZWxkIH0sICcnKTtcbiAgICAgICAgbmV3RmllbGRzLnB1c2goX2ZpZWxkKTtcblxuICAgICAgICBpZiAoZmllbGQuc2VhcmNoU2VydmljZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQuc2VhcmNoU2VydmljZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IGZpZWxkLnNlYXJjaFNlcnZpY2UgYXMgUG9EeW5hbWljVmlld1NlcnZpY2U7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmllbGQuc2VhcmNoU2VydmljZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNldENvbmZpZyhmaWVsZC5zZWFyY2hTZXJ2aWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQub3B0aW9uc1NlcnZpY2UpIHtcbiAgICAgICAgICBpZiAoZmllbGQub3B0aW9uc011bHRpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkLm9wdGlvbnNTZXJ2aWNlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UgPSBmaWVsZC5vcHRpb25zU2VydmljZSBhcyBQb011bHRpc2VsZWN0RmlsdGVyU2VydmljZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IHRoaXMubXVsdGlzZWxlY3RGaWx0ZXJTZXJ2aWNlO1xuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuY29uZmlnUHJvcGVydGllcyhmaWVsZC5vcHRpb25zU2VydmljZSwgZmllbGQuZmllbGRMYWJlbCwgZmllbGQuZmllbGRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQub3B0aW9uc1NlcnZpY2UgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZSA9IGZpZWxkLm9wdGlvbnNTZXJ2aWNlIGFzIFBvQ29tYm9GaWx0ZXJTZXJ2aWNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5jb21ib0ZpbHRlclNlcnZpY2U7XG4gICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jb25maWdQcm9wZXJ0aWVzKGZpZWxkLm9wdGlvbnNTZXJ2aWNlLCBmaWVsZC5maWVsZExhYmVsLCBmaWVsZC5maWVsZFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZUZpZWxkV2l0aFNlcnZpY2UoZmllbGQsIG5ld0ZpZWxkcywgX2ZpZWxkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzb3J0RmllbGRzKG5ld0ZpZWxkcyk7XG4gIH1cblxuICAvLyByZXRvcm5hIGZpZWxkcyBsaWdhZG8gYW8gdmFsdWUgbWFpcyBvcyBhdHJpYnV0b3MgZG8gdmFsdWUgcXVlIG7Do28gcG9zc3VpYW0gZmllbGRzLlxuICBwcm90ZWN0ZWQgZ2V0TWVyZ2VkRmllbGRzKCkge1xuICAgIGNvbnN0IG1lcmdlZEZpZWxkcyA9IFsuLi50aGlzLmdldENvbmZpZ3VyZWRGaWVsZHMoKV07XG5cbiAgICB0aGlzLmdldFZhbHVlRmllbGRzKCkuZm9yRWFjaCh2YWx1ZUZpZWxkID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBtZXJnZWRGaWVsZHMuZmluZEluZGV4KGZpZWxkID0+IGZpZWxkLnByb3BlcnR5ID09PSB2YWx1ZUZpZWxkLnByb3BlcnR5KTtcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gdmFsdWVGaWVsZC5wcm9wZXJ0eTtcblxuICAgICAgaWYgKGZpZWxkSW5kZXggPT09IC0xKSB7XG4gICAgICAgIG1lcmdlZEZpZWxkcy5wdXNoKHRoaXMuY3JlYXRlRmllbGQoeyBwcm9wZXJ0eSB9KSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVyZ2VkRmllbGRzO1xuICB9XG5cbiAgLy8gcmV0b3JuYSBvIG9iamV0byB2YWx1ZSBjb21vIGZpZWxkcy5cbiAgcHJvdGVjdGVkIGdldFZhbHVlRmllbGRzKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKS5tYXAocHJvcGVydHkgPT4gdGhpcy5jcmVhdGVGaWVsZCh7IHByb3BlcnR5IH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgbGV0IHZhbHVlO1xuICAgIGlmIChmaWVsZC5pc0FycmF5T3JPYmplY3QgJiYgdGhpcy52YWx1ZVtwcm9wZXJ0eV0pIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cmFuc2Zvcm1BcnJheVZhbHVlKHRoaXMudmFsdWVbcHJvcGVydHldLCBmaWVsZCk7XG4gICAgfSBlbHNlIGlmIChmaWVsZC5maWVsZExhYmVsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eSwgZmllbGQpO1xuICAgIH1cblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCB0aGlzLnZhbHVlW3Byb3BlcnR5XSwgZmllbGQuZm9ybWF0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZXMoZmllbGQsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmllbGRXaXRoU2VydmljZShmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkLCBuZXdGaWVsZHM/LCBvbGRGaWVsZD8pIHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IGZpZWxkLnByb3BlcnR5O1xuXG4gICAgdGhpcy5zZWFyY2hCeUlkKHRoaXMudmFsdWVbcHJvcGVydHldLCBmaWVsZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVzcG9uc2U7XG4gICAgICBjb25zdCBhbGxWYWx1ZXMgPSB0aGlzLnJldHVyblZhbHVlcyhmaWVsZCwgdmFsdWUpO1xuICAgICAgY29uc3Qgb2xkRmllbGRJbmRleCA9IG5ld0ZpZWxkcy5pbmRleE9mKG5ld0ZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkID09PSBvbGRGaWVsZCkpO1xuICAgICAgbmV3RmllbGRzLnNwbGljZShvbGRGaWVsZEluZGV4LCAxLCBhbGxWYWx1ZXMpO1xuICAgICAgc29ydEZpZWxkcyhuZXdGaWVsZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5WYWx1ZXMoZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCwgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZmllbGQucHJvcGVydHk7XG4gICAgY29uc3QgY2xhc3Nlc0dyaWRDb2x1bW5zID0gZ2V0R3JpZENvbHVtbnNDbGFzc2VzKFxuICAgICAgZmllbGQuZ3JpZENvbHVtbnMsXG4gICAgICBmaWVsZC5vZmZzZXRDb2x1bW5zLFxuICAgICAge1xuICAgICAgICBzbUdyaWQ6IGZpZWxkLmdyaWRTbUNvbHVtbnMsXG4gICAgICAgIG1kR3JpZDogZmllbGQuZ3JpZE1kQ29sdW1ucyxcbiAgICAgICAgbGdHcmlkOiBmaWVsZC5ncmlkTGdDb2x1bW5zLFxuICAgICAgICB4bEdyaWQ6IGZpZWxkLmdyaWRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtT2Zmc2V0OiBmaWVsZC5vZmZzZXRTbUNvbHVtbnMsXG4gICAgICAgIG1kT2Zmc2V0OiBmaWVsZC5vZmZzZXRNZENvbHVtbnMsXG4gICAgICAgIGxnT2Zmc2V0OiBmaWVsZC5vZmZzZXRMZ0NvbHVtbnMsXG4gICAgICAgIHhsT2Zmc2V0OiBmaWVsZC5vZmZzZXRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtUHVsbDogZmllbGQuZ3JpZFNtUHVsbCxcbiAgICAgICAgbWRQdWxsOiBmaWVsZC5ncmlkTWRQdWxsLFxuICAgICAgICBsZ1B1bGw6IGZpZWxkLmdyaWRMZ1B1bGwsXG4gICAgICAgIHhsUHVsbDogZmllbGQuZ3JpZFhsUHVsbFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHksXG4gICAgICB2YWx1ZSxcbiAgICAgIGxhYmVsOiB0aGlzLnRpdGxlQ2FzZVBpcGUudHJhbnNmb3JtKHByb3BlcnR5KSxcbiAgICAgIGNzc0NsYXNzOiBjbGFzc2VzR3JpZENvbHVtbnMsXG4gICAgICAuLi5maWVsZFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEJ5SWQodmFsdWU6IGFueSwgZmllbGQ6IFBvRHluYW1pY1ZpZXdGaWVsZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gJycpIHtcbiAgICAgIGlmIChmaWVsZC5vcHRpb25zTXVsdGkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RzQnlWYWx1ZXModmFsdWUsIGZpZWxkLnBhcmFtcylcbiAgICAgICAgICAucGlwZShtYXAocmVzID0+IHRoaXMudHJhbnNmb3JtQXJyYXlWYWx1ZShyZXMsIGZpZWxkKSkpXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RCeVZhbHVlKHZhbHVlLCBmaWVsZC5wYXJhbXMpXG4gICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLnRyYW5zZm9ybUFycmF5VmFsdWUocmVzLCBmaWVsZCkpKVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtQXJyYXlWYWx1ZSh2YWx1ZVByb3BlcnR5OiBhbnksIGZpZWxkOiBQb0R5bmFtaWNWaWV3RmllbGQpIHtcbiAgICBjb25zdCB2YWx1ZUFycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZVByb3BlcnR5KSA/IHZhbHVlUHJvcGVydHkgOiBbdmFsdWVQcm9wZXJ0eV07XG4gICAgbGV0IGxhYmVsczogQXJyYXk8c3RyaW5nPjtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLmZvcm1hdCkpIHtcbiAgICAgIGxhYmVscyA9IHZhbHVlQXJyYXkubWFwKG9iamVjdERhdGEgPT4gdGhpcy5mb3JtYXRGaWVsZChvYmplY3REYXRhLCBmaWVsZC5mb3JtYXQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYXJyYXlXaXRoTGFiZWwgPSB2YWx1ZUFycmF5Lm1hcChpdGVtID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtW2ZpZWxkLmZpZWxkVmFsdWVdIHx8IGl0ZW0udmFsdWUsXG4gICAgICAgIGxhYmVsOiBpdGVtW2ZpZWxkLmZpZWxkTGFiZWxdIHx8IGl0ZW0ubGFiZWxcbiAgICAgIH0pKTtcblxuICAgICAgbGFiZWxzID0gYXJyYXlXaXRoTGFiZWwubWFwKG9wdGlvblZhbHVlID0+IHtcbiAgICAgICAgaWYgKG9wdGlvblZhbHVlLmxhYmVsKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWxUcmFuZm9ybWVkID0gdGhpcy50cmFuc2Zvcm1WYWx1ZShmaWVsZC50eXBlLCBvcHRpb25WYWx1ZS5sYWJlbCwgZmllbGQuZm9ybWF0KTtcbiAgICAgICAgICBpZiAoZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiBvcHRpb25WYWx1ZS52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke2xhYmVsVHJhbmZvcm1lZH0gLSAke29wdGlvblZhbHVlLnZhbHVlfWA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsYWJlbFRyYW5mb3JtZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWxzWzBdICE9PSB1bmRlZmluZWQgJiYgbGFiZWxzLmpvaW4oKSkge1xuICAgICAgcmV0dXJuIGxhYmVscy5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZVByb3BlcnR5ID0gJyc7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtRmllbGRMYWJlbChwcm9wZXJ0eTogc3RyaW5nLCBmaWVsZDogUG9EeW5hbWljVmlld0ZpZWxkKSB7XG4gICAgaWYgKGZpZWxkLmNvbmNhdExhYmVsVmFsdWUgJiYgZmllbGQuZmllbGRMYWJlbCAmJiBmaWVsZC5maWVsZFZhbHVlICYmICFmaWVsZC5pc0FycmF5T3JPYmplY3QpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKGZpZWxkLnR5cGUsIHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF0sIGZpZWxkLmZvcm1hdCk7XG4gICAgICByZXR1cm4gYCR7dHJhbnNmb3JtZWRWYWx1ZX0gLSAke3RoaXMudmFsdWVbZmllbGQuZmllbGRWYWx1ZV19YDtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQuZmllbGRMYWJlbCAmJiAhZmllbGQuY29uY2F0TGFiZWxWYWx1ZSAmJiAhZmllbGQuaXNBcnJheU9yT2JqZWN0KSB7XG4gICAgICB0aGlzLnZhbHVlW3Byb3BlcnR5XSA9IHRoaXMudmFsdWVbZmllbGQuZmllbGRMYWJlbF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zZm9ybVZhbHVlKHR5cGU6IHN0cmluZywgdmFsdWUsIGZvcm1hdCkge1xuICAgIGxldCB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdCUkwnLCAnc3ltYm9sJywgJzEuMi0yJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0IHx8ICdkZC9NTS95eXl5Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxuICAgICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCB8fCAnZGQvTU0veXl5eSBISDptbTpzcycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHRoaXMudGltZVBpcGUudHJhbnNmb3JtKHZhbHVlLCBmb3JtYXQgfHwgJ0hIOm1tOnNzLmZmZmZmZicpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGQob2JqZWN0U2VsZWN0ZWQsIHByb3BlcnRpZXMpIHtcbiAgICBsZXQgZm9ybWF0dGVkRmllbGQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAob2JqZWN0U2VsZWN0ZWQgJiYgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldKSB7XG4gICAgICAgICAgaWYgKCFmb3JtYXR0ZWRGaWVsZCkge1xuICAgICAgICAgICAgZm9ybWF0dGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZEZpZWxkICs9ICcgLSAnICsgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVkRmllbGQ7XG4gIH1cbn1cbiJdfQ==
@@ -131,7 +131,7 @@ export class PoPageSlideComponent extends PoPageSlideBaseComponent {
131
131
  }
132
132
  else {
133
133
  const elements = getFocusableElements(this.pageContent.nativeElement);
134
- const element = elements[1] || this.pageContent.nativeElement;
134
+ const element = elements[0] || this.pageContent.nativeElement;
135
135
  element.focus();
136
136
  }
137
137
  }
@@ -193,4 +193,4 @@ export class PoPageSlideComponent extends PoPageSlideBaseComponent {
193
193
  args: ['pageContent', { read: ElementRef }]
194
194
  }] }); })();
195
195
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageSlideComponent, { className: "PoPageSlideComponent", filePath: "lib/components/po-page/po-page-slide/po-page-slide.component.ts", lineNumber: 52 }); })();
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1zbGlkZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS9wby1wYWdlLXNsaWRlL3BvLXBhZ2Utc2xpZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1zbGlkZS9wby1wYWdlLXNsaWRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztJQ0doRSwrQkFBcUQ7SUFBQSxZQUFjO0lBQUEsaUJBQU07OztJQUFwQixjQUFjO0lBQWQscUNBQWM7Ozs7SUFFckUscUNBQTJGO0lBQXBCLHNMQUFXLGVBQUEsY0FBTyxDQUFBLElBQUM7SUFBRSxpQkFBWTs7Ozs7SUFiaEgsOEJBQWdFLGFBQUE7SUFDM0IsNEtBQWEsZUFBQSx5QkFBa0IsQ0FBQSxJQUFDO0lBQUMsaUJBQU07SUFDMUUsOEJBSUMsZ0JBQUEsYUFBQSxhQUFBLFdBQUE7SUFJYSxZQUFXO0lB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LFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hHLENBQUM7b0JBQ0YsT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDZixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzs0QkFDeEMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO3lCQUMzRCxDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNuRixDQUFDO2lCQUNIO3VEQVltRCxXQUFXO2tCQUE5RCxTQUFTO21CQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O2tGQVZuQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRlQ2hpbGQsIGdyb3VwLCBxdWVyeSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlRWxlbWVudHMsIHV1aWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9BY3RpdmVPdmVybGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWFjdGl2ZS1vdmVybGF5L3BvLWFjdGl2ZS1vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlU2xpZGVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLXNsaWRlLWJhc2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlU2xpZGVCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1zbGlkZS1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBTbGlkZSBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1zbGlkZS1iYXNpYy9zYW1wbGUtcG8tcGFnZS1zbGlkZS1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWJhc2ljL3NhbXBsZS1wby1wYWdlLXNsaWRlLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2Utc2xpZGUtbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBTbGlkZSBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWxhYnMvc2FtcGxlLXBvLXBhZ2Utc2xpZGUtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWxhYnMvc2FtcGxlLXBvLXBhZ2Utc2xpZGUtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLXNsaWRlLWNvbmZpZ3VyYXRpb25cIiB0aXRsZT1cIlBPIFBhZ2UgU2xpZGUgLSBDb25maWd1cmF0aW9uXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWNvbmZpZ3VyYXRpb24vc2FtcGxlLXBvLXBhZ2Utc2xpZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWNvbmZpZ3VyYXRpb24vc2FtcGxlLXBvLXBhZ2Utc2xpZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLXNsaWRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXBhZ2Utc2xpZGUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBncm91cChbYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLCBxdWVyeSgnQHNsaWRlJywgYW5pbWF0ZUNoaWxkKCkpXSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgZ3JvdXAoW3F1ZXJ5KCdAc2xpZGUnLCBhbmltYXRlQ2hpbGQoKSksIGFuaW1hdGUoJzE1MG1zJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKV0pKVxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3NsaWRlJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoNTBweCknIH0pLFxuICAgICAgICBhbmltYXRlKCc2OTFtcyBlYXNlLWluLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAnbm9uZScgfSkpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCg1MHB4KScgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZVNsaWRlQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlU2xpZGVCYXNlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfcGFnZUNvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBmaXJzdEVsZW1lbnQ6IGFueTtcbiAgcHJpdmF0ZSBpZDogc3RyaW5nID0gdXVpZCgpO1xuICBwcml2YXRlIGxvYWRpbmdDb21wbGV0ZWQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHNvdXJjZUVsZW1lbnQ6IGFueTtcblxuICBwcml2YXRlIGZvY3VzRXZlbnQ6IEV2ZW50TGlzdGVuZXI7XG5cbiAgQFZpZXdDaGlsZCgncGFnZUNvbnRlbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2V0IHBhZ2VDb250ZW50KHBhZ2VDb250ZW50OiBFbGVtZW50UmVmKSB7XG4gICAgaWYgKHBhZ2VDb250ZW50KSB7XG4gICAgICB0aGlzLl9wYWdlQ29udGVudCA9IHBhZ2VDb250ZW50O1xuICAgICAgdGhpcy5sb2FkaW5nQ29tcGxldGVkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcGFnZUNvbnRlbnQoKTogRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VDb250ZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlOiBQb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgc3VwZXIub3BlbigpO1xuICAgIHRoaXMubG9hZGluZ0NvbXBsZXRlZC5waXBlKHRha2UoMSkpLnBpcGUoZGVsYXkoMCkpLnN1YnNjcmliZSh0aGlzLmhhbmRsZUZvY3VzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucG9BY3RpdmVPdmVybGF5U2VydmljZS5hY3RpdmVPdmVybGF5LnBvcCgpO1xuICAgIHN1cGVyLmNsb3NlKCk7XG5cbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5zb3VyY2VFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbGlja091dChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsaWNrT3V0ICYmICF0aGlzLnBhZ2VDb250ZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlLmFjdGl2ZU92ZXJsYXkucHVzaCh0aGlzLmlkKTtcbiAgICB0aGlzLmxvYWRGaXJzdEVsZW1lbnQoKTtcbiAgICB0aGlzLmluaXRGb2N1cygpO1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLmZvY3VzRXZlbnQsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9jdXMoKSB7XG4gICAgLy8gTyBmb2NvIG7Do28gcG9kZSBzYWlyIGRhIHDDoWdpbmEuXG4gICAgdGhpcy5mb2N1c0V2ZW50ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5wYWdlQ29udGVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgdGhpcy5wb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlLmFjdGl2ZU92ZXJsYXlbdGhpcy5wb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlLmFjdGl2ZU92ZXJsYXkubGVuZ3RoIC0gMV0gPT09IHRoaXMuaWRcbiAgICAgICkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5maXJzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaGlkZUNsb3NlKSB7XG4gICAgICB0aGlzLmZpcnN0RWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKHRoaXMucGFnZUNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbMV0gfHwgdGhpcy5wYWdlQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEZpcnN0RWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpcnN0RWxlbWVudCA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKHRoaXMucGFnZUNvbnRlbnQubmF0aXZlRWxlbWVudClbMF0gfHwgdGhpcy5wYWdlQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNFdmVudCwgdHJ1ZSk7XG4gICAgdGhpcy5sb2FkaW5nQ29tcGxldGVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlXCIgdGFiaW5kZXg9XCIwXCIgKm5nSWY9XCIhaGlkZGVuXCIgW0BmYWRlXT5cbiAgPGRpdiBjbGFzcz1cInBvLXBhZ2Utc2xpZGUtb3ZlcmxheVwiIChtb3VzZWRvd24pPVwib25DbGlja091dCgkZXZlbnQpXCI+PC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvLXBhZ2Utc2xpZGUtY29udGFpbmVyIHBvLXBhZ2Utc2xpZGUtcmlnaHQgcG8tcGFnZS1zbGlkZS17eyBzaXplIH19XCJcbiAgICBbQHNsaWRlXVxuICAgIFtuZ1N0eWxlXT1cInsgJ3dpZHRoJzogZmxleGlibGVXaWR0aCA/ICcnIDogc2l6ZSA9PT0gJ2F1dG8nID8gJ2F1dG8nIDogJycgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1zbGlkZS1jb250ZW50XCIgdGFiaW5kZXg9XCItMVwiICNwYWdlQ29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1zbGlkZS10aXRsZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlLXN1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cG8tYnV0dG9uICpuZ0lmPVwiIWhpZGVDbG9zZVwiIHAtaWNvbj1cInBvLWljb24tY2xvc2VcIiBwLWtpbmQ9XCJ0ZXJ0aWFyeVwiIChwLWNsaWNrKT1cImNsb3NlKClcIj4gPC9wby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1zbGlkZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS9wby1wYWdlLXNsaWRlL3BvLXBhZ2Utc2xpZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1zbGlkZS9wby1wYWdlLXNsaWRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztJQ0doRSwrQkFBcUQ7SUFBQSxZQUFjO0lBQUEsaUJBQU07OztJQUFwQixjQUFjO0lBQWQscUNBQWM7Ozs7SUFFckUscUNBQTJGO0lBQXBCLHNMQUFXLGVBQUEsY0FBTyxDQUFBLElBQUM7SUFBRSxpQkFBWTs7Ozs7SUFiaEgsOEJBQWdFLGFBQUE7SUFDM0IsNEtBQWEsZUFBQSx5QkFBa0IsQ0FBQSxJQUFDO0lBQUMsaUJBQU07SUFDMUUsOEJBSUMsZ0JBQUEsYUFBQSxhQUFBLFdBQUE7SUFJYSxZQUFXO0lB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LFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hHLENBQUM7b0JBQ0YsT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDZixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzs0QkFDeEMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO3lCQUMzRCxDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNuRixDQUFDO2lCQUNIO3VEQVltRCxXQUFXO2tCQUE5RCxTQUFTO21CQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O2tGQVZuQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRlQ2hpbGQsIGdyb3VwLCBxdWVyeSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlRWxlbWVudHMsIHV1aWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9BY3RpdmVPdmVybGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWFjdGl2ZS1vdmVybGF5L3BvLWFjdGl2ZS1vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlU2xpZGVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLXNsaWRlLWJhc2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlU2xpZGVCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1zbGlkZS1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBTbGlkZSBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1zbGlkZS1iYXNpYy9zYW1wbGUtcG8tcGFnZS1zbGlkZS1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWJhc2ljL3NhbXBsZS1wby1wYWdlLXNsaWRlLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2Utc2xpZGUtbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBTbGlkZSBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWxhYnMvc2FtcGxlLXBvLXBhZ2Utc2xpZGUtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWxhYnMvc2FtcGxlLXBvLXBhZ2Utc2xpZGUtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLXNsaWRlLWNvbmZpZ3VyYXRpb25cIiB0aXRsZT1cIlBPIFBhZ2UgU2xpZGUgLSBDb25maWd1cmF0aW9uXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWNvbmZpZ3VyYXRpb24vc2FtcGxlLXBvLXBhZ2Utc2xpZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLXNsaWRlLWNvbmZpZ3VyYXRpb24vc2FtcGxlLXBvLXBhZ2Utc2xpZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLXNsaWRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXBhZ2Utc2xpZGUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBncm91cChbYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLCBxdWVyeSgnQHNsaWRlJywgYW5pbWF0ZUNoaWxkKCkpXSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgZ3JvdXAoW3F1ZXJ5KCdAc2xpZGUnLCBhbmltYXRlQ2hpbGQoKSksIGFuaW1hdGUoJzE1MG1zJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKV0pKVxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3NsaWRlJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoNTBweCknIH0pLFxuICAgICAgICBhbmltYXRlKCc2OTFtcyBlYXNlLWluLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAnbm9uZScgfSkpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCg1MHB4KScgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZVNsaWRlQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlU2xpZGVCYXNlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfcGFnZUNvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBmaXJzdEVsZW1lbnQ6IGFueTtcbiAgcHJpdmF0ZSBpZDogc3RyaW5nID0gdXVpZCgpO1xuICBwcml2YXRlIGxvYWRpbmdDb21wbGV0ZWQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHNvdXJjZUVsZW1lbnQ6IGFueTtcblxuICBwcml2YXRlIGZvY3VzRXZlbnQ6IEV2ZW50TGlzdGVuZXI7XG5cbiAgQFZpZXdDaGlsZCgncGFnZUNvbnRlbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2V0IHBhZ2VDb250ZW50KHBhZ2VDb250ZW50OiBFbGVtZW50UmVmKSB7XG4gICAgaWYgKHBhZ2VDb250ZW50KSB7XG4gICAgICB0aGlzLl9wYWdlQ29udGVudCA9IHBhZ2VDb250ZW50O1xuICAgICAgdGhpcy5sb2FkaW5nQ29tcGxldGVkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcGFnZUNvbnRlbnQoKTogRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VDb250ZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlOiBQb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgc3VwZXIub3BlbigpO1xuICAgIHRoaXMubG9hZGluZ0NvbXBsZXRlZC5waXBlKHRha2UoMSkpLnBpcGUoZGVsYXkoMCkpLnN1YnNjcmliZSh0aGlzLmhhbmRsZUZvY3VzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucG9BY3RpdmVPdmVybGF5U2VydmljZS5hY3RpdmVPdmVybGF5LnBvcCgpO1xuICAgIHN1cGVyLmNsb3NlKCk7XG5cbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5zb3VyY2VFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbGlja091dChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsaWNrT3V0ICYmICF0aGlzLnBhZ2VDb250ZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlLmFjdGl2ZU92ZXJsYXkucHVzaCh0aGlzLmlkKTtcbiAgICB0aGlzLmxvYWRGaXJzdEVsZW1lbnQoKTtcbiAgICB0aGlzLmluaXRGb2N1cygpO1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLmZvY3VzRXZlbnQsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9jdXMoKSB7XG4gICAgLy8gTyBmb2NvIG7Do28gcG9kZSBzYWlyIGRhIHDDoWdpbmEuXG4gICAgdGhpcy5mb2N1c0V2ZW50ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5wYWdlQ29udGVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgdGhpcy5wb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlLmFjdGl2ZU92ZXJsYXlbdGhpcy5wb0FjdGl2ZU92ZXJsYXlTZXJ2aWNlLmFjdGl2ZU92ZXJsYXkubGVuZ3RoIC0gMV0gPT09IHRoaXMuaWRcbiAgICAgICkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5maXJzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaGlkZUNsb3NlKSB7XG4gICAgICB0aGlzLmZpcnN0RWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKHRoaXMucGFnZUNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbMF0gfHwgdGhpcy5wYWdlQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEZpcnN0RWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpcnN0RWxlbWVudCA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKHRoaXMucGFnZUNvbnRlbnQubmF0aXZlRWxlbWVudClbMF0gfHwgdGhpcy5wYWdlQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNFdmVudCwgdHJ1ZSk7XG4gICAgdGhpcy5sb2FkaW5nQ29tcGxldGVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlXCIgdGFiaW5kZXg9XCIwXCIgKm5nSWY9XCIhaGlkZGVuXCIgW0BmYWRlXT5cbiAgPGRpdiBjbGFzcz1cInBvLXBhZ2Utc2xpZGUtb3ZlcmxheVwiIChtb3VzZWRvd24pPVwib25DbGlja091dCgkZXZlbnQpXCI+PC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvLXBhZ2Utc2xpZGUtY29udGFpbmVyIHBvLXBhZ2Utc2xpZGUtcmlnaHQgcG8tcGFnZS1zbGlkZS17eyBzaXplIH19XCJcbiAgICBbQHNsaWRlXVxuICAgIFtuZ1N0eWxlXT1cInsgJ3dpZHRoJzogZmxleGlibGVXaWR0aCA/ICcnIDogc2l6ZSA9PT0gJ2F1dG8nID8gJ2F1dG8nIDogJycgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1zbGlkZS1jb250ZW50XCIgdGFiaW5kZXg9XCItMVwiICNwYWdlQ29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1zbGlkZS10aXRsZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlLXN1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cG8tYnV0dG9uICpuZ0lmPVwiIWhpZGVDbG9zZVwiIHAtaWNvbj1cInBvLWljb24tY2xvc2VcIiBwLWtpbmQ9XCJ0ZXJ0aWFyeVwiIChwLWNsaWNrKT1cImNsb3NlKClcIj4gPC9wby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLXNsaWRlLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -18766,7 +18766,7 @@ class PoPageSlideComponent extends PoPageSlideBaseComponent {
18766
18766
  }
18767
18767
  else {
18768
18768
  const elements = getFocusableElements(this.pageContent.nativeElement);
18769
- const element = elements[1] || this.pageContent.nativeElement;
18769
+ const element = elements[0] || this.pageContent.nativeElement;
18770
18770
  element.focus();
18771
18771
  }
18772
18772
  }
@@ -40812,18 +40812,14 @@ class PoDynamicViewBaseComponent {
40812
40812
  this.comboFilterService = comboFilterService;
40813
40813
  this.multiselectFilterService = multiselectFilterService;
40814
40814
  }
40815
- /**
40816
- * Verifica se já existe algum outro campo com a order da posição dele no array,
40817
- * se houver ele adiciona +1 até achar uma proxima posição
40818
- */
40819
- getOrdertoField(field, index) {
40815
+ getFieldOrder(field, index) {
40820
40816
  const position = index + 1;
40821
- return this.fields.findIndex(e => e.order === position) > -1 ? this.getOrdertoField(field, position) : position;
40817
+ return this.fields.findIndex(e => e.order === position) > -1 ? this.getFieldOrder(field, position) : position;
40822
40818
  }
40823
40819
  getConfiguredFields(useSearchService = true) {
40824
40820
  const newFields = [];
40825
40821
  this.fields.forEach((field, index) => {
40826
- field.order = field.order || this.getOrdertoField(field, index);
40822
+ field.order = field.order || this.getFieldOrder(field, index);
40827
40823
  if (!isVisibleField(field)) {
40828
40824
  return;
40829
40825
  }
@@ -40834,8 +40830,8 @@ class PoDynamicViewBaseComponent {
40834
40830
  const hasValue = this.value[field.property]?.length ||
40835
40831
  (!Array.isArray(this.value[field.property]) && this.value[field.property] && useSearchService);
40836
40832
  if (hasValue) {
40837
- const tempField = this.returnValues({ ...field }, '');
40838
- newFields.push(this.createField(tempField));
40833
+ const _field = this.returnValues({ ...field }, '');
40834
+ newFields.push(_field);
40839
40835
  if (field.searchService) {
40840
40836
  if (typeof field.searchService === 'object') {
40841
40837
  this.service = field.searchService;
@@ -40865,8 +40861,7 @@ class PoDynamicViewBaseComponent {
40865
40861
  }
40866
40862
  }
40867
40863
  }
40868
- const indexUpdated = field.order;
40869
- this.createFieldWithService(field, newFields, indexUpdated);
40864
+ this.createFieldWithService(field, newFields, _field);
40870
40865
  }
40871
40866
  });
40872
40867
  return sortFields(newFields);
@@ -40901,12 +40896,13 @@ class PoDynamicViewBaseComponent {
40901
40896
  }
40902
40897
  return this.returnValues(field, value);
40903
40898
  }
40904
- createFieldWithService(field, newFields, index) {
40899
+ createFieldWithService(field, newFields, oldField) {
40905
40900
  const property = field.property;
40906
40901
  this.searchById(this.value[property], field).subscribe(response => {
40907
40902
  const value = response;
40908
40903
  const allValues = this.returnValues(field, value);
40909
- newFields.splice(index - 1, 1, allValues);
40904
+ const oldFieldIndex = newFields.indexOf(newFields.find(field => field === oldField));
40905
+ newFields.splice(oldFieldIndex, 1, allValues);
40910
40906
  sortFields(newFields);
40911
40907
  });
40912
40908
  }