@firestitch/list 12.9.0 → 12.10.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.
- package/app/classes/data-controller.d.ts +2 -1
- package/app/classes/reorder-controller.d.ts +5 -1
- package/app/components/body/body.component.d.ts +2 -2
- package/app/components/body/row/row.component.d.ts +2 -0
- package/app/directives/draggable-list/draggable-list.directive.d.ts +12 -3
- package/app/directives/draggable-row/draggable-row.directive.d.ts +2 -0
- package/app/interfaces/listconfig.interface.d.ts +1 -0
- package/bundles/firestitch-list.umd.js +170 -38
- package/bundles/firestitch-list.umd.js.map +1 -1
- package/esm2015/app/classes/data-controller.js +23 -2
- package/esm2015/app/classes/reorder-controller.js +7 -2
- package/esm2015/app/components/body/body.component.js +4 -4
- package/esm2015/app/components/body/row/row.component.js +13 -3
- package/esm2015/app/components/list/list.component.js +3 -3
- package/esm2015/app/directives/draggable-list/draggable-list.directive.js +97 -31
- package/esm2015/app/directives/draggable-row/draggable-row.directive.js +9 -1
- package/esm2015/app/interfaces/listconfig.interface.js +1 -1
- package/fesm2015/firestitch-list.js +148 -38
- package/fesm2015/firestitch-list.js.map +1 -1
- package/package.json +1 -1
|
@@ -192,7 +192,7 @@ export class DataController {
|
|
|
192
192
|
}
|
|
193
193
|
return !!removedRows.length;
|
|
194
194
|
}
|
|
195
|
-
swapRows(row1, row2) {
|
|
195
|
+
swapRows(row1, row2, selectedRows, isMultipleDrag = false) {
|
|
196
196
|
let tmpEl;
|
|
197
197
|
const rowsStack = this._rowsStack;
|
|
198
198
|
const row1GlobalIndex = rowsStack.indexOf(row1);
|
|
@@ -200,6 +200,24 @@ export class DataController {
|
|
|
200
200
|
tmpEl = rowsStack[row1GlobalIndex];
|
|
201
201
|
rowsStack[row1GlobalIndex] = rowsStack[row2GlobalIndex];
|
|
202
202
|
rowsStack[row2GlobalIndex] = tmpEl;
|
|
203
|
+
if (isMultipleDrag && Array.isArray(selectedRows)) {
|
|
204
|
+
if (!selectedRows.includes(row1)) {
|
|
205
|
+
selectedRows = [row1, ...selectedRows];
|
|
206
|
+
}
|
|
207
|
+
selectedRows
|
|
208
|
+
.filter((selectedRow) => {
|
|
209
|
+
return selectedRow !== row1;
|
|
210
|
+
})
|
|
211
|
+
.forEach((selectedRow) => {
|
|
212
|
+
const idx = rowsStack.indexOf(selectedRow);
|
|
213
|
+
rowsStack.splice(idx, 1);
|
|
214
|
+
});
|
|
215
|
+
const indexToInsertAfter = rowsStack.indexOf(tmpEl);
|
|
216
|
+
rowsStack.splice(indexToInsertAfter, 1);
|
|
217
|
+
selectedRows.forEach((selectedRow, offset) => {
|
|
218
|
+
rowsStack.splice(indexToInsertAfter + offset, 0, selectedRow);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
203
221
|
this._rowsStack = [...rowsStack];
|
|
204
222
|
}
|
|
205
223
|
destroy() {
|
|
@@ -213,6 +231,9 @@ export class DataController {
|
|
|
213
231
|
row.toggleRowExpandStatus();
|
|
214
232
|
this._updateVisibleRows();
|
|
215
233
|
}
|
|
234
|
+
finishReorder() {
|
|
235
|
+
this._updateVisibleRows();
|
|
236
|
+
}
|
|
216
237
|
_updateRowsStack(rows) {
|
|
217
238
|
this._destroyRowsStack();
|
|
218
239
|
if (this.groupEnabled) {
|
|
@@ -328,4 +349,4 @@ export class DataController {
|
|
|
328
349
|
}, []);
|
|
329
350
|
}
|
|
330
351
|
}
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL2RhdGEtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU1qRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR2hFLE1BQU0sT0FBTyxjQUFjO0lBdUJ6QjtRQXJCaUIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUMvQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7UUFDckMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVsRCxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBTXZCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS3RCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVsQyxDQUFDO0lBRWhCLElBQUksWUFBWTtRQUNk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QUFFO2dCQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hCO1lBRUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNMaXN0U3RhdGUgfSBmcm9tICcuLi9lbnVtcy9zdGF0ZS5lbnVtJztcbmltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi9lbnVtcy9yb3ctdHlwZS5lbnVtJztcbmltcG9ydCB7XG4gIEZzTGlzdEFic3RyYWN0Um93LFxuICBGc0xpc3RHcm91cENvbmZpZyxcbiAgRnNMaXN0VHJhY2tCeVRhcmdldFJvd0ZuXG59IGZyb20gJy4uL2ludGVyZmFjZXMvbGlzdGNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JvdXBSb3cgfSBmcm9tICcuLi9tb2RlbHMvcm93L2dyb3VwLXJvdyc7XG5pbXBvcnQgeyBDaGlsZFJvdyB9IGZyb20gJy4uL21vZGVscy9yb3cvY2hpbGQtcm93JztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuLi9tb2RlbHMvcm93L2dyb3VwLWZvb3Rlci1yb3cnO1xuXG5cbmV4cG9ydCBjbGFzcyBEYXRhQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmlzaWJsZVJvd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSb3dbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dzUmVtb3ZlZCQgPSBuZXcgU3ViamVjdDxSb3dbXT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVtb3RlUm93c0NoYW5nZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX3N0b3JlID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIF9yb3dzU3RhY2s6IFJvd1tdID0gW107XG4gIHByaXZhdGUgX29wZXJhdGlvbjogRnNMaXN0U3RhdGU7XG5cbiAgcHJpdmF0ZSBfZ3JvdXBCeUZuOiAocm93KSA9PiBhbnlbXTtcbiAgcHJpdmF0ZSBfZm9vdGVyUm93Rm46IChyb3csIGdyb3VwKSA9PiBib29sZWFuO1xuICBwcml2YXRlIF9jb21wYXJlQnlGbjogKGdyb3VwKSA9PiBhbnk7XG4gIHByaXZhdGUgX2luaXRpYWxFeHBhbmQgPSB0cnVlO1xuICBwcml2YXRlIF9ncm91cEVuYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9pbmZpbml0eVNjcm9sbEVuYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2xvYWRNb3JlRW5hYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF9oYXNEYXRhID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXQgdmlzaWJsZVJvd3MkKCkge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlUm93cyQ7XG4gIH1cblxuICBnZXQgdmlzaWJsZVJvd3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGVSb3dzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IHZpc2libGVSb3dzRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlUm93cy5tYXAoKHJvdykgPT4gcm93LmRhdGEpO1xuICB9XG5cbiAgZ2V0IHJvd3NTdGFjaygpIHtcbiAgICByZXR1cm4gdGhpcy5fcm93c1N0YWNrLnNsaWNlKCk7XG4gIH1cblxuICBnZXQgZ3JvdXBFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9ncm91cEVuYWJsZWQ7XG4gIH1cblxuICBzZXQgZ3JvdXBFbmFibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZ3JvdXBFbmFibGVkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgcmVtb3RlUm93c0NoYW5nZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW90ZVJvd3NDaGFuZ2UkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICk7XG4gIH1cblxuICBnZXQgcm93c1JlbW92ZWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9yb3dzUmVtb3ZlZCQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBoYXNEYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9oYXNEYXRhO1xuICB9XG5cbiAgZ2V0IG9wZXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uO1xuICB9XG5cbiAgc2V0IHZpc2libGVSb3dzKHZhbHVlOiBhbnlbXSkge1xuICAgIHRoaXMuX3Zpc2libGVSb3dzJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLl9oYXNEYXRhID0gdGhpcy52aXNpYmxlUm93cy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHZpc2libGVSb3dzQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZVJvd3MubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGhhc0dyb3VwcygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGFyZUJ5Rm4gJiYgdGhpcy5fZ3JvdXBCeUZuO1xuICB9XG5cbiAgZ2V0IHJlb3JkZXJEYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9yb3dzU3RhY2tcbiAgICAgIC5tYXAoKHJvdykgPT4gcm93LmdldFJlb3JkZXJEYXRhKCkpO1xuICB9XG5cbiAgcHVibGljIHNldEdyb3VwQ29uZmlnKGdyb3VwOiBGc0xpc3RHcm91cENvbmZpZykge1xuICAgIGlmIChncm91cCkge1xuICAgICAgdGhpcy5fZ3JvdXBCeUZuID0gZ3JvdXAuZ3JvdXBCeTtcbiAgICAgIHRoaXMuX2NvbXBhcmVCeUZuID0gZ3JvdXAuY29tcGFyZUJ5O1xuICAgICAgdGhpcy5fZm9vdGVyUm93Rm4gPSBncm91cC5mb290ZXIgfHwgKCgpID0+IGZhbHNlKTtcbiAgICAgIHRoaXMuX2luaXRpYWxFeHBhbmQgPSBncm91cC5pbml0aWFsRXhwYW5kID8/IHRydWU7XG5cbiAgICAgIC8vIGdyb3VwIG1vZGUgZW5hYmxlZCBieSBkZWZhdWx0XG4gICAgICB0aGlzLl9ncm91cEVuYWJsZWQgPSAoZ3JvdXAuZW5hYmxlZCAhPT0gdm9pZCAwKVxuICAgICAgICA/IGdyb3VwLmVuYWJsZWRcbiAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRBZGRpdGlvbmFsQ29uZmlncyhjb25maWdzOiB7IHNjcm9sbGFibGU6IGJvb2xlYW4sIGxvYWRNb3JlRW5hYmxlZDogYm9vbGVhbiB9KSB7XG4gICAgdGhpcy5faW5maW5pdHlTY3JvbGxFbmFibGVkID0gY29uZmlncy5zY3JvbGxhYmxlO1xuICAgIHRoaXMuX2xvYWRNb3JlRW5hYmxlZCA9IGNvbmZpZ3MubG9hZE1vcmVFbmFibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvd3Mgd2hhdCB3YXMgcmVjZWl2ZWQgZnJvbSBmZXRjaCBmdW5jdGlvblxuICAgKiBAcGFyYW0gcm93c1xuICAgKi9cbiAgcHVibGljIHNldFJvd3NGcm9tUmVzcG9uc2Uocm93czogYW55W10pIHtcbiAgICBpZiAodGhpcy5faW5maW5pdHlTY3JvbGxFbmFibGVkKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuX29wZXJhdGlvbikge1xuICAgICAgICBjYXNlIEZzTGlzdFN0YXRlLkZpbHRlcjpcbiAgICAgICAgY2FzZSBGc0xpc3RTdGF0ZS5SZWxvYWQ6XG4gICAgICAgIGNhc2UgRnNMaXN0U3RhdGUuU29ydDoge1xuICAgICAgICAgIHRoaXMuX3VwZGF0ZVJvd3NTdGFjayhyb3dzKTtcbiAgICAgICAgfSBicmVhaztcblxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgdGhpcy5fZXh0ZW5kUm93c1N0YWNrKHJvd3MpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3JlbW90ZVJvd3NDaGFuZ2UkLm5leHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9vcGVyYXRpb24gPT09IEZzTGlzdFN0YXRlLkxvYWRNb3JlIHx8XG4gICAgICAgICh0aGlzLl9vcGVyYXRpb24gPT09IEZzTGlzdFN0YXRlLlBhZ2VDaGFuZ2UgJiYgdGhpcy5fbG9hZE1vcmVFbmFibGVkKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX2V4dGVuZFJvd3NTdGFjayhyb3dzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJvd3NTdGFjayhyb3dzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9vcGVyYXRpb24gPSBGc0xpc3RTdGF0ZS5JZGxlO1xuXG4gICAgdGhpcy5fdXBkYXRlVmlzaWJsZVJvd3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY3VycmVudCBvcGVyYXRpb24gZm9yIGxpc3QgZGF0YSBmbG93XG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHVibGljIHNldE9wZXJhdGlvbih2YWx1ZTogRnNMaXN0U3RhdGUpIHtcbiAgICB0aGlzLl9vcGVyYXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgcm93cyBmcm9tIHZpc2libGVcbiAgICovXG4gIHB1YmxpYyBjbGVhclJvd3MoKSB7XG4gICAgdGhpcy52aXNpYmxlUm93cyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgZGF0YSBmb3Igc3BlY2lmaWVkIHJvd1xuICAgKiBAcGFyYW0gdGFyZ2V0Um93XG4gICAqIEBwYXJhbSB0cmFja0J5XG4gICAqL1xuICBwdWJsaWMgcmVwbGFjZURhdGEoXG4gICAgdGFyZ2V0Um93OiBGc0xpc3RBYnN0cmFjdFJvdyxcbiAgICB0cmFja0J5PzogRnNMaXN0VHJhY2tCeVRhcmdldFJvd0ZuXG4gICkge1xuICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5fcm93c1N0YWNrLmZpbmRJbmRleCgobGlzdFJvdykgPT4ge1xuICAgICAgcmV0dXJuIHRyYWNrQnkobGlzdFJvdy5kYXRhLCB0YXJnZXRSb3cpO1xuICAgIH0pO1xuXG4gICAgaWYgKHJvd0luZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuX3Jvd3NTdGFja1tyb3dJbmRleF0gPSBuZXcgUm93KFxuICAgICAgICB0YXJnZXRSb3csXG4gICAgICAgIFJvd1R5cGUuU2ltcGxlLFxuICAgICAgICB7IGluaXRpYWxFeHBhbmQ6IHRoaXMuX2luaXRpYWxFeHBhbmQgfVxuICAgICAgKTtcblxuICAgICAgdGhpcy5fdXBkYXRlVmlzaWJsZVJvd3MoKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZGF0YSBmb3Igc3BlY2lmaWVkIHJvd1xuICAgKiBAcGFyYW0gcm93c1xuICAgKiBAcGFyYW0gdHJhY2tCeVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZURhdGEoXG4gICAgcm93czogRnNMaXN0QWJzdHJhY3RSb3cgfCBGc0xpc3RBYnN0cmFjdFJvd1tdLFxuICAgIHRyYWNrQnk/OiBGc0xpc3RUcmFja0J5VGFyZ2V0Um93Rm4sXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJvd3MpKSB7XG4gICAgICBsZXQgdXBkYXRlU3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICByb3dzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMudXBkYXRlUm93KGl0ZW0sIHRyYWNrQnkpKSB7XG4gICAgICAgICAgdXBkYXRlU3VjY2VzcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl91cGRhdGVWaXNpYmxlUm93cygpO1xuXG4gICAgICByZXR1cm4gdXBkYXRlU3VjY2VzcztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IHRoaXMudXBkYXRlUm93KHJvd3MsIHRyYWNrQnkpO1xuXG4gICAgICB0aGlzLl91cGRhdGVWaXNpYmxlUm93cygpO1xuXG4gICAgICByZXR1cm4gdXBkYXRlZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRhdGEgZm9yIHNwZWNpZmllZCByb3dcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHB1YmxpYyByZW1vdmVEYXRhKGRhdGE6IEZzTGlzdEFic3RyYWN0Um93IHwgRnNMaXN0QWJzdHJhY3RSb3dbXSB8IEZzTGlzdFRyYWNrQnlUYXJnZXRSb3dGbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlbW92ZWRSb3dzID0gW107XG5cbiAgICBjb25zdCBkZWZhdWx0VHJhY2tCeSA9IChyb3csIHRhcmdldCkgPT4ge1xuICAgICAgcmV0dXJuIHJvdyA9PT0gdGFyZ2V0O1xuICAgIH07XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgLy9cbiAgICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICByZW1vdmVkUm93cy5wdXNoKC4uLnRoaXMucmVtb3ZlUm93KGl0ZW0sIGRlZmF1bHRUcmFja0J5KSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb24oZGF0YSkpIHtcbiAgICAgIHJlbW92ZWRSb3dzLnB1c2goLi4udGhpcy5yZW1vdmVSb3cobnVsbCwgKGRhdGEgYXMgRnNMaXN0VHJhY2tCeVRhcmdldFJvd0ZuKSkpO1xuICAgIH0gZWxzZSBpZiAoaXNPYmplY3QoZGF0YSkpIHtcbiAgICAgIHJlbW92ZWRSb3dzLnB1c2goLi4udGhpcy5yZW1vdmVSb3coZGF0YSwgZGVmYXVsdFRyYWNrQnkpKTtcbiAgICB9XG5cbiAgICBpZiAocmVtb3ZlZFJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXBkYXRlVmlzaWJsZVJvd3MoKTtcblxuICAgICAgdGhpcy5fcm93c1JlbW92ZWQkLm5leHQocmVtb3ZlZFJvd3MpXG4gICAgfVxuXG4gICAgcmV0dXJuICEhcmVtb3ZlZFJvd3MubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIHN3YXBSb3dzKHJvdzEsIHJvdzIpIHtcbiAgICBsZXQgdG1wRWw7XG4gICAgY29uc3Qgcm93c1N0YWNrID0gdGhpcy5fcm93c1N0YWNrO1xuICAgIGNvbnN0IHJvdzFHbG9iYWxJbmRleCA9IHJvd3NTdGFjay5pbmRleE9mKHJvdzEpO1xuICAgIGNvbnN0IHJvdzJHbG9iYWxJbmRleCA9IHJvd3NTdGFjay5pbmRleE9mKHJvdzIpO1xuXG4gICAgdG1wRWwgPSByb3dzU3RhY2tbcm93MUdsb2JhbEluZGV4XTtcbiAgICByb3dzU3RhY2tbcm93MUdsb2JhbEluZGV4XSA9IHJvd3NTdGFja1tyb3cyR2xvYmFsSW5kZXhdO1xuICAgIHJvd3NTdGFja1tyb3cyR2xvYmFsSW5kZXhdID0gdG1wRWw7XG5cbiAgICB0aGlzLl9yb3dzU3RhY2sgPSBbIC4uLnJvd3NTdGFjayBdO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveVJvd3NTdGFjaygpO1xuICAgIHRoaXMuX3N0b3JlLmNsZWFyKCk7XG5cbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSb3dHcm91cChyb3dEYXRhKSB7XG4gICAgY29uc3Qgcm93ID0gdGhpcy52aXNpYmxlUm93cy5maW5kKCh2aXNpYmxlUm93KSA9PiB2aXNpYmxlUm93LmRhdGEgPT09IHJvd0RhdGEgKTtcbiAgICByb3cudG9nZ2xlUm93RXhwYW5kU3RhdHVzKCk7XG5cbiAgICB0aGlzLl91cGRhdGVWaXNpYmxlUm93cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUm93c1N0YWNrKHJvd3MpIHtcblxuICAgIHRoaXMuX2Rlc3Ryb3lSb3dzU3RhY2soKTtcblxuICAgIGlmICh0aGlzLmdyb3VwRW5hYmxlZCkge1xuICAgICAgdGhpcy5fc3RvcmUuY2xlYXIoKTtcbiAgICAgIHRoaXMuX3Jvd3NTdGFjayA9IFsuLi50aGlzLmdyb3VwUm93c0J5KHJvd3MpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm93cyA9IHJvd3MubWFwKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSb3coXG4gICAgICAgICAgcm93LFxuICAgICAgICAgIFJvd1R5cGUuU2ltcGxlLFxuICAgICAgICAgIHsgaW5pdGlhbEV4cGFuZDogdGhpcy5faW5pdGlhbEV4cGFuZCB9LFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9yb3dzU3RhY2sgPSBbLi4ucm93c107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZXh0ZW5kUm93c1N0YWNrKHJvd3MpIHtcbiAgICBpZiAodGhpcy5ncm91cEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX3Jvd3NTdGFjayA9IFsuLi50aGlzLmdyb3VwUm93c0J5KHJvd3MpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm93cyA9IHJvd3MubWFwKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSb3coXG4gICAgICAgICAgcm93LFxuICAgICAgICAgIFJvd1R5cGUuU2ltcGxlLFxuICAgICAgICAgIHsgaW5pdGlhbEV4cGFuZDogdGhpcy5faW5pdGlhbEV4cGFuZCB9LFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9yb3dzU3RhY2sgPSBbLi4udGhpcy5fcm93c1N0YWNrLCAuLi5yb3dzXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95Um93c1N0YWNrKCkge1xuICAgIHRoaXMuX3Jvd3NTdGFjay5mb3JFYWNoKChyb3cpID0+IHJvdy5kZXN0cm95KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmlzaWJsZVJvd3MoKSB7XG4gICAgdGhpcy52aXNpYmxlUm93cyA9IHRoaXMuX3Jvd3NTdGFja1xuICAgICAgLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgIHJldHVybiAoIXJvdy5pc0NoaWxkICYmICFyb3cuaXNHcm91cEZvb3RlcikgfHwgcm93LnZpc2libGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUm93KFxuICAgIHRhcmdldFJvdzogRnNMaXN0QWJzdHJhY3RSb3csXG4gICAgdHJhY2tCeT86IChsaXN0Um93OiBGc0xpc3RBYnN0cmFjdFJvdywgdGFyZ2V0Um93PzogRnNMaXN0QWJzdHJhY3RSb3cpID0+IGJvb2xlYW4pIHtcblxuICAgIGlmICh0cmFja0J5ID09PSB2b2lkIDApIHtcbiAgICAgIHRyYWNrQnkgPSAocm93LCB0YXJnZXQpID0+IHtcbiAgICAgICAgcmV0dXJuIHJvdyA9PT0gdGFyZ2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5fcm93c1N0YWNrLmZpbmRJbmRleCgobGlzdFJvdykgPT4gdHJhY2tCeShsaXN0Um93LmRhdGEsIHRhcmdldFJvdykpO1xuXG4gICAgaWYgKHRhcmdldEluZGV4ICE9PSAtMSkge1xuICAgICAgY29uc3QgdXBkYXRlVGFyZ2V0ID0gdGhpcy5fcm93c1N0YWNrW3RhcmdldEluZGV4XTtcbiAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgdXBkYXRlVGFyZ2V0LmRhdGEsIHRhcmdldFJvdyk7XG5cbiAgICAgIHRoaXMuX3Jvd3NTdGFja1t0YXJnZXRJbmRleF0gPSBuZXcgUm93KFxuICAgICAgICB1cGRhdGVkRGF0YSxcbiAgICAgICAgdXBkYXRlVGFyZ2V0LnR5cGUsXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJlbnQ6IHVwZGF0ZVRhcmdldC5wYXJlbnQsXG4gICAgICAgICAgaW5pdGlhbEV4cGFuZDogdXBkYXRlVGFyZ2V0LmV4cGFuZGVkLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHJvdyBmcm9tXG4gICAqIEBwYXJhbSB0YXJnZXRSb3dcbiAgICogQHBhcmFtIHRyYWNrQnlcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlUm93KFxuICAgIHRhcmdldFJvdzogRnNMaXN0QWJzdHJhY3RSb3cgfCBudWxsLFxuICAgIHRyYWNrQnk/OiBGc0xpc3RUcmFja0J5VGFyZ2V0Um93Rm5cbiAgKSB7XG5cbiAgICBjb25zdCByb3dzID0gdGhpcy5fcm93c1N0YWNrO1xuICAgIGNvbnN0IHJlbW92ZWRSb3dzID0gW107XG5cbiAgICByb3dzLmZvckVhY2goKGxpc3RSb3csIGluZGV4KSA9PiB7XG4gICAgICBpZiAodHJhY2tCeShsaXN0Um93LmRhdGEsIHRhcmdldFJvdykpIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZFJvdyA9IHJvd3Muc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICByZW1vdmVkUm93cy5wdXNoKHJlbW92ZWRSb3cpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlbW92ZWRSb3dzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwbGl0IGV4aXN0aW5nIHJvd3MgYnkgZ3JvdXBzIGFuZCBzdG9yZSB0aGVtIGZvciBmdXR1cmUgdXNlXG4gICAqL1xuICBwcml2YXRlIGdyb3VwUm93c0J5KHJvd3MpIHtcbiAgICBpZiAoIXRoaXMuX2dyb3VwQnlGbiB8fCAhdGhpcy5fY29tcGFyZUJ5Rm4pIHsgcmV0dXJuIHJvd3MgfVxuXG4gICAgbGV0IGdyb3VwUm93czogR3JvdXBSb3dbXSA9IFtdO1xuICAgIGNvbnN0IGZvb3RlclJvd3MgPSBuZXcgTWFwKCk7XG5cbiAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgY29uc3QgbWFpbkdyb3VwID0gdGhpcy5fZ3JvdXBCeUZuKHJvdyk7XG4gICAgICBjb25zdCBtYWluR3JvdXBLZXkgPSB0aGlzLl9jb21wYXJlQnlGbihtYWluR3JvdXApO1xuXG4gICAgICBpZiAoIXRoaXMuX3N0b3JlLmhhcyhtYWluR3JvdXBLZXkpKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwID0gbmV3IEdyb3VwUm93KFxuICAgICAgICAgIG1haW5Hcm91cCxcbiAgICAgICAgICB0aGlzLl9pbml0aWFsRXhwYW5kLFxuICAgICAgICApO1xuXG4gICAgICAgIGdyb3VwLmluZGV4ID0gZ3JvdXBSb3dzLmxlbmd0aDtcbiAgICAgICAgZ3JvdXBSb3dzLnB1c2goZ3JvdXApO1xuXG4gICAgICAgIGNvbnN0IGNoaWxkUm93ID0gbmV3IENoaWxkUm93KHJvdywgZ3JvdXApO1xuXG4gICAgICAgIHRoaXMuX3N0b3JlLnNldChtYWluR3JvdXBLZXksIGdyb3VwKTtcbiAgICAgICAgZ3JvdXAuY2hpbGRyZW4ucHVzaChjaGlsZFJvdyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuX3N0b3JlLmdldChtYWluR3JvdXBLZXkpO1xuICAgICAgICBjb25zdCBjaGlsZFJvdyA9IG5ldyBDaGlsZFJvdyhyb3csIGdyb3VwKTtcblxuICAgICAgICBncm91cC5jaGlsZHJlbi5wdXNoKGNoaWxkUm93KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGdyb3VwUm93cy5mb3JFYWNoKChncm91cFJvdykgPT4ge1xuICAgICAgY29uc3QgZm9vdGVySW5kZXggPSBncm91cFJvdy5jaGlsZHJlblxuICAgICAgICAuZmluZEluZGV4KChyb3cpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fZm9vdGVyUm93Rm4ocm93LmRhdGEsIHtcbiAgICAgICAgICAgIC4uLmdyb3VwUm93LmRhdGEsXG4gICAgICAgICAgICBjaGlsZHJlbjogZ3JvdXBSb3cuY2hpbGRyZW5EYXRhXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICBpZihmb290ZXJJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgZm9vdGVyUm93ID0gZ3JvdXBSb3cuY2hpbGRyZW4uc2xpY2UoZm9vdGVySW5kZXgsIGZvb3RlckluZGV4ICsgMSlbMF07XG4gICAgICAgIGdyb3VwUm93LmNoaWxkcmVuLnB1c2gobmV3IEdyb3VwRm9vdGVyUm93KGZvb3RlclJvdy5kYXRhLCBncm91cFJvdykpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fc3RvcmUudmFsdWVzKCkpXG4gICAgICAucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uaXNHcm91cCkge1xuICAgICAgICAgIGFjYy5wdXNoKGl0ZW0sIC4uLml0ZW0uY2hpbGRyZW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcbiAgfVxufVxuIl19
|
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL2RhdGEtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU1qRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR2hFLE1BQU0sT0FBTyxjQUFjO0lBdUJ6QjtRQXJCaUIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUMvQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7UUFDckMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVsRCxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBTXZCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS3RCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVsQyxDQUFDO0lBRWhCLElBQUksWUFBWTtRQUNk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QUNoQjtZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IEZzTGlzdFN0YXRlIH0gZnJvbSAnLi4vZW51bXMvc3RhdGUuZW51bSc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQge1xuICBGc0xpc3RBYnN0cmFjdFJvdyxcbiAgRnNMaXN0R3JvdXBDb25maWcsXG4gIEZzTGlzdFRyYWNrQnlUYXJnZXRSb3dGblxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdyb3VwUm93IH0gZnJvbSAnLi4vbW9kZWxzL3Jvdy9ncm91cC1yb3cnO1xuaW1wb3J0IHsgQ2hpbGRSb3cgfSBmcm9tICcuLi9tb2RlbHMvcm93L2NoaWxkLXJvdyc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi9tb2RlbHMvcm93JztcbmltcG9ydCB7IEdyb3VwRm9vdGVyUm93IH0gZnJvbSAnLi4vbW9kZWxzL3Jvdy9ncm91cC1mb290ZXItcm93JztcblxuXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRyb2xsZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Zpc2libGVSb3dzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Um93W10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm93c1JlbW92ZWQkID0gbmV3IFN1YmplY3Q8Um93W10+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlbW90ZVJvd3NDaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9zdG9yZSA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBfcm93c1N0YWNrOiBSb3dbXSA9IFtdO1xuICBwcml2YXRlIF9vcGVyYXRpb246IEZzTGlzdFN0YXRlO1xuXG4gIHByaXZhdGUgX2dyb3VwQnlGbjogKHJvdykgPT4gYW55W107XG4gIHByaXZhdGUgX2Zvb3RlclJvd0ZuOiAocm93LCBncm91cCkgPT4gYm9vbGVhbjtcbiAgcHJpdmF0ZSBfY29tcGFyZUJ5Rm46IChncm91cCkgPT4gYW55O1xuICBwcml2YXRlIF9pbml0aWFsRXhwYW5kID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfZ3JvdXBFbmFibGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfaW5maW5pdHlTY3JvbGxFbmFibGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9sb2FkTW9yZUVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfaGFzRGF0YSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IHZpc2libGVSb3dzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZVJvd3MkO1xuICB9XG5cbiAgZ2V0IHZpc2libGVSb3dzKCkge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlUm93cyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlUm93c0RhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZVJvd3MubWFwKChyb3cpID0+IHJvdy5kYXRhKTtcbiAgfVxuXG4gIGdldCByb3dzU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvd3NTdGFjay5zbGljZSgpO1xuICB9XG5cbiAgZ2V0IGdyb3VwRW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBFbmFibGVkO1xuICB9XG5cbiAgc2V0IGdyb3VwRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2dyb3VwRW5hYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHJlbW90ZVJvd3NDaGFuZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdGVSb3dzQ2hhbmdlJC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHJvd3NSZW1vdmVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm93c1JlbW92ZWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICk7XG4gIH1cblxuICBnZXQgaGFzRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRGF0YTtcbiAgfVxuXG4gIGdldCBvcGVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wZXJhdGlvbjtcbiAgfVxuXG4gIHNldCB2aXNpYmxlUm93cyh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLl92aXNpYmxlUm93cyQubmV4dCh2YWx1ZSk7XG4gICAgdGhpcy5faGFzRGF0YSA9IHRoaXMudmlzaWJsZVJvd3MubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCB2aXNpYmxlUm93c0NvdW50KCkge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVSb3dzLmxlbmd0aDtcbiAgfVxuXG4gIGdldCBoYXNHcm91cHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVCeUZuICYmIHRoaXMuX2dyb3VwQnlGbjtcbiAgfVxuXG4gIGdldCByZW9yZGVyRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm93c1N0YWNrXG4gICAgICAubWFwKChyb3cpID0+IHJvdy5nZXRSZW9yZGVyRGF0YSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRHcm91cENvbmZpZyhncm91cDogRnNMaXN0R3JvdXBDb25maWcpIHtcbiAgICBpZiAoZ3JvdXApIHtcbiAgICAgIHRoaXMuX2dyb3VwQnlGbiA9IGdyb3VwLmdyb3VwQnk7XG4gICAgICB0aGlzLl9jb21wYXJlQnlGbiA9IGdyb3VwLmNvbXBhcmVCeTtcbiAgICAgIHRoaXMuX2Zvb3RlclJvd0ZuID0gZ3JvdXAuZm9vdGVyIHx8ICgoKSA9PiBmYWxzZSk7XG4gICAgICB0aGlzLl9pbml0aWFsRXhwYW5kID0gZ3JvdXAuaW5pdGlhbEV4cGFuZCA/PyB0cnVlO1xuXG4gICAgICAvLyBncm91cCBtb2RlIGVuYWJsZWQgYnkgZGVmYXVsdFxuICAgICAgdGhpcy5fZ3JvdXBFbmFibGVkID0gKGdyb3VwLmVuYWJsZWQgIT09IHZvaWQgMClcbiAgICAgICAgPyBncm91cC5lbmFibGVkXG4gICAgICAgIDogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QWRkaXRpb25hbENvbmZpZ3MoY29uZmlnczogeyBzY3JvbGxhYmxlOiBib29sZWFuLCBsb2FkTW9yZUVuYWJsZWQ6IGJvb2xlYW4gfSkge1xuICAgIHRoaXMuX2luZmluaXR5U2Nyb2xsRW5hYmxlZCA9IGNvbmZpZ3Muc2Nyb2xsYWJsZTtcbiAgICB0aGlzLl9sb2FkTW9yZUVuYWJsZWQgPSBjb25maWdzLmxvYWRNb3JlRW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3dzIHdoYXQgd2FzIHJlY2VpdmVkIGZyb20gZmV0Y2ggZnVuY3Rpb25cbiAgICogQHBhcmFtIHJvd3NcbiAgICovXG4gIHB1YmxpYyBzZXRSb3dzRnJvbVJlc3BvbnNlKHJvd3M6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuX2luZmluaXR5U2Nyb2xsRW5hYmxlZCkge1xuICAgICAgc3dpdGNoICh0aGlzLl9vcGVyYXRpb24pIHtcbiAgICAgICAgY2FzZSBGc0xpc3RTdGF0ZS5GaWx0ZXI6XG4gICAgICAgIGNhc2UgRnNMaXN0U3RhdGUuUmVsb2FkOlxuICAgICAgICBjYXNlIEZzTGlzdFN0YXRlLlNvcnQ6IHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVSb3dzU3RhY2socm93cyk7XG4gICAgICAgIH0gYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHRoaXMuX2V4dGVuZFJvd3NTdGFjayhyb3dzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9yZW1vdGVSb3dzQ2hhbmdlJC5uZXh0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5fb3BlcmF0aW9uID09PSBGc0xpc3RTdGF0ZS5Mb2FkTW9yZSB8fFxuICAgICAgICAodGhpcy5fb3BlcmF0aW9uID09PSBGc0xpc3RTdGF0ZS5QYWdlQ2hhbmdlICYmIHRoaXMuX2xvYWRNb3JlRW5hYmxlZClcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9leHRlbmRSb3dzU3RhY2socm93cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl91cGRhdGVSb3dzU3RhY2socm93cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fb3BlcmF0aW9uID0gRnNMaXN0U3RhdGUuSWRsZTtcblxuICAgIHRoaXMuX3VwZGF0ZVZpc2libGVSb3dzKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGN1cnJlbnQgb3BlcmF0aW9uIGZvciBsaXN0IGRhdGEgZmxvd1xuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzZXRPcGVyYXRpb24odmFsdWU6IEZzTGlzdFN0YXRlKSB7XG4gICAgdGhpcy5fb3BlcmF0aW9uID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHJvd3MgZnJvbSB2aXNpYmxlXG4gICAqL1xuICBwdWJsaWMgY2xlYXJSb3dzKCkge1xuICAgIHRoaXMudmlzaWJsZVJvd3MgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlIGRhdGEgZm9yIHNwZWNpZmllZCByb3dcbiAgICogQHBhcmFtIHRhcmdldFJvd1xuICAgKiBAcGFyYW0gdHJhY2tCeVxuICAgKi9cbiAgcHVibGljIHJlcGxhY2VEYXRhKFxuICAgIHRhcmdldFJvdzogRnNMaXN0QWJzdHJhY3RSb3csXG4gICAgdHJhY2tCeT86IEZzTGlzdFRyYWNrQnlUYXJnZXRSb3dGblxuICApIHtcbiAgICBjb25zdCByb3dJbmRleCA9IHRoaXMuX3Jvd3NTdGFjay5maW5kSW5kZXgoKGxpc3RSb3cpID0+IHtcbiAgICAgIHJldHVybiB0cmFja0J5KGxpc3RSb3cuZGF0YSwgdGFyZ2V0Um93KTtcbiAgICB9KTtcblxuICAgIGlmIChyb3dJbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLl9yb3dzU3RhY2tbcm93SW5kZXhdID0gbmV3IFJvdyhcbiAgICAgICAgdGFyZ2V0Um93LFxuICAgICAgICBSb3dUeXBlLlNpbXBsZSxcbiAgICAgICAgeyBpbml0aWFsRXhwYW5kOiB0aGlzLl9pbml0aWFsRXhwYW5kIH1cbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX3VwZGF0ZVZpc2libGVSb3dzKCk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGRhdGEgZm9yIHNwZWNpZmllZCByb3dcbiAgICogQHBhcmFtIHJvd3NcbiAgICogQHBhcmFtIHRyYWNrQnlcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVEYXRhKFxuICAgIHJvd3M6IEZzTGlzdEFic3RyYWN0Um93IHwgRnNMaXN0QWJzdHJhY3RSb3dbXSxcbiAgICB0cmFja0J5PzogRnNMaXN0VHJhY2tCeVRhcmdldFJvd0ZuLFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgbGV0IHVwZGF0ZVN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgcm93cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVJvdyhpdGVtLCB0cmFja0J5KSkge1xuICAgICAgICAgIHVwZGF0ZVN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fdXBkYXRlVmlzaWJsZVJvd3MoKTtcblxuICAgICAgcmV0dXJuIHVwZGF0ZVN1Y2Nlc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVwZGF0ZWQgPSB0aGlzLnVwZGF0ZVJvdyhyb3dzLCB0cmFja0J5KTtcblxuICAgICAgdGhpcy5fdXBkYXRlVmlzaWJsZVJvd3MoKTtcblxuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkYXRhIGZvciBzcGVjaWZpZWQgcm93XG4gICAqIEBwYXJhbSBkYXRhXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlRGF0YShkYXRhOiBGc0xpc3RBYnN0cmFjdFJvdyB8IEZzTGlzdEFic3RyYWN0Um93W10gfCBGc0xpc3RUcmFja0J5VGFyZ2V0Um93Rm4pOiBib29sZWFuIHtcbiAgICBjb25zdCByZW1vdmVkUm93cyA9IFtdO1xuXG4gICAgY29uc3QgZGVmYXVsdFRyYWNrQnkgPSAocm93LCB0YXJnZXQpID0+IHtcbiAgICAgIHJldHVybiByb3cgPT09IHRhcmdldDtcbiAgICB9O1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgIC8vXG4gICAgICBkYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcmVtb3ZlZFJvd3MucHVzaCguLi50aGlzLnJlbW92ZVJvdyhpdGVtLCBkZWZhdWx0VHJhY2tCeSkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpc0Z1bmN0aW9uKGRhdGEpKSB7XG4gICAgICByZW1vdmVkUm93cy5wdXNoKC4uLnRoaXMucmVtb3ZlUm93KG51bGwsIChkYXRhIGFzIEZzTGlzdFRyYWNrQnlUYXJnZXRSb3dGbikpKTtcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KGRhdGEpKSB7XG4gICAgICByZW1vdmVkUm93cy5wdXNoKC4uLnRoaXMucmVtb3ZlUm93KGRhdGEsIGRlZmF1bHRUcmFja0J5KSk7XG4gICAgfVxuXG4gICAgaWYgKHJlbW92ZWRSb3dzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZpc2libGVSb3dzKCk7XG5cbiAgICAgIHRoaXMuX3Jvd3NSZW1vdmVkJC5uZXh0KHJlbW92ZWRSb3dzKVxuICAgIH1cblxuICAgIHJldHVybiAhIXJlbW92ZWRSb3dzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzd2FwUm93cyhyb3cxLCByb3cyLCBzZWxlY3RlZFJvd3M/OiBSb3dbXSwgaXNNdWx0aXBsZURyYWcgPSBmYWxzZSkge1xuICAgIGxldCB0bXBFbDtcbiAgICBjb25zdCByb3dzU3RhY2sgPSB0aGlzLl9yb3dzU3RhY2s7XG4gICAgY29uc3Qgcm93MUdsb2JhbEluZGV4ID0gcm93c1N0YWNrLmluZGV4T2Yocm93MSk7XG4gICAgY29uc3Qgcm93Mkdsb2JhbEluZGV4ID0gcm93c1N0YWNrLmluZGV4T2Yocm93Mik7XG5cbiAgICB0bXBFbCA9IHJvd3NTdGFja1tyb3cxR2xvYmFsSW5kZXhdO1xuICAgIHJvd3NTdGFja1tyb3cxR2xvYmFsSW5kZXhdID0gcm93c1N0YWNrW3JvdzJHbG9iYWxJbmRleF07XG4gICAgcm93c1N0YWNrW3JvdzJHbG9iYWxJbmRleF0gPSB0bXBFbDtcblxuICAgIGlmIChpc011bHRpcGxlRHJhZyAmJiBBcnJheS5pc0FycmF5KHNlbGVjdGVkUm93cykpIHtcbiAgICAgIGlmICghc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKHJvdzEpKSB7XG4gICAgICAgIHNlbGVjdGVkUm93cyA9IFtyb3cxLCAuLi5zZWxlY3RlZFJvd3NdO1xuICAgICAgfVxuXG4gICAgICBzZWxlY3RlZFJvd3NcbiAgICAgICAgLmZpbHRlcigoc2VsZWN0ZWRSb3cpID0+IHtcbiAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRSb3cgIT09IHJvdzE7XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKChzZWxlY3RlZFJvdykgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkeCA9IHJvd3NTdGFjay5pbmRleE9mKHNlbGVjdGVkUm93KTtcbiAgICAgICAgICByb3dzU3RhY2suc3BsaWNlKGlkeCwgMSk7XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCBpbmRleFRvSW5zZXJ0QWZ0ZXIgPSByb3dzU3RhY2suaW5kZXhPZih0bXBFbCk7XG5cbiAgICAgIHJvd3NTdGFjay5zcGxpY2UoaW5kZXhUb0luc2VydEFmdGVyLCAxKTtcblxuICAgICAgc2VsZWN0ZWRSb3dzLmZvckVhY2goKHNlbGVjdGVkUm93LCBvZmZzZXQpID0+IHtcbiAgICAgICAgcm93c1N0YWNrLnNwbGljZShpbmRleFRvSW5zZXJ0QWZ0ZXIgKyBvZmZzZXQsIDAsIHNlbGVjdGVkUm93KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuX3Jvd3NTdGFjayA9IFsgLi4ucm93c1N0YWNrIF07XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95Um93c1N0YWNrKCk7XG4gICAgdGhpcy5fc3RvcmUuY2xlYXIoKTtcblxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVJvd0dyb3VwKHJvd0RhdGEpIHtcbiAgICBjb25zdCByb3cgPSB0aGlzLnZpc2libGVSb3dzLmZpbmQoKHZpc2libGVSb3cpID0+IHZpc2libGVSb3cuZGF0YSA9PT0gcm93RGF0YSApO1xuICAgIHJvdy50b2dnbGVSb3dFeHBhbmRTdGF0dXMoKTtcblxuICAgIHRoaXMuX3VwZGF0ZVZpc2libGVSb3dzKCk7XG4gIH1cblxuICBwdWJsaWMgZmluaXNoUmVvcmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVWaXNpYmxlUm93cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUm93c1N0YWNrKHJvd3MpIHtcbiAgICB0aGlzLl9kZXN0cm95Um93c1N0YWNrKCk7XG5cbiAgICBpZiAodGhpcy5ncm91cEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX3N0b3JlLmNsZWFyKCk7XG4gICAgICB0aGlzLl9yb3dzU3RhY2sgPSBbLi4udGhpcy5ncm91cFJvd3NCeShyb3dzKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvd3MgPSByb3dzLm1hcCgocm93KSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUm93KFxuICAgICAgICAgIHJvdyxcbiAgICAgICAgICBSb3dUeXBlLlNpbXBsZSxcbiAgICAgICAgICB7IGluaXRpYWxFeHBhbmQ6IHRoaXMuX2luaXRpYWxFeHBhbmQgfSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fcm93c1N0YWNrID0gWy4uLnJvd3NdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2V4dGVuZFJvd3NTdGFjayhyb3dzKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXBFbmFibGVkKSB7XG4gICAgICB0aGlzLl9yb3dzU3RhY2sgPSBbLi4udGhpcy5ncm91cFJvd3NCeShyb3dzKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvd3MgPSByb3dzLm1hcCgocm93KSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUm93KFxuICAgICAgICAgIHJvdyxcbiAgICAgICAgICBSb3dUeXBlLlNpbXBsZSxcbiAgICAgICAgICB7IGluaXRpYWxFeHBhbmQ6IHRoaXMuX2luaXRpYWxFeHBhbmQgfSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fcm93c1N0YWNrID0gWy4uLnRoaXMuX3Jvd3NTdGFjaywgLi4ucm93c107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVzdHJveVJvd3NTdGFjaygpIHtcbiAgICB0aGlzLl9yb3dzU3RhY2suZm9yRWFjaCgocm93KSA9PiByb3cuZGVzdHJveSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZpc2libGVSb3dzKCkge1xuICAgIHRoaXMudmlzaWJsZVJvd3MgPSB0aGlzLl9yb3dzU3RhY2tcbiAgICAgIC5maWx0ZXIoKHJvdykgPT4ge1xuICAgICAgICByZXR1cm4gKCFyb3cuaXNDaGlsZCAmJiAhcm93LmlzR3JvdXBGb290ZXIpIHx8IHJvdy52aXNpYmxlO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJvdyhcbiAgICB0YXJnZXRSb3c6IEZzTGlzdEFic3RyYWN0Um93LFxuICAgIHRyYWNrQnk/OiAobGlzdFJvdzogRnNMaXN0QWJzdHJhY3RSb3csIHRhcmdldFJvdz86IEZzTGlzdEFic3RyYWN0Um93KSA9PiBib29sZWFuKSB7XG5cbiAgICBpZiAodHJhY2tCeSA9PT0gdm9pZCAwKSB7XG4gICAgICB0cmFja0J5ID0gKHJvdywgdGFyZ2V0KSA9PiB7XG4gICAgICAgIHJldHVybiByb3cgPT09IHRhcmdldDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRoaXMuX3Jvd3NTdGFjay5maW5kSW5kZXgoKGxpc3RSb3cpID0+IHRyYWNrQnkobGlzdFJvdy5kYXRhLCB0YXJnZXRSb3cpKTtcblxuICAgIGlmICh0YXJnZXRJbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZVRhcmdldCA9IHRoaXMuX3Jvd3NTdGFja1t0YXJnZXRJbmRleF07XG4gICAgICBjb25zdCB1cGRhdGVkRGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIHVwZGF0ZVRhcmdldC5kYXRhLCB0YXJnZXRSb3cpO1xuXG4gICAgICB0aGlzLl9yb3dzU3RhY2tbdGFyZ2V0SW5kZXhdID0gbmV3IFJvdyhcbiAgICAgICAgdXBkYXRlZERhdGEsXG4gICAgICAgIHVwZGF0ZVRhcmdldC50eXBlLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyZW50OiB1cGRhdGVUYXJnZXQucGFyZW50LFxuICAgICAgICAgIGluaXRpYWxFeHBhbmQ6IHVwZGF0ZVRhcmdldC5leHBhbmRlZCxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSByb3cgZnJvbVxuICAgKiBAcGFyYW0gdGFyZ2V0Um93XG4gICAqIEBwYXJhbSB0cmFja0J5XG4gICAqL1xuICBwcml2YXRlIHJlbW92ZVJvdyhcbiAgICB0YXJnZXRSb3c6IEZzTGlzdEFic3RyYWN0Um93IHwgbnVsbCxcbiAgICB0cmFja0J5PzogRnNMaXN0VHJhY2tCeVRhcmdldFJvd0ZuXG4gICkge1xuXG4gICAgY29uc3Qgcm93cyA9IHRoaXMuX3Jvd3NTdGFjaztcbiAgICBjb25zdCByZW1vdmVkUm93cyA9IFtdO1xuXG4gICAgcm93cy5mb3JFYWNoKChsaXN0Um93LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRyYWNrQnkobGlzdFJvdy5kYXRhLCB0YXJnZXRSb3cpKSB7XG4gICAgICAgIGNvbnN0IHJlbW92ZWRSb3cgPSByb3dzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgcmVtb3ZlZFJvd3MucHVzaChyZW1vdmVkUm93KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByZW1vdmVkUm93cztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCBleGlzdGluZyByb3dzIGJ5IGdyb3VwcyBhbmQgc3RvcmUgdGhlbSBmb3IgZnV0dXJlIHVzZVxuICAgKi9cbiAgcHJpdmF0ZSBncm91cFJvd3NCeShyb3dzKSB7XG4gICAgaWYgKCF0aGlzLl9ncm91cEJ5Rm4gfHwgIXRoaXMuX2NvbXBhcmVCeUZuKSB7IHJldHVybiByb3dzIH1cblxuICAgIGxldCBncm91cFJvd3M6IEdyb3VwUm93W10gPSBbXTtcbiAgICBjb25zdCBmb290ZXJSb3dzID0gbmV3IE1hcCgpO1xuXG4gICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgIGNvbnN0IG1haW5Hcm91cCA9IHRoaXMuX2dyb3VwQnlGbihyb3cpO1xuICAgICAgY29uc3QgbWFpbkdyb3VwS2V5ID0gdGhpcy5fY29tcGFyZUJ5Rm4obWFpbkdyb3VwKTtcblxuICAgICAgaWYgKCF0aGlzLl9zdG9yZS5oYXMobWFpbkdyb3VwS2V5KSkge1xuICAgICAgICBjb25zdCBncm91cCA9IG5ldyBHcm91cFJvdyhcbiAgICAgICAgICBtYWluR3JvdXAsXG4gICAgICAgICAgdGhpcy5faW5pdGlhbEV4cGFuZCxcbiAgICAgICAgKTtcblxuICAgICAgICBncm91cC5pbmRleCA9IGdyb3VwUm93cy5sZW5ndGg7XG4gICAgICAgIGdyb3VwUm93cy5wdXNoKGdyb3VwKTtcblxuICAgICAgICBjb25zdCBjaGlsZFJvdyA9IG5ldyBDaGlsZFJvdyhyb3csIGdyb3VwKTtcblxuICAgICAgICB0aGlzLl9zdG9yZS5zZXQobWFpbkdyb3VwS2V5LCBncm91cCk7XG4gICAgICAgIGdyb3VwLmNoaWxkcmVuLnB1c2goY2hpbGRSb3cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLl9zdG9yZS5nZXQobWFpbkdyb3VwS2V5KTtcbiAgICAgICAgY29uc3QgY2hpbGRSb3cgPSBuZXcgQ2hpbGRSb3cocm93LCBncm91cCk7XG5cbiAgICAgICAgZ3JvdXAuY2hpbGRyZW4ucHVzaChjaGlsZFJvdyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBncm91cFJvd3MuZm9yRWFjaCgoZ3JvdXBSb3cpID0+IHtcbiAgICAgIGNvbnN0IGZvb3RlckluZGV4ID0gZ3JvdXBSb3cuY2hpbGRyZW5cbiAgICAgICAgLmZpbmRJbmRleCgocm93KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvb3RlclJvd0ZuKHJvdy5kYXRhLCB7XG4gICAgICAgICAgICAuLi5ncm91cFJvdy5kYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW46IGdyb3VwUm93LmNoaWxkcmVuRGF0YVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgaWYoZm9vdGVySW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IGZvb3RlclJvdyA9IGdyb3VwUm93LmNoaWxkcmVuLnNsaWNlKGZvb3RlckluZGV4LCBmb290ZXJJbmRleCArIDEpWzBdO1xuICAgICAgICBncm91cFJvdy5jaGlsZHJlbi5wdXNoKG5ldyBHcm91cEZvb3RlclJvdyhmb290ZXJSb3cuZGF0YSwgZ3JvdXBSb3cpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3N0b3JlLnZhbHVlcygpKVxuICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmlzR3JvdXApIHtcbiAgICAgICAgICBhY2MucHVzaChpdGVtLCAuLi5pdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2MucHVzaChpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -31,6 +31,9 @@ export class ReorderController {
|
|
|
31
31
|
get dataController() {
|
|
32
32
|
return this._dataController;
|
|
33
33
|
}
|
|
34
|
+
get selectionController() {
|
|
35
|
+
return this._selectionController;
|
|
36
|
+
}
|
|
34
37
|
get manualReorderActivated$() {
|
|
35
38
|
return this._manualReorderActivated$.asObservable();
|
|
36
39
|
}
|
|
@@ -59,7 +62,7 @@ export class ReorderController {
|
|
|
59
62
|
get reorderDisabled() {
|
|
60
63
|
return this._reorderDisabled$.getValue();
|
|
61
64
|
}
|
|
62
|
-
initWithConfig(data, dataController, actionsController) {
|
|
65
|
+
initWithConfig(data, dataController, actionsController, selectionController) {
|
|
63
66
|
var _a, _b;
|
|
64
67
|
if (!data) {
|
|
65
68
|
return;
|
|
@@ -74,12 +77,14 @@ export class ReorderController {
|
|
|
74
77
|
}
|
|
75
78
|
// this.strategy = data.strategy ?? ReorderStrategy.Manual;
|
|
76
79
|
this.label = data.label;
|
|
80
|
+
this.multiple = data.multiple;
|
|
77
81
|
this.startCallback = data.start;
|
|
78
82
|
this.movedCallback = data.moved;
|
|
79
83
|
this.doneCallback = data.done;
|
|
80
84
|
this.moveDropCallback = data.moveDrop;
|
|
81
85
|
this._dataController = dataController;
|
|
82
86
|
this._actionsController = actionsController;
|
|
87
|
+
this._selectionController = selectionController;
|
|
83
88
|
if (this.strategy === ReorderStrategy.Always) {
|
|
84
89
|
this.enableReorder();
|
|
85
90
|
}
|
|
@@ -175,4 +180,4 @@ ReorderController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
175
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController, decorators: [{
|
|
176
181
|
type: Injectable
|
|
177
182
|
}], ctorParameters: function () { return []; } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVvcmRlci1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL3Jlb3JkZXItY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFZbkYsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6QixnQ0FBYSxDQUFBO0lBQ2Isa0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLG9DQUFpQixDQUFBO0lBQ2pCLG9DQUFpQixDQUFBO0lBQ2pCLG9DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQjtBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCO1FBUlEsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hELDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUUzQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVuQixDQUFDO0lBRWhCLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsT0FBTyxD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Q0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLHdCQUF3QixDQUFDLGFBQXFCO1FBQ25ELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxhQUFhLENBQUM7UUFFNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7OytHQTNOVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgRnNMaXN0UmVvcmRlckNvbmZpZyxcbiAgRnNMaXN0UmVvcmRlckRvbmVDYWxsYmFjayxcbiAgRnNMaXN0UmVvcmRlck1vdmVkQ2FsbGJhY2ssXG4gIEZzTGlzdFJlb3JkZXJNb3ZlSW5Hcm91cENhbGxiYWNrXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBEYXRhQ29udHJvbGxlciB9IGZyb20gJy4vZGF0YS1jb250cm9sbGVyJztcbmltcG9ydCB7IEFjdGlvbnNDb250cm9sbGVyIH0gZnJvbSAnLi9hY3Rpb25zLWNvbnRyb2xsZXInO1xuXG5leHBvcnQgZW51bSBSZW9yZGVyUG9zaXRpb24ge1xuICBMZWZ0ID0gJ2xlZnQnLFxuICBSaWdodCA9ICdyaWdodCcsXG59XG5cbmV4cG9ydCBlbnVtIFJlb3JkZXJTdHJhdGVneSB7XG4gIEFsd2F5cyA9ICdhbHdheXMnLFxuICBNYW51YWwgPSAnbWFudWFsJyxcbiAgQ3VzdG9tID0gJ2N1c3RvbScsXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZW9yZGVyQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHN0YXJ0Q2FsbGJhY2s6ICgpID0+IHZvaWQgfCBPYnNlcnZhYmxlPHZvaWQ+O1xuICBwdWJsaWMgbW92ZWRDYWxsYmFjazogRnNMaXN0UmVvcmRlck1vdmVkQ2FsbGJhY2s7XG4gIHB1YmxpYyBkb25lQ2FsbGJhY2s6IEZzTGlzdFJlb3JkZXJEb25lQ2FsbGJhY2s7XG4gIHB1YmxpYyBtb3ZlRHJvcENhbGxiYWNrOiBGc0xpc3RSZW9yZGVyTW92ZUluR3JvdXBDYWxsYmFjaztcblxuICBwdWJsaWMgc3RhdHVzOiBib29sZWFuO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgcHVibGljIG1lbnU6IGJvb2xlYW47XG4gIHB1YmxpYyBwb3NpdGlvbjogUmVvcmRlclBvc2l0aW9uO1xuICBwdWJsaWMgc3RyYXRlZ3k6IFJlb3JkZXJTdHJhdGVneTtcblxuICBwcml2YXRlIF9kYXRhQ29udHJvbGxlcjogRGF0YUNvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2FjdGlvbnNDb250cm9sbGVyOiBBY3Rpb25zQ29udHJvbGxlcjtcblxuICBwcml2YXRlIF9lbmFibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9tYW51YWxSZW9yZGVyQWN0aXZhdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9yZW9yZGVyRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBfbnVtYmVyT2ZBY3RpdmVGaWx0ZXJzID0gMDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZW5hYmxlZCh2YWx1ZSkge1xuICAgIHRoaXMuX2VuYWJsZWQkLm5leHQodmFsdWUpO1xuXG4gICAgdGhpcy5fbWFudWFsUmVvcmRlckFjdGl2YXRlZCQubmV4dCh0aGlzLmVuYWJsZWQgJiYgdGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250cm9sbGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhQ29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFudWFsUmVvcmRlckFjdGl2YXRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hbnVhbFJlb3JkZXJBY3RpdmF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYW51YWxSZW9yZGVyQWN0aXZhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tYW51YWxSZW9yZGVyQWN0aXZhdGVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsZWZ0UmVvcmRlckFjdGl2YXRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlbmFibGVkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVuYWJsZWQgJiYgdGhpcy5wb3NpdGlvbiA9PT0gUmVvcmRlclBvc2l0aW9uLkxlZnQ7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKGVuYWJsZWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW5hYmxlZCAmJiB0aGlzLl9udW1iZXJPZkFjdGl2ZUZpbHRlcnMgPT09IDA7XG4gICAgICAgIH0pLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzaGFyZVJlcGxheSgpLFxuICAgICAgKVxuICB9XG5cbiAgcHVibGljIGdldCByaWdodFJlb3JkZXJBY3RpdmF0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZW5hYmxlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbmFibGVkICYmIHRoaXMucG9zaXRpb24gPT09IFJlb3JkZXJQb3NpdGlvbi5SaWdodDtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZW5hYmxlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbmFibGVkICYmIHRoaXMuX251bWJlck9mQWN0aXZlRmlsdGVycyA9PT0gMDtcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlb3JkZXJEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Jlb3JkZXJEaXNhYmxlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlb3JkZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVvcmRlckRpc2FibGVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRXaXRoQ29uZmlnKGRhdGE6IEZzTGlzdFJlb3JkZXJDb25maWcsIGRhdGFDb250cm9sbGVyOiBEYXRhQ29udHJvbGxlciwgYWN0aW9uc0NvbnRyb2xsZXI6IEFjdGlvbnNDb250cm9sbGVyKSB7XG4gICAgaWYgKCFkYXRhKSB7IHJldHVybiB9XG5cbiAgICB0aGlzLm1lbnUgPSBkYXRhLm1lbnUgPz8gZmFsc2U7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGRhdGEucG9zaXRpb24gPz8gUmVvcmRlclBvc2l0aW9uLkxlZnQ7XG5cbiAgICBpZiAoIWRhdGEuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc3RyYXRlZ3kgPSBSZW9yZGVyU3RyYXRlZ3kuQWx3YXlzO1xuICAgIH1cblxuICAgIGlmIChkYXRhLnRvZ2dsZSkge1xuICAgICAgdGhpcy5zdHJhdGVneSA9IFJlb3JkZXJTdHJhdGVneS5NYW51YWxcbiAgICB9XG4gICAgLy8gdGhpcy5zdHJhdGVneSA9IGRhdGEuc3RyYXRlZ3kgPz8gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbDtcbiAgICB0aGlzLmxhYmVsID0gZGF0YS5sYWJlbDtcblxuICAgIHRoaXMuc3RhcnRDYWxsYmFjayA9IGRhdGEuc3RhcnQ7XG4gICAgdGhpcy5tb3ZlZENhbGxiYWNrID0gZGF0YS5tb3ZlZDtcbiAgICB0aGlzLmRvbmVDYWxsYmFjayA9IGRhdGEuZG9uZTtcbiAgICB0aGlzLm1vdmVEcm9wQ2FsbGJhY2sgPSBkYXRhLm1vdmVEcm9wO1xuXG4gICAgdGhpcy5fZGF0YUNvbnRyb2xsZXIgPSBkYXRhQ29udHJvbGxlcjtcbiAgICB0aGlzLl9hY3Rpb25zQ29udHJvbGxlciA9IGFjdGlvbnNDb250cm9sbGVyO1xuXG4gICAgaWYgKHRoaXMuc3RyYXRlZ3kgPT09IFJlb3JkZXJTdHJhdGVneS5BbHdheXMpIHtcbiAgICAgIHRoaXMuZW5hYmxlUmVvcmRlcigpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbCkge1xuICAgICAgYWN0aW9uc0NvbnRyb2xsZXIuYWRkUmVvcmRlckFjdGlvbihcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsIHx8ICdSZW9yZGVyJyxcbiAgICAgICAgICBtZW51OiB0aGlzLm1lbnUsXG4gICAgICAgICAgcHJpbWFyeTogZmFsc2UsXG4gICAgICAgICAgY2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUmVvcmRlcigpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlb3JkZXJEaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGFjdGlvbnNDb250cm9sbGVyLmFkZFJlb3JkZXJEb25lQWN0aW9uKHtcbiAgICAgICAgICBsYWJlbDogJ0RvbmUnLFxuICAgICAgICAgIHByaW1hcnk6IGZhbHNlLFxuICAgICAgICAgIGNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVSZW9yZGVyKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkaXNhYmxlZDogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVvcmRlckRpc2FibGVkO1xuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlUmVvcmRlcigpIHtcbiAgICBpZiAoKHRoaXMuc3RyYXRlZ3kgPT09IFJlb3JkZXJTdHJhdGVneS5NYW51YWwgfHwgdGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5LkN1c3RvbSkgJiYgdGhpcy5zdGFydENhbGxiYWNrKSB7XG4gICAgICBjb25zdCByZXR1cm5lZFZhbHVlID0gdGhpcy5zdGFydENhbGxiYWNrKCk7XG5cbiAgICAgIGlmIChyZXR1cm5lZFZhbHVlICYmIHJldHVybmVkVmFsdWUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZVJlb3JkZXJBY3Rpb24oKTtcblxuICAgICAgICByZXR1cm5lZFZhbHVlXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVJlb3JkZXJBY3Rpb24oKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlUmVvcmRlcigpIHtcbiAgICBpZiAodGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbCB8fCB0aGlzLnN0cmF0ZWd5ID09PSBSZW9yZGVyU3RyYXRlZ3kuQ3VzdG9tKSB7XG4gICAgICBjb25zdCByZXR1cm5lZFZhbHVlID0gdGhpcy5yZW9yZGVyRmluaXNoZWQoKTtcblxuICAgICAgaWYgKHJldHVybmVkVmFsdWUgJiYgcmV0dXJuZWRWYWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlUmVvcmRlckFjdGlvbigpO1xuXG4gICAgICAgIHJldHVybmVkVmFsdWVcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVJlb3JkZXJBY3Rpb24oKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRXhlYyBlbmQgY2FsbGJhY2tcbiAgICovXG4gIHB1YmxpYyByZW9yZGVyRmluaXNoZWQoKSB7XG4gICAgaWYgKHRoaXMuZG9uZUNhbGxiYWNrKSB7XG4gICAgICByZXR1cm4gdGhpcy5kb25lQ2FsbGJhY2sodGhpcy5fZGF0YUNvbnRyb2xsZXIucmVvcmRlckRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgcmVvcmRlciBhY3Rpb24gYW5kIHVwZGF0ZSBmaWx0ZXIgYWN0aW9ucyBzdGF0ZVxuICAgKi9cbiAgcHVibGljIGVuYWJsZVJlb3JkZXJBY3Rpb24oKSB7XG4gICAgdGhpcy5fcmVvcmRlckRpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLl9hY3Rpb25zQ29udHJvbGxlci51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSByZW9yZGVyIGFjdGlvbiBhbmQgdXBkYXRlIGZpbHRlciBhY3Rpb25zIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVJlb3JkZXJBY3Rpb24oKSB7XG4gICAgdGhpcy5fcmVvcmRlckRpc2FibGVkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2FjdGlvbnNDb250cm9sbGVyLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXROdW5iZXJPZkFjdGl2ZUZpbHRlcnMoYWN0aXZlRmlsdGVyczogbnVtYmVyKSB7XG4gICAgdGhpcy5fbnVtYmVyT2ZBY3RpdmVGaWx0ZXJzID0gYWN0aXZlRmlsdGVycztcblxuICAgIHRoaXMuZW5hYmxlZCA9IHRoaXMuZW5hYmxlZDtcbiAgfVxufVxuIl19
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVvcmRlci1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL3Jlb3JkZXItY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFhbkYsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6QixnQ0FBYSxDQUFBO0lBQ2Isa0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLG9DQUFpQixDQUFBO0lBQ2pCLG9DQUFpQixDQUFBO0lBQ2pCLG9DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQjtBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUEwQjVCO1FBUlEsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hELDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUUzQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVuQixDQUFDO0lBRWhCLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsT0FBTyxD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QUMsQ0FBQztnQkFFTCxPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxhQUFxQjtRQUNuRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsYUFBYSxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDOzsrR0F4T1UsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEZzTGlzdFJlb3JkZXJDb25maWcsXG4gIEZzTGlzdFJlb3JkZXJEb25lQ2FsbGJhY2ssXG4gIEZzTGlzdFJlb3JkZXJNb3ZlZENhbGxiYWNrLFxuICBGc0xpc3RSZW9yZGVyTW92ZUluR3JvdXBDYWxsYmFja1xufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgRGF0YUNvbnRyb2xsZXIgfSBmcm9tICcuL2RhdGEtY29udHJvbGxlcic7XG5pbXBvcnQgeyBBY3Rpb25zQ29udHJvbGxlciB9IGZyb20gJy4vYWN0aW9ucy1jb250cm9sbGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuL3NlbGVjdGlvbi1jb250cm9sbGVyJztcblxuZXhwb3J0IGVudW0gUmVvcmRlclBvc2l0aW9uIHtcbiAgTGVmdCA9ICdsZWZ0JyxcbiAgUmlnaHQgPSAncmlnaHQnLFxufVxuXG5leHBvcnQgZW51bSBSZW9yZGVyU3RyYXRlZ3kge1xuICBBbHdheXMgPSAnYWx3YXlzJyxcbiAgTWFudWFsID0gJ21hbnVhbCcsXG4gIEN1c3RvbSA9ICdjdXN0b20nLFxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVvcmRlckNvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBzdGFydENhbGxiYWNrOiAoKSA9PiB2b2lkIHwgT2JzZXJ2YWJsZTx2b2lkPjtcbiAgcHVibGljIG1vdmVkQ2FsbGJhY2s6IEZzTGlzdFJlb3JkZXJNb3ZlZENhbGxiYWNrO1xuICBwdWJsaWMgZG9uZUNhbGxiYWNrOiBGc0xpc3RSZW9yZGVyRG9uZUNhbGxiYWNrO1xuICBwdWJsaWMgbW92ZURyb3BDYWxsYmFjazogRnNMaXN0UmVvcmRlck1vdmVJbkdyb3VwQ2FsbGJhY2s7XG5cbiAgcHVibGljIHN0YXR1czogYm9vbGVhbjtcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBtZW51OiBib29sZWFuO1xuICBwdWJsaWMgcG9zaXRpb246IFJlb3JkZXJQb3NpdGlvbjtcbiAgcHVibGljIHN0cmF0ZWd5OiBSZW9yZGVyU3RyYXRlZ3k7XG4gIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9kYXRhQ29udHJvbGxlcjogRGF0YUNvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2FjdGlvbnNDb250cm9sbGVyOiBBY3Rpb25zQ29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uQ29udHJvbGxlcjogU2VsZWN0aW9uQ29udHJvbGxlcjtcblxuICBwcml2YXRlIF9lbmFibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9tYW51YWxSZW9yZGVyQWN0aXZhdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9yZW9yZGVyRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBfbnVtYmVyT2ZBY3RpdmVGaWx0ZXJzID0gMDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZW5hYmxlZCh2YWx1ZSkge1xuICAgIHRoaXMuX2VuYWJsZWQkLm5leHQodmFsdWUpO1xuXG4gICAgdGhpcy5fbWFudWFsUmVvcmRlckFjdGl2YXRlZCQubmV4dCh0aGlzLmVuYWJsZWQgJiYgdGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250cm9sbGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhQ29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uQ29udHJvbGxlcigpOiBTZWxlY3Rpb25Db250cm9sbGVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFudWFsUmVvcmRlckFjdGl2YXRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hbnVhbFJlb3JkZXJBY3RpdmF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYW51YWxSZW9yZGVyQWN0aXZhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tYW51YWxSZW9yZGVyQWN0aXZhdGVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsZWZ0UmVvcmRlckFjdGl2YXRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlbmFibGVkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVuYWJsZWQgJiYgdGhpcy5wb3NpdGlvbiA9PT0gUmVvcmRlclBvc2l0aW9uLkxlZnQ7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKGVuYWJsZWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW5hYmxlZCAmJiB0aGlzLl9udW1iZXJPZkFjdGl2ZUZpbHRlcnMgPT09IDA7XG4gICAgICAgIH0pLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzaGFyZVJlcGxheSgpLFxuICAgICAgKVxuICB9XG5cbiAgcHVibGljIGdldCByaWdodFJlb3JkZXJBY3RpdmF0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZW5hYmxlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbmFibGVkICYmIHRoaXMucG9zaXRpb24gPT09IFJlb3JkZXJQb3NpdGlvbi5SaWdodDtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZW5hYmxlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbmFibGVkICYmIHRoaXMuX251bWJlck9mQWN0aXZlRmlsdGVycyA9PT0gMDtcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlb3JkZXJEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Jlb3JkZXJEaXNhYmxlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlb3JkZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVvcmRlckRpc2FibGVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRXaXRoQ29uZmlnKFxuICAgIGRhdGE6IEZzTGlzdFJlb3JkZXJDb25maWcsXG4gICAgZGF0YUNvbnRyb2xsZXI6IERhdGFDb250cm9sbGVyLFxuICAgIGFjdGlvbnNDb250cm9sbGVyOiBBY3Rpb25zQ29udHJvbGxlcixcbiAgICBzZWxlY3Rpb25Db250cm9sbGVyOiBTZWxlY3Rpb25Db250cm9sbGVyLFxuICApIHtcbiAgICBpZiAoIWRhdGEpIHsgcmV0dXJuIH1cblxuICAgIHRoaXMubWVudSA9IGRhdGEubWVudSA/PyBmYWxzZTtcbiAgICB0aGlzLnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbiA/PyBSZW9yZGVyUG9zaXRpb24uTGVmdDtcblxuICAgIGlmICghZGF0YS5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zdHJhdGVneSA9IFJlb3JkZXJTdHJhdGVneS5BbHdheXM7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEudG9nZ2xlKSB7XG4gICAgICB0aGlzLnN0cmF0ZWd5ID0gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbFxuICAgIH1cbiAgICAvLyB0aGlzLnN0cmF0ZWd5ID0gZGF0YS5zdHJhdGVneSA/PyBSZW9yZGVyU3RyYXRlZ3kuTWFudWFsO1xuICAgIHRoaXMubGFiZWwgPSBkYXRhLmxhYmVsO1xuICAgIHRoaXMubXVsdGlwbGUgPSBkYXRhLm11bHRpcGxlO1xuXG4gICAgdGhpcy5zdGFydENhbGxiYWNrID0gZGF0YS5zdGFydDtcbiAgICB0aGlzLm1vdmVkQ2FsbGJhY2sgPSBkYXRhLm1vdmVkO1xuICAgIHRoaXMuZG9uZUNhbGxiYWNrID0gZGF0YS5kb25lO1xuICAgIHRoaXMubW92ZURyb3BDYWxsYmFjayA9IGRhdGEubW92ZURyb3A7XG5cbiAgICB0aGlzLl9kYXRhQ29udHJvbGxlciA9IGRhdGFDb250cm9sbGVyO1xuICAgIHRoaXMuX2FjdGlvbnNDb250cm9sbGVyID0gYWN0aW9uc0NvbnRyb2xsZXI7XG4gICAgdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlciA9IHNlbGVjdGlvbkNvbnRyb2xsZXI7XG5cbiAgICBpZiAodGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5LkFsd2F5cykge1xuICAgICAgdGhpcy5lbmFibGVSZW9yZGVyKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN0cmF0ZWd5ID09PSBSZW9yZGVyU3RyYXRlZ3kuTWFudWFsKSB7XG4gICAgICBhY3Rpb25zQ29udHJvbGxlci5hZGRSZW9yZGVyQWN0aW9uKFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMubGFiZWwgfHwgJ1Jlb3JkZXInLFxuICAgICAgICAgIG1lbnU6IHRoaXMubWVudSxcbiAgICAgICAgICBwcmltYXJ5OiBmYWxzZSxcbiAgICAgICAgICBjbGljazogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVSZW9yZGVyKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkaXNhYmxlZDogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVvcmRlckRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgYWN0aW9uc0NvbnRyb2xsZXIuYWRkUmVvcmRlckRvbmVBY3Rpb24oe1xuICAgICAgICAgIGxhYmVsOiAnRG9uZScsXG4gICAgICAgICAgcHJpbWFyeTogZmFsc2UsXG4gICAgICAgICAgY2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVJlb3JkZXIoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRpc2FibGVkOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZW9yZGVyRGlzYWJsZWQ7XG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVSZW9yZGVyKCkge1xuICAgIGlmICgodGhpcy5zdHJhdGVneSA9PT0gUmVvcmRlclN0cmF0ZWd5Lk1hbnVhbCB8fCB0aGlzLnN0cmF0ZWd5ID09PSBSZW9yZGVyU3RyYXRlZ3kuQ3VzdG9tKSAmJiB0aGlzLnN0YXJ0Q2FsbGJhY2spIHtcbiAgICAgIGNvbnN0IHJldHVybmVkVmFsdWUgPSB0aGlzLnN0YXJ0Q2FsbGJhY2soKTtcblxuICAgICAgaWYgKHJldHVybmVkVmFsdWUgJiYgcmV0dXJuZWRWYWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlUmVvcmRlckFjdGlvbigpO1xuXG4gICAgICAgIHJldHVybmVkVmFsdWVcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUmVvcmRlckFjdGlvbigpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVuYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGVSZW9yZGVyKCkge1xuICAgIGlmICh0aGlzLnN0cmF0ZWd5ID09PSBSZW9yZGVyU3RyYXRlZ3kuTWFudWFsIHx8IHRoaXMuc3RyYXRlZ3kgPT09IFJlb3JkZXJTdHJhdGVneS5DdXN0b20pIHtcbiAgICAgIGNvbnN0IHJldHVybmVkVmFsdWUgPSB0aGlzLnJlb3JkZXJGaW5pc2hlZCgpO1xuXG4gICAgICBpZiAocmV0dXJuZWRWYWx1ZSAmJiByZXR1cm5lZFZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLmRpc2FibGVSZW9yZGVyQWN0aW9uKCk7XG5cbiAgICAgICAgcmV0dXJuZWRWYWx1ZVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUmVvcmRlckFjdGlvbigpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjIGVuZCBjYWxsYmFja1xuICAgKi9cbiAgcHVibGljIHJlb3JkZXJGaW5pc2hlZCgpIHtcbiAgICBpZiAodGhpcy5kb25lQ2FsbGJhY2spIHtcbiAgICAgIHJldHVybiB0aGlzLmRvbmVDYWxsYmFjayh0aGlzLl9kYXRhQ29udHJvbGxlci5yZW9yZGVyRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSByZW9yZGVyIGFjdGlvbiBhbmQgdXBkYXRlIGZpbHRlciBhY3Rpb25zIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlUmVvcmRlckFjdGlvbigpIHtcbiAgICB0aGlzLl9yZW9yZGVyRGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuX2FjdGlvbnNDb250cm9sbGVyLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJlb3JkZXIgYWN0aW9uIGFuZCB1cGRhdGUgZmlsdGVyIGFjdGlvbnMgc3RhdGVcbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlUmVvcmRlckFjdGlvbigpIHtcbiAgICB0aGlzLl9yZW9yZGVyRGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5fYWN0aW9uc0NvbnRyb2xsZXIudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldE51bmJlck9mQWN0aXZlRmlsdGVycyhhY3RpdmVGaWx0ZXJzOiBudW1iZXIpIHtcbiAgICB0aGlzLl9udW1iZXJPZkFjdGl2ZUZpbHRlcnMgPSBhY3RpdmVGaWx0ZXJzO1xuXG4gICAgdGhpcy5lbmFibGVkID0gdGhpcy5lbmFibGVkO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -9,8 +9,8 @@ import * as i2 from "./row/row.component";
|
|
|
9
9
|
import * as i3 from "@angular/common";
|
|
10
10
|
import * as i4 from "../../directives/draggable-row/draggable-row.directive";
|
|
11
11
|
export class FsBodyComponent {
|
|
12
|
-
constructor(
|
|
13
|
-
this.
|
|
12
|
+
constructor(reorderController, el, cdRef, differs) {
|
|
13
|
+
this.reorderController = reorderController;
|
|
14
14
|
this.el = el;
|
|
15
15
|
this.cdRef = cdRef;
|
|
16
16
|
this.differs = differs;
|
|
@@ -35,7 +35,7 @@ export class FsBodyComponent {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
FsBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsBodyComponent, deps: [{ token: i1.ReorderController }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
FsBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsBodyComponent, selector: "[fs-list-body]", inputs: { rows: "rows", columns: "columns", hasFooter: "hasFooter", rowActionsRaw: "rowActionsRaw", groupActionsRaw: "groupActionsRaw", rowEvents: "rowEvents", rowClass: "rowClass", hasRowActions: "hasRowActions", selection: "selection", restoreMode: "restoreMode", rowRemoved: "rowRemoved" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsRowComponent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rowsContainer", first: true, predicate: ["rowsContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows; let i = index;\">\n <tr fs-list-row\n fsListDraggableRow\n [row]=\"row\"\n [rowIndex]=\"i\"\n [columns]=\"columns\"\n [rowActionsRaw]=\"rowActionsRaw\"\n [groupActionsRaw]=\"groupActionsRaw\"\n [hasRowActions]=\"hasRowActions\"\n [rowEvents]=\"rowEvents\"\n [rowClass]=\"rowClass\"\n [selection]=\"selection\"\n [restoreMode]=\"restoreMode\"\n [ngClass]=\"{ 'drag-row':
|
|
38
|
+
FsBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsBodyComponent, selector: "[fs-list-body]", inputs: { rows: "rows", columns: "columns", hasFooter: "hasFooter", rowActionsRaw: "rowActionsRaw", groupActionsRaw: "groupActionsRaw", rowEvents: "rowEvents", rowClass: "rowClass", hasRowActions: "hasRowActions", selection: "selection", restoreMode: "restoreMode", rowRemoved: "rowRemoved" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsRowComponent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rowsContainer", first: true, predicate: ["rowsContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows; let i = index;\">\n <tr fs-list-row\n fsListDraggableRow\n [row]=\"row\"\n [rowIndex]=\"i\"\n [columns]=\"columns\"\n [rowActionsRaw]=\"rowActionsRaw\"\n [groupActionsRaw]=\"groupActionsRaw\"\n [hasRowActions]=\"hasRowActions\"\n [rowEvents]=\"rowEvents\"\n [rowClass]=\"rowClass\"\n [selection]=\"selection\"\n [restoreMode]=\"restoreMode\"\n [ngClass]=\"{ 'drag-row': reorderController.enabled }\"\n [rowRemoved]=\"rowRemoved\"\n #activeRow>\n </tr>\n</ng-container>\n", components: [{ type: i2.FsRowComponent, selector: "[fs-list-row]", inputs: ["row", "rowActionsRaw", "groupActionsRaw", "hasRowActions", "rowEvents", "rowClass", "restoreMode", "rowIndex", "columns", "selection", "rowRemoved"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.FsListDraggableRowDirective, selector: "[fsListDraggableRow]", inputs: ["row"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsBodyComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
72
72
|
type: ContentChild,
|
|
73
73
|
args: [FsRowComponent, { read: TemplateRef, static: true }]
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYm9keS9ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L2JvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFFWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxlQUFlLEVBRWYsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQVFyRCxNQUFNLE9BQU8sZUFBZTtJQXFCMUIsWUFDUyxpQkFBb0MsRUFDbkMsRUFBYyxFQUNkLEtBQXdCLEVBQ3hCLE9BQXdCO1FBSHpCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBdkJ6QixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBU3JCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBUWhDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7OzZHQXZDVSxlQUFlO2lHQUFmLGVBQWUsd1lBY1osY0FBYywyQkFBVSxXQUFXLHNJQURiLGdCQUFnQiwyQ0M3Q3RELHdrQkFrQkE7NEZEY2EsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUscUJBQXFCO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7K0xBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFZ0UsYUFBYTtzQkFBbEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFcEUsY0FBYztzQkFEYixZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIEl0ZXJhYmxlRGlmZmVyLFxuICBJdGVyYWJsZURpZmZlcnMsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBSZW9yZGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVvcmRlci1jb250cm9sbGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NlbGVjdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uL21vZGVscy9yb3cnO1xuXG5pbXBvcnQgeyBGc1Jvd0NvbXBvbmVudCB9IGZyb20gJy4vcm93L3Jvdy5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tmcy1saXN0LWJvZHldJyxcbiAgdGVtcGxhdGVVcmw6ICdib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRnNCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjaywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcm93czogUm93W107XG4gIEBJbnB1dCgpIGNvbHVtbnM6IENvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIGhhc0Zvb3RlciA9IGZhbHNlO1xuICBASW5wdXQoKSByb3dBY3Rpb25zUmF3OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBncm91cEFjdGlvbnNSYXc6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHJvd0V2ZW50cyA9IHt9O1xuICBASW5wdXQoKSByb3dDbGFzcztcbiAgQElucHV0KCkgaGFzUm93QWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3Rpb246IFNlbGVjdGlvbkNvbnRyb2xsZXI7XG4gIEBJbnB1dCgpIHJlc3RvcmVNb2RlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvd1JlbW92ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ3Jvd3NDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSByb3dzQ29udGFpbmVyO1xuICBAQ29udGVudENoaWxkKEZzUm93Q29tcG9uZW50LCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBfcm93c0RpZmZlcjogSXRlcmFibGVEaWZmZXI8YW55PjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlb3JkZXJDb250cm9sbGVyOiBSZW9yZGVyQ29udHJvbGxlcixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICApIHtcbiAgICB0aGlzLl9yb3dzRGlmZmVyID0gZGlmZmVycy5maW5kKFtdKS5jcmVhdGUobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgbmdEb0NoZWNrKCkge1xuICAgIGlmICh0aGlzLl9yb3dzRGlmZmVyLmRpZmYodGhpcy5yb3dzKSkge1xuICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvLyAvKipcbiAgLy8gICogVHJhY2sgQnkgZm9yIGltcHJvdmUgY2hhbmdlIGRldGVjdGlvblxuICAvLyAgKiBAcGFyYW0gaW5kZXhcbiAgLy8gICogQHBhcmFtIGl0ZW1cbiAgLy8gICovXG4gIC8vIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pIHtcbiAgLy8gICAvLyBUT0RPIGltcHJvdmUgd2l0aCB0cmFjayBieSBpZFxuICAvLyAgIHJldHVybiBpbmRleDtcbiAgLy8gfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3M7IGxldCBpID0gaW5kZXg7XCI+XG4gIDx0ciBmcy1saXN0LXJvd1xuICAgICAgZnNMaXN0RHJhZ2dhYmxlUm93XG4gICAgICBbcm93XT1cInJvd1wiXG4gICAgICBbcm93SW5kZXhdPVwiaVwiXG4gICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgIFtyb3dBY3Rpb25zUmF3XT1cInJvd0FjdGlvbnNSYXdcIlxuICAgICAgW2dyb3VwQWN0aW9uc1Jhd109XCJncm91cEFjdGlvbnNSYXdcIlxuICAgICAgW2hhc1Jvd0FjdGlvbnNdPVwiaGFzUm93QWN0aW9uc1wiXG4gICAgICBbcm93RXZlbnRzXT1cInJvd0V2ZW50c1wiXG4gICAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NcIlxuICAgICAgW3NlbGVjdGlvbl09XCJzZWxlY3Rpb25cIlxuICAgICAgW3Jlc3RvcmVNb2RlXT1cInJlc3RvcmVNb2RlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWctcm93JzogcmVvcmRlckNvbnRyb2xsZXIuZW5hYmxlZCB9XCJcbiAgICAgIFtyb3dSZW1vdmVkXT1cInJvd1JlbW92ZWRcIlxuICAgICAgI2FjdGl2ZVJvdz5cbiAgPC90cj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -48,6 +48,13 @@ export class FsRowComponent {
|
|
|
48
48
|
get isGroupFooterRow() {
|
|
49
49
|
return this.row.isGroupFooter;
|
|
50
50
|
}
|
|
51
|
+
get isDragDisabled() {
|
|
52
|
+
return !this.selected && this.reorderController.multiple && !!this.selection.selectedRows.size;
|
|
53
|
+
}
|
|
54
|
+
get isMultipleSelection() {
|
|
55
|
+
const multiple = this.reorderController.multiple;
|
|
56
|
+
return multiple && this.selected;
|
|
57
|
+
}
|
|
51
58
|
get rowCssClass() {
|
|
52
59
|
let cls = 'fs-list-row';
|
|
53
60
|
if (this.rowIndex % 2 !== 0)
|
|
@@ -130,7 +137,7 @@ export class FsRowComponent {
|
|
|
130
137
|
return index;
|
|
131
138
|
}
|
|
132
139
|
dragStart(event) {
|
|
133
|
-
if (this.reorderController.enabled) {
|
|
140
|
+
if (this.reorderController.enabled && !this.isDragDisabled) {
|
|
134
141
|
event.preventDefault();
|
|
135
142
|
event.stopPropagation();
|
|
136
143
|
this._draggableList.dragStart(this.el.nativeElement);
|
|
@@ -211,7 +218,7 @@ export class FsRowComponent {
|
|
|
211
218
|
}
|
|
212
219
|
}
|
|
213
220
|
FsRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowComponent, deps: [{ token: i0.ElementRef }, { token: i1.ReorderController }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i2.FsListDraggableListDirective }], target: i0.ɵɵFactoryTarget.Component });
|
|
214
|
-
FsRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsRowComponent, selector: "[fs-list-row]", inputs: { row: "row", rowActionsRaw: "rowActionsRaw", groupActionsRaw: "groupActionsRaw", hasRowActions: "hasRowActions", rowEvents: "rowEvents", rowClass: "rowClass", restoreMode: "restoreMode", rowIndex: "rowIndex", columns: "columns", selection: "selection", rowRemoved: "rowRemoved" }, host: { properties: { "attr.role": "this.role", "class": "this.rowCssClass" } }, viewQueries: [{ propertyName: "cellRefs", predicate: ["td"], descendants: true }], ngImport: i0, template: "<!-- Drag -->\n<ng-container *ngIf=\"reorderController.leftReorderActivated$ | async\">\n <ng-container *ngTemplateOutlet=\"dragCell\"></ng-container>\n</ng-container>\n\n<!-- Selection -->\n<ng-container *ngIf=\"selection && !(selection.disabled$ | async)\">\n <td class=\"fs-list-col fs-list-col-selection\">\n <ng-container *ngIf=\"!row.isGroupFooter\">\n <mat-checkbox (change)=\"selectRow($event)\"\n [checked]=\"selected\"\n [indeterminate]=\"indeterminateSelected\">\n </mat-checkbox>\n </ng-container>\n </td>\n</ng-container>\n\n<!-- Content -->\n<ng-container *ngFor=\"let column of columns; trackBy: trackByFn; let isFirst = first\">\n <td fs-cell\n *ngIf=\"(isGroupRow && !column.groupHeaderColspanned)\n || (isGroupFooterRow && !column.groupFooterColspanned)\n || (!isGroupRow && !isGroupFooterRow && !column.cellColspanned)\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [class]=\"(isGroupRow && column.groupHeaderConfigs.classesString)\n || (isGroupFooterRow && column.groupFooterConfigs.classesString)\n || (!isGroupFooterRow && column.cellConfigs.classesString)\"\n [ngClass]=\"{ 'primary-col': isFirst }\"\n [attr.colspan]=\"(isGroupRow && column.groupHeaderConfigs.colspan)\n || (isGroupFooterRow && column.groupFooterConfigs.colspan)\n || column.cellConfigs.colspan\"\n [attr.width]=\"column.width\"\n >\n </td>\n</ng-container>\n\n<!-- Drag -->\n<ng-container *ngIf=\"reorderController.rightReorderActivated$ | async\">\n <ng-container *ngTemplateOutlet=\"dragCell\"></ng-container>\n</ng-container>\n\n<!-- Row Actions -->\n<td *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\">\n <ng-container *ngIf=\"!isGroupFooterRow\">\n <fs-list-row-actions [row]=\"row\"\n [index]=\"rowIndex\"\n [rowActions]=\"rowActions\"\n [menuRowActions]=\"menuRowActions\"\n [inlineRowActions]=\"inlineRowActions\"\n [restoreAction]=\"restoreAction\"\n [restoreMode]=\"restoreMode\"\n [rowRemoved]=\"rowRemoved\"\n ></fs-list-row-actions>\n </ng-container>\n</td>\n\n<ng-template #dragCell>\n <ng-container *ngIf=\"dragCellVisible && !isGroupFooterRow; else emptyCell\">\n <td class=\"fs-list-col drag-col\"\n (mousedown)=\"dragStart($event)\"\n (touchstart)=\"dragStart($event)\"\n >\n <mat-icon>drag_handle</mat-icon>\n </td>\n </ng-container>\n <ng-template #emptyCell>\n <td class=\"fs-list-col drag-col\"></td>\n </ng-template>\n</ng-template>\n", components: [{ type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i4.FsCellComponent, selector: "[fs-cell]", inputs: ["column", "row", "rowIndex"] }, { type: i5.FsRowActionsComponent, selector: "fs-list-row-actions", inputs: ["row", "index", "restoreMode", "rowActions", "rowRemoved", "menuRowActions", "inlineRowActions", "restoreAction"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
221
|
+
FsRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsRowComponent, selector: "[fs-list-row]", inputs: { row: "row", rowActionsRaw: "rowActionsRaw", groupActionsRaw: "groupActionsRaw", hasRowActions: "hasRowActions", rowEvents: "rowEvents", rowClass: "rowClass", restoreMode: "restoreMode", rowIndex: "rowIndex", columns: "columns", selection: "selection", rowRemoved: "rowRemoved" }, host: { properties: { "attr.role": "this.role", "class.multiple-selection": "this.isMultipleSelection", "class": "this.rowCssClass" } }, viewQueries: [{ propertyName: "cellRefs", predicate: ["td"], descendants: true }], ngImport: i0, template: "<!-- Drag -->\n<ng-container *ngIf=\"reorderController.leftReorderActivated$ | async\">\n <ng-container *ngTemplateOutlet=\"dragCell\"></ng-container>\n</ng-container>\n\n<!-- Selection -->\n<ng-container *ngIf=\"selection && !(selection.disabled$ | async)\">\n <td class=\"fs-list-col fs-list-col-selection\">\n <ng-container *ngIf=\"!row.isGroupFooter\">\n <mat-checkbox (change)=\"selectRow($event)\"\n [checked]=\"selected\"\n [indeterminate]=\"indeterminateSelected\">\n </mat-checkbox>\n </ng-container>\n </td>\n</ng-container>\n\n<!-- Content -->\n<ng-container *ngFor=\"let column of columns; trackBy: trackByFn; let isFirst = first\">\n <td fs-cell\n *ngIf=\"(isGroupRow && !column.groupHeaderColspanned)\n || (isGroupFooterRow && !column.groupFooterColspanned)\n || (!isGroupRow && !isGroupFooterRow && !column.cellColspanned)\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [class]=\"(isGroupRow && column.groupHeaderConfigs.classesString)\n || (isGroupFooterRow && column.groupFooterConfigs.classesString)\n || (!isGroupFooterRow && column.cellConfigs.classesString)\"\n [ngClass]=\"{ 'primary-col': isFirst }\"\n [attr.colspan]=\"(isGroupRow && column.groupHeaderConfigs.colspan)\n || (isGroupFooterRow && column.groupFooterConfigs.colspan)\n || column.cellConfigs.colspan\"\n [attr.width]=\"column.width\"\n >\n </td>\n</ng-container>\n\n<!-- Drag -->\n<ng-container *ngIf=\"reorderController.rightReorderActivated$ | async\">\n <ng-container *ngTemplateOutlet=\"dragCell\"></ng-container>\n</ng-container>\n\n<!-- Row Actions -->\n<td *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\">\n <ng-container *ngIf=\"!isGroupFooterRow\">\n <fs-list-row-actions [row]=\"row\"\n [index]=\"rowIndex\"\n [rowActions]=\"rowActions\"\n [menuRowActions]=\"menuRowActions\"\n [inlineRowActions]=\"inlineRowActions\"\n [restoreAction]=\"restoreAction\"\n [restoreMode]=\"restoreMode\"\n [rowRemoved]=\"rowRemoved\"\n ></fs-list-row-actions>\n </ng-container>\n</td>\n\n<ng-template #dragCell>\n <ng-container *ngIf=\"dragCellVisible && !isGroupFooterRow; else emptyCell\">\n <td class=\"fs-list-col drag-col\"\n [class.drag-disabled]=\"isDragDisabled\"\n (mousedown)=\"dragStart($event)\"\n (touchstart)=\"dragStart($event)\"\n >\n <mat-icon>drag_handle</mat-icon>\n </td>\n </ng-container>\n <ng-template #emptyCell>\n <td class=\"fs-list-col drag-col\"></td>\n </ng-template>\n</ng-template>\n", components: [{ type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i4.FsCellComponent, selector: "[fs-cell]", inputs: ["column", "row", "rowIndex"] }, { type: i5.FsRowActionsComponent, selector: "fs-list-row-actions", inputs: ["row", "index", "restoreMode", "rowActions", "rowRemoved", "menuRowActions", "inlineRowActions", "restoreAction"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
215
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowComponent, decorators: [{
|
|
216
223
|
type: Component,
|
|
217
224
|
args: [{
|
|
@@ -247,8 +254,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
247
254
|
}], cellRefs: [{
|
|
248
255
|
type: ViewChildren,
|
|
249
256
|
args: ['td']
|
|
257
|
+
}], isMultipleSelection: [{
|
|
258
|
+
type: HostBinding,
|
|
259
|
+
args: ['class.multiple-selection']
|
|
250
260
|
}], rowCssClass: [{
|
|
251
261
|
type: HostBinding,
|
|
252
262
|
args: ['class']
|
|
253
263
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L3Jvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBSUwsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGVBQWUsRUFDaEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7Ozs7Ozs7QUFRM0csTUFBTSxPQUFPLGNBQWM7SUF5Q3pCLFlBQ1MsRUFBYyxFQUNkLGlCQUFvQyxFQUNuQyxNQUF5QixFQUN6QixRQUF5QixFQUN6QixTQUFvQixFQUNwQixjQUE0QztRQUw3QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFp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QUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEdBdFBVLGNBQWM7Z0dBQWQsY0FBYywyZkN0QzNCLHd1RkF1RUE7NEZEakNhLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSxvQkFBb0I7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtrUUFJUSxJQUFJO3NCQURWLFdBQVc7dUJBQUMsV0FBVztnQkFHUixHQUFHO3NCQUFsQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxZQUFZO3VCQUFDLElBQUk7Z0JBNkNkLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEtleVZhbHVlRGlmZmVycyxcbiAgUmVuZGVyZXIyLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgS2V5VmFsdWVEaWZmZXIsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbHVtbi5tb2RlbCc7XG5pbXBvcnQge1xuICBSZW9yZGVyQ29udHJvbGxlcixcbiAgUmVvcmRlclBvc2l0aW9uLFxuICBSZW9yZGVyU3RyYXRlZ3lcbn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9yZW9yZGVyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvc2VsZWN0aW9uLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBGc0xpc3REcmFnZ2FibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9kcmFnZ2FibGUtbGlzdC9kcmFnZ2FibGUtbGlzdC5kaXJlY3RpdmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tmcy1saXN0LXJvd10nLFxuICB0ZW1wbGF0ZVVybDogJ3Jvdy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJvbGUgPSAncm93JztcblxuICBASW5wdXQoKSBwdWJsaWMgcm93OiBSb3c7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dBY3Rpb25zUmF3OiBhbnkgW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGdyb3VwQWN0aW9uc1JhdzogYW55IFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNSb3dBY3Rpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dFdmVudHMgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIHJvd0NsYXNzO1xuICBASW5wdXQoKSBwdWJsaWMgcmVzdG9yZU1vZGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgcm93SW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIGNvbHVtbnM6IENvbHVtbltdO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb25Db250cm9sbGVyO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dSZW1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuXG4gIEBWaWV3Q2hpbGRyZW4oJ3RkJylcbiAgcHVibGljIGNlbGxSZWZzO1xuXG4gIHB1YmxpYyByZWFkb25seSBSZW9yZGVyUG9zaXRpb24gPSBSZW9yZGVyUG9zaXRpb247XG4gIHB1YmxpYyByZWFkb25seSBSZW9yZGVyU3RyYXRlZ3kgPSBSZW9yZGVyU3RyYXRlZ3k7XG5cbiAgcHVibGljIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgcHVibGljIG1lbnVSb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgaW5saW5lUm93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcbiAgcHVibGljIHJlc3RvcmVBY3Rpb246IFJvd0FjdGlvbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHVibGljIGluZGV0ZXJtaW5hdGVTZWxlY3RlZDogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3Jvd0RpZmZlcjogS2V5VmFsdWVEaWZmZXI8YW55LCBhbnk+O1xuXG4gIHByaXZhdGUgX2V2ZW50TGlzdGVuZXJzID0gW107XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgcmVvcmRlckNvbnRyb2xsZXI6IFJlb3JkZXJDb250cm9sbGVyLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9kaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF9kcmFnZ2FibGVMaXN0OiBGc0xpc3REcmFnZ2FibGVMaXN0RGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLl9yb3dEaWZmZXIgPSBfZGlmZmVycy5maW5kKHt9KS5jcmVhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cFJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3cuaXNHcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDaGlsZFJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3cuaXNDaGlsZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cEZvb3RlclJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3cuaXNHcm91cEZvb3RlcjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgcm93Q3NzQ2xhc3MoKSB7XG4gICAgbGV0IGNscyA9ICdmcy1saXN0LXJvdyc7XG5cbiAgICBpZiAodGhpcy5yb3dJbmRleCAlIDIgIT09IDApIGNscyArPSAnIGZzLWxpc3Qtcm93LW9kZCc7XG4gICAgaWYgKHRoaXMucm93SW5kZXggJSAyID09PSAwKSBjbHMgKz0gJyBmcy1saXN0LXJvdy1ldmVuJztcblxuICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwKSBjbHMgKz0gJyBmcy1saXN0LXJvdy1ncm91cCc7XG5cbiAgICBpZiAodGhpcy5yb3dDbGFzcykge1xuICAgICAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgICAgICBpbmRleDogdGhpcy5yb3dJbmRleCxcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnJvdy5pc0dyb3VwKSB7XG4gICAgICAgIG9wdGlvbnMuZ3JvdXBJbmRleCA9IHRoaXMucm93LmluZGV4O1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnJvdy5pc0NoaWxkKSB7XG4gICAgICAgIG9wdGlvbnMuZ3JvdXBJbmRleCA9IHRoaXMucm93LmluZGV4O1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHRDbGFzcyA9IHRoaXMucm93Q2xhc3ModGhpcy5yb3cuZGF0YSwgb3B0aW9ucyk7XG5cbiAgICAgIGlmICh0eXBlb2YgcmVzdWx0Q2xhc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNscyArPSBgICR7cmVzdWx0Q2xhc3N9YDtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlc3VsdENsYXNzID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocmVzdWx0Q2xhc3MpO1xuICAgICAgICBmb3IgKGNvbnN0IGsgb2Yga2V5cykge1xuICAgICAgICAgIGlmIChyZXN1bHRDbGFzc1trXSA9PT0gdHJ1ZSkgY2xzICs9IGAgJHtrfWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xzO1xuICB9XG5cbiAgcHVibGljIGdldCBkcmFnQ2VsbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnJvdy5pc0dyb3VwO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdFJvd0V2ZW50cygpO1xuICAgIHRoaXMuaW5pdFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHRoaXMucm93ICYmIHRoaXMucm93LmlzR3JvdXApIHtcbiAgICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwICYmIHRoaXMuZ3JvdXBBY3Rpb25zUmF3KSB7XG4gICAgICAgIHRoaXMucm93QWN0aW9ucyA9IHRoaXMuZ3JvdXBBY3Rpb25zUmF3Lm1hcCgoYWN0aW9uKSA9PiBuZXcgUm93QWN0aW9uKGFjdGlvbikpO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5yb3dBY3Rpb25zUmF3KSB7XG4gICAgICB0aGlzLnJvd0FjdGlvbnMgPSB0aGlzLnJvd0FjdGlvbnNSYXcubWFwKChhY3Rpb24pID0+IG5ldyBSb3dBY3Rpb24oYWN0aW9uKSk7XG5cbiAgICAgIHRoaXMuZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuX3Jvd0RpZmZlci5kaWZmKHRoaXMucm93KSkge1xuICAgICAgaWYgKHRoaXMucm93QWN0aW9ucykge1xuICAgICAgICB0aGlzLnJvd0FjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgYWN0aW9uLmNoZWNrU2hvd1N0YXR1cyh0aGlzLnJvdy5kYXRhLCB0aGlzLnJvd0luZGV4KTtcbiAgICAgICAgICBhY3Rpb24udXBkYXRlTGluayh0aGlzLnJvdy5kYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHsgbGlzdGVuZXIoKSB9KTtcblxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCByb3cgYnkgY2hlY2tib3hcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqL1xuICBwdWJsaWMgc2VsZWN0Um93KGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIHRoaXMuc2VsZWN0aW9uLnJvd1NlbGVjdGlvbkNoYW5nZSh0aGlzLnJvdywgZXZlbnQuY2hlY2tlZCk7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhY2sgQnkgZm9yIGltcHJvdmUgY2hhbmdlIGRldGVjdGlvblxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICovXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgZHJhZ1N0YXJ0KGV2ZW50KSB7XG4gICAgaWYgKHRoaXMucmVvcmRlckNvbnRyb2xsZXIuZW5hYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICB0aGlzLl9kcmFnZ2FibGVMaXN0LmRyYWdTdGFydCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZXZlbnQgbGlzdGVuZXJzIGZvciByb3dcbiAgICovXG4gIHByaXZhdGUgaW5pdFJvd0V2ZW50cygpIHtcbiAgICBmb3IgKGNvbnN0IGV2ZW50IGluIHRoaXMucm93RXZlbnRzKSB7XG4gICAgICBpZiAodGhpcy5yb3dFdmVudHMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVyID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgZXZlbnQsIChldnQpID0+IHtcbiAgICAgICAgICAvLyBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAvLyBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMucmVvcmRlckNvbnRyb2xsZXIuZW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5yb3dFdmVudHNbZXZlbnRdKHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGV2dCxcbiAgICAgICAgICAgICAgcm93OiB0aGlzLnJvdy5kYXRhLFxuICAgICAgICAgICAgICByb3dJbmRleDogdGhpcy5yb3dJbmRleFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9ldmVudExpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHNlbGVjdGlvbiBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIGluaXRTZWxlY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnJvdyAmJiB0aGlzLnNlbGVjdGlvbi5pc1Jvd1NlbGVjdGVkKHRoaXMucm93LmRhdGEpO1xuXG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3Rpb25DaGFuZ2UkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIC8vIFdvdWxkIGxpa2UgdG8gcmVzcG9uZCBvbmx5IHdoZW4gY2hlY2tib3ggb24gdG9wIGlzIGNoYW5nZWRcbiAgICAgICAgICAvLyAvLyBvciB3YXMgY2xpY2tlZCBcIlNlbGVjdCBBbGxcIiBpbiBzZWxlY3Rpb24gZGlhbG9nXG4gICAgICAgICAgLy8gZmlsdGVyKCh7dHlwZX0pID0+IHtcbiAgICAgICAgICAvLyAgIHJldHVybiB0eXBlID09PSBTZWxlY3Rpb25DaGFuZ2VUeXBlLkFsbFZpc2libGVTZWxlY3Rpb25DaGFuZ2VcbiAgICAgICAgICAvLyAgICAgfHwgdHlwZSA9PT0gU2VsZWN0aW9uQ2hhbmdlVHlwZS5TZWxlY3RlZEFsbDtcbiAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnJvdyAmJiB0aGlzLnNlbGVjdGlvbi5pc1Jvd1NlbGVjdGVkKHRoaXMucm93LmRhdGEpO1xuXG4gICAgICAgICAgaWYgKHRoaXMucm93Py5pc0dyb3VwKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cFNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmlzR3JvdXBTZWxlY3RlZCh0aGlzLnJvdyk7XG5cbiAgICAgICAgICAgIGlmIChncm91cFNlbGVjdGlvbiA9PT0gJ2luZGV0ZXJtaW5hdGUnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gZ3JvdXBTZWxlY3Rpb247XG4gICAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLm1lbnVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5pbmxpbmVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5yZXN0b3JlQWN0aW9uID0gbnVsbDtcblxuICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcblxuICAgICAgaWYgKCFhY3Rpb24uaXNTaG93bikgeyByZXR1cm4gfVxuXG4gICAgICBpZiAoYWN0aW9uLm1lbnUgJiYgIWFjdGlvbi5yZXN0b3JlKSB7XG4gICAgICAgIHRoaXMubWVudVJvd0FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgfSBlbHNlIGlmICghYWN0aW9uLm1lbnUgJiYgIWFjdGlvbi5yZXN0b3JlKSB7XG4gICAgICAgIHRoaXMuaW5saW5lUm93QWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvbi5yZXN0b3JlKSB7XG4gICAgICAgIHRoaXMucmVzdG9yZUFjdGlvbiA9IGFjdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLSBEcmFnIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlb3JkZXJDb250cm9sbGVyLmxlZnRSZW9yZGVyQWN0aXZhdGVkJCB8IGFzeW5jXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcmFnQ2VsbFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gU2VsZWN0aW9uIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGlvbiAmJiAhKHNlbGVjdGlvbi5kaXNhYmxlZCQgfCBhc3luYylcIj5cbiAgPHRkIGNsYXNzPVwiZnMtbGlzdC1jb2wgZnMtbGlzdC1jb2wtc2VsZWN0aW9uXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyb3cuaXNHcm91cEZvb3RlclwiPlxuICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cInNlbGVjdFJvdygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlU2VsZWN0ZWRcIj5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RkPlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gQ29udGVudCAtLT5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5OiB0cmFja0J5Rm47IGxldCBpc0ZpcnN0ID0gZmlyc3RcIj5cbiAgPHRkIGZzLWNlbGxcbiAgICAgICpuZ0lmPVwiKGlzR3JvdXBSb3cgJiYgIWNvbHVtbi5ncm91cEhlYWRlckNvbHNwYW5uZWQpXG4gICAgICAgIHx8IChpc0dyb3VwRm9vdGVyUm93ICYmICFjb2x1bW4uZ3JvdXBGb290ZXJDb2xzcGFubmVkKVxuICAgICAgICB8fCAoIWlzR3JvdXBSb3cgJiYgIWlzR3JvdXBGb290ZXJSb3cgJiYgIWNvbHVtbi5jZWxsQ29sc3Bhbm5lZClcIlxuICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgW3Jvd0luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgIFtjbGFzc109XCIoaXNHcm91cFJvdyAmJiBjb2x1bW4uZ3JvdXBIZWFkZXJDb25maWdzLmNsYXNzZXNTdHJpbmcpXG4gICAgICAgIHx8IChpc0dyb3VwRm9vdGVyUm93ICYmIGNvbHVtbi5ncm91cEZvb3RlckNvbmZpZ3MuY2xhc3Nlc1N0cmluZylcbiAgICAgICAgfHwgKCFpc0dyb3VwRm9vdGVyUm93ICYmIGNvbHVtbi5jZWxsQ29uZmlncy5jbGFzc2VzU3RyaW5nKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdwcmltYXJ5LWNvbCc6IGlzRmlyc3QgfVwiXG4gICAgICBbYXR0ci5jb2xzcGFuXT1cIihpc0dyb3VwUm93ICYmIGNvbHVtbi5ncm91cEhlYWRlckNvbmZpZ3MuY29sc3BhbilcbiAgICAgICAgfHwgKGlzR3JvdXBGb290ZXJSb3cgJiYgY29sdW1uLmdyb3VwRm9vdGVyQ29uZmlncy5jb2xzcGFuKVxuICAgICAgICB8fCBjb2x1bW4uY2VsbENvbmZpZ3MuY29sc3BhblwiXG4gICAgICBbYXR0ci53aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICA+XG4gIDwvdGQ+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBEcmFnIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlb3JkZXJDb250cm9sbGVyLnJpZ2h0UmVvcmRlckFjdGl2YXRlZCQgfCBhc3luY1wiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJhZ0NlbGxcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIFJvdyBBY3Rpb25zIC0tPlxuPHRkICpuZ0lmPVwiaGFzUm93QWN0aW9ucyAmJiAhKHJlb3JkZXJDb250cm9sbGVyLm1hbnVhbFJlb3JkZXJBY3RpdmF0ZWQkIHwgYXN5bmMpXCIgY2xhc3M9XCJmcy1saXN0LWNvbCByb3ctYWN0aW9uc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzR3JvdXBGb290ZXJSb3dcIj5cbiAgICA8ZnMtbGlzdC1yb3ctYWN0aW9ucyBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcm93QWN0aW9uc109XCJyb3dBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbWVudVJvd0FjdGlvbnNdPVwibWVudVJvd0FjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVSb3dBY3Rpb25zXT1cImlubGluZVJvd0FjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXN0b3JlQWN0aW9uXT1cInJlc3RvcmVBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXN0b3JlTW9kZV09XCJyZXN0b3JlTW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd1JlbW92ZWRdPVwicm93UmVtb3ZlZFwiXG4gICAgPjwvZnMtbGlzdC1yb3ctYWN0aW9ucz5cbiAgPC9uZy1jb250YWluZXI+XG48L3RkPlxuXG48bmctdGVtcGxhdGUgI2RyYWdDZWxsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJhZ0NlbGxWaXNpYmxlICYmICFpc0dyb3VwRm9vdGVyUm93OyBlbHNlIGVtcHR5Q2VsbFwiPlxuICAgIDx0ZCBjbGFzcz1cImZzLWxpc3QtY29sIGRyYWctY29sXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJkcmFnU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICh0b3VjaHN0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+ZHJhZ19oYW5kbGU8L21hdC1pY29uPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2VtcHR5Q2VsbD5cbiAgICA8dGQgY2xhc3M9XCJmcy1saXN0LWNvbCBkcmFnLWNvbFwiPjwvdGQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9ib2R5L3Jvdy9yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2JvZHkvcm93L3Jvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBSUwsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGVBQWUsRUFDaEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7Ozs7Ozs7QUFRM0csTUFBTSxPQUFPLGNBQWM7SUF5Q3pCLFlBQ1MsRUFBYyxFQUNkLGlCQUFvQyxFQUNuQyxNQUF5QixFQUN6QixRQUF5QixFQUN6QixTQUFvQixFQUNwQixjQUE0QztRQUw3QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFp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dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIFJlbmRlcmVyMixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIEtleVZhbHVlRGlmZmVyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHtcbiAgUmVvcmRlckNvbnRyb2xsZXIsXG4gIFJlb3JkZXJQb3NpdGlvbixcbiAgUmVvcmRlclN0cmF0ZWd5XG59IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvcmVvcmRlci1jb250cm9sbGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3NlbGVjdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7IFJvd0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yb3ctYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yb3cnO1xuaW1wb3J0IHsgRnNMaXN0RHJhZ2dhYmxlTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZHJhZ2dhYmxlLWxpc3QvZHJhZ2dhYmxlLWxpc3QuZGlyZWN0aXZlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1yb3ddJyxcbiAgdGVtcGxhdGVVcmw6ICdyb3cuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGc1Jvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3Jvdyc7XG5cbiAgQElucHV0KCkgcHVibGljIHJvdzogUm93O1xuICBASW5wdXQoKSBwdWJsaWMgcm93QWN0aW9uc1JhdzogYW55IFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBncm91cEFjdGlvbnNSYXc6IGFueSBbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgaGFzUm93QWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcm93RXZlbnRzID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyByb3dDbGFzcztcbiAgQElucHV0KCkgcHVibGljIHJlc3RvcmVNb2RlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIHJvd0luZGV4OiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb2x1bW5zOiBDb2x1bW5bXTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uQ29udHJvbGxlcjtcblxuICBASW5wdXQoKSBwdWJsaWMgcm93UmVtb3ZlZDogRXZlbnRFbWl0dGVyPGFueT47XG5cblxuICBAVmlld0NoaWxkcmVuKCd0ZCcpXG4gIHB1YmxpYyBjZWxsUmVmcztcblxuICBwdWJsaWMgcmVhZG9ubHkgUmVvcmRlclBvc2l0aW9uID0gUmVvcmRlclBvc2l0aW9uO1xuICBwdWJsaWMgcmVhZG9ubHkgUmVvcmRlclN0cmF0ZWd5ID0gUmVvcmRlclN0cmF0ZWd5O1xuXG4gIHB1YmxpYyByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuXG4gIHB1YmxpYyBtZW51Um93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcbiAgcHVibGljIGlubGluZVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG4gIHB1YmxpYyByZXN0b3JlQWN0aW9uOiBSb3dBY3Rpb247XG5cbiAgcHVibGljIHNlbGVjdGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbmRldGVybWluYXRlU2VsZWN0ZWQ6IGJvb2xlYW4gfCAnaW5kZXRlcm1pbmF0ZScgPSBmYWxzZTtcblxuICBwcml2YXRlIF9yb3dEaWZmZXI6IEtleVZhbHVlRGlmZmVyPGFueSwgYW55PjtcblxuICBwcml2YXRlIF9ldmVudExpc3RlbmVycyA9IFtdO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIHJlb3JkZXJDb250cm9sbGVyOiBSZW9yZGVyQ29udHJvbGxlcixcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZHJhZ2dhYmxlTGlzdDogRnNMaXN0RHJhZ2dhYmxlTGlzdERpcmVjdGl2ZSxcbiAgKSB7XG4gICAgdGhpcy5fcm93RGlmZmVyID0gX2RpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR3JvdXBSb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm93LmlzR3JvdXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpbGRSb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm93LmlzQ2hpbGQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR3JvdXBGb290ZXJSb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm93LmlzR3JvdXBGb290ZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRHJhZ0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zZWxlY3RlZCAmJiB0aGlzLnJlb3JkZXJDb250cm9sbGVyLm11bHRpcGxlICYmICEhdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWRSb3dzLnNpemU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpcGxlLXNlbGVjdGlvbicpXG4gIGdldCBpc011bHRpcGxlU2VsZWN0aW9uKCkge1xuICAgIGNvbnN0IG11bHRpcGxlID0gdGhpcy5yZW9yZGVyQ29udHJvbGxlci5tdWx0aXBsZTtcblxuICAgIHJldHVybiBtdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCByb3dDc3NDbGFzcygpIHtcbiAgICBsZXQgY2xzID0gJ2ZzLWxpc3Qtcm93JztcblxuICAgIGlmICh0aGlzLnJvd0luZGV4ICUgMiAhPT0gMCkgY2xzICs9ICcgZnMtbGlzdC1yb3ctb2RkJztcbiAgICBpZiAodGhpcy5yb3dJbmRleCAlIDIgPT09IDApIGNscyArPSAnIGZzLWxpc3Qtcm93LWV2ZW4nO1xuXG4gICAgaWYgKHRoaXMucm93ICYmIHRoaXMucm93LmlzR3JvdXApIGNscyArPSAnIGZzLWxpc3Qtcm93LWdyb3VwJztcblxuICAgIGlmICh0aGlzLnJvd0NsYXNzKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XG4gICAgICAgIGluZGV4OiB0aGlzLnJvd0luZGV4LFxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMucm93LmlzR3JvdXApIHtcbiAgICAgICAgb3B0aW9ucy5ncm91cEluZGV4ID0gdGhpcy5yb3cuaW5kZXg7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucm93LmlzQ2hpbGQpIHtcbiAgICAgICAgb3B0aW9ucy5ncm91cEluZGV4ID0gdGhpcy5yb3cuaW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdENsYXNzID0gdGhpcy5yb3dDbGFzcyh0aGlzLnJvdy5kYXRhLCBvcHRpb25zKTtcblxuICAgICAgaWYgKHR5cGVvZiByZXN1bHRDbGFzcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY2xzICs9IGAgJHtyZXN1bHRDbGFzc31gO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0Q2xhc3MgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZXN1bHRDbGFzcyk7XG4gICAgICAgIGZvciAoY29uc3QgayBvZiBrZXlzKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdENsYXNzW2tdID09PSB0cnVlKSBjbHMgKz0gYCAke2t9YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRyYWdDZWxsVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucm93LmlzR3JvdXA7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0Um93RXZlbnRzKCk7XG4gICAgdGhpcy5pbml0U2VsZWN0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5yb3cgJiYgdGhpcy5yb3cuaXNHcm91cCkge1xuICAgICAgaWYgKHRoaXMucm93ICYmIHRoaXMucm93LmlzR3JvdXAgJiYgdGhpcy5ncm91cEFjdGlvbnNSYXcpIHtcbiAgICAgICAgdGhpcy5yb3dBY3Rpb25zID0gdGhpcy5ncm91cEFjdGlvbnNSYXcubWFwKChhY3Rpb24pID0+IG5ldyBSb3dBY3Rpb24oYWN0aW9uKSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJBY3Rpb25zQnlDYXRlZ29yaWVzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnJvd0FjdGlvbnNSYXcpIHtcbiAgICAgIHRoaXMucm93QWN0aW9ucyA9IHRoaXMucm93QWN0aW9uc1Jhdy5tYXAoKGFjdGlvbikgPT4gbmV3IFJvd0FjdGlvbihhY3Rpb24pKTtcblxuICAgICAgdGhpcy5maWx0ZXJBY3Rpb25zQnlDYXRlZ29yaWVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5fcm93RGlmZmVyLmRpZmYodGhpcy5yb3cpKSB7XG4gICAgICBpZiAodGhpcy5yb3dBY3Rpb25zKSB7XG4gICAgICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBhY3Rpb24uY2hlY2tTaG93U3RhdHVzKHRoaXMucm93LmRhdGEsIHRoaXMucm93SW5kZXgpO1xuICAgICAgICAgIGFjdGlvbi51cGRhdGVMaW5rKHRoaXMucm93LmRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWx0ZXJBY3Rpb25zQnlDYXRlZ29yaWVzKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9ldmVudExpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4geyBsaXN0ZW5lcigpIH0pO1xuXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IHJvdyBieSBjaGVja2JveFxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIHB1YmxpYyBzZWxlY3RSb3coZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24ucm93U2VsZWN0aW9uQ2hhbmdlKHRoaXMucm93LCBldmVudC5jaGVja2VkKTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayBCeSBmb3IgaW1wcm92ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBkcmFnU3RhcnQoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5yZW9yZGVyQ29udHJvbGxlci5lbmFibGVkICYmICF0aGlzLmlzRHJhZ0Rpc2FibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIHRoaXMuX2RyYWdnYWJsZUxpc3QuZHJhZ1N0YXJ0KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBldmVudCBsaXN0ZW5lcnMgZm9yIHJvd1xuICAgKi9cbiAgcHJpdmF0ZSBpbml0Um93RXZlbnRzKCkge1xuICAgIGZvciAoY29uc3QgZXZlbnQgaW4gdGhpcy5yb3dFdmVudHMpIHtcbiAgICAgIGlmICh0aGlzLnJvd0V2ZW50cy5oYXNPd25Qcm9wZXJ0eShldmVudCkpIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXIgPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCBldmVudCwgKGV2dCkgPT4ge1xuICAgICAgICAgIC8vIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIC8vIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgIGlmICghdGhpcy5yZW9yZGVyQ29udHJvbGxlci5lbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJvd0V2ZW50c1tldmVudF0oe1xuICAgICAgICAgICAgICBldmVudDogZXZ0LFxuICAgICAgICAgICAgICByb3c6IHRoaXMucm93LmRhdGEsXG4gICAgICAgICAgICAgIHJvd0luZGV4OiB0aGlzLnJvd0luZGV4XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gc2VsZWN0aW9uIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgaW5pdFNlbGVjdGlvbigpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnJvdyAmJiB0aGlzLnNlbGVjdGlvbi5pc1Jvd1NlbGVjdGVkKHRoaXMucm93LmRhdGEpO1xuXG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3Rpb25DaGFuZ2UkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIC8vIFdvdWxkIGxpa2UgdG8gcmVzcG9uZCBvbmx5IHdoZW4gY2hlY2tib3ggb24gdG9wIGlzIGNoYW5nZWRcbiAgICAgICAgICAvLyAvLyBvciB3YXMgY2xpY2tlZCBcIlNlbGVjdCBBbGxcIiBpbiBzZWxlY3Rpb24gZGlhbG9nXG4gICAgICAgICAgLy8gZmlsdGVyKCh7dHlwZX0pID0+IHtcbiAgICAgICAgICAvLyAgIHJldHVybiB0eXBlID09PSBTZWxlY3Rpb25DaGFuZ2VUeXBlLkFsbFZpc2libGVTZWxlY3Rpb25DaGFuZ2VcbiAgICAgICAgICAvLyAgICAgfHwgdHlwZSA9PT0gU2VsZWN0aW9uQ2hhbmdlVHlwZS5TZWxlY3RlZEFsbDtcbiAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnJvdyAmJiB0aGlzLnNlbGVjdGlvbi5pc1Jvd1NlbGVjdGVkKHRoaXMucm93LmRhdGEpO1xuXG4gICAgICAgICAgaWYgKHRoaXMucm93Py5pc0dyb3VwKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cFNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmlzR3JvdXBTZWxlY3RlZCh0aGlzLnJvdyk7XG5cbiAgICAgICAgICAgIGlmIChncm91cFNlbGVjdGlvbiA9PT0gJ2luZGV0ZXJtaW5hdGUnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gZ3JvdXBTZWxlY3Rpb247XG4gICAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyQWN0aW9uc0J5Q2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLm1lbnVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5pbmxpbmVSb3dBY3Rpb25zID0gW107XG4gICAgdGhpcy5yZXN0b3JlQWN0aW9uID0gbnVsbDtcblxuICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcblxuICAgICAgaWYgKCFhY3Rpb24uaXNTaG93bikgeyByZXR1cm4gfVxuXG4gICAgICBpZiAoYWN0aW9uLm1lbnUgJiYgIWFjdGlvbi5yZXN0b3JlKSB7XG4gICAgICAgIHRoaXMubWVudVJvd0FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgfSBlbHNlIGlmICghYWN0aW9uLm1lbnUgJiYgIWFjdGlvbi5yZXN0b3JlKSB7XG4gICAgICAgIHRoaXMuaW5saW5lUm93QWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvbi5yZXN0b3JlKSB7XG4gICAgICAgIHRoaXMucmVzdG9yZUFjdGlvbiA9IGFjdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLSBEcmFnIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlb3JkZXJDb250cm9sbGVyLmxlZnRSZW9yZGVyQWN0aXZhdGVkJCB8IGFzeW5jXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcmFnQ2VsbFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gU2VsZWN0aW9uIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGlvbiAmJiAhKHNlbGVjdGlvbi5kaXNhYmxlZCQgfCBhc3luYylcIj5cbiAgPHRkIGNsYXNzPVwiZnMtbGlzdC1jb2wgZnMtbGlzdC1jb2wtc2VsZWN0aW9uXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyb3cuaXNHcm91cEZvb3RlclwiPlxuICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cInNlbGVjdFJvdygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlU2VsZWN0ZWRcIj5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RkPlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gQ29udGVudCAtLT5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5OiB0cmFja0J5Rm47IGxldCBpc0ZpcnN0ID0gZmlyc3RcIj5cbiAgPHRkIGZzLWNlbGxcbiAgICAgICpuZ0lmPVwiKGlzR3JvdXBSb3cgJiYgIWNvbHVtbi5ncm91cEhlYWRlckNvbHNwYW5uZWQpXG4gICAgICAgIHx8IChpc0dyb3VwRm9vdGVyUm93ICYmICFjb2x1bW4uZ3JvdXBGb290ZXJDb2xzcGFubmVkKVxuICAgICAgICB8fCAoIWlzR3JvdXBSb3cgJiYgIWlzR3JvdXBGb290ZXJSb3cgJiYgIWNvbHVtbi5jZWxsQ29sc3Bhbm5lZClcIlxuICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgW3Jvd0luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgIFtjbGFzc109XCIoaXNHcm91cFJvdyAmJiBjb2x1bW4uZ3JvdXBIZWFkZXJDb25maWdzLmNsYXNzZXNTdHJpbmcpXG4gICAgICAgIHx8IChpc0dyb3VwRm9vdGVyUm93ICYmIGNvbHVtbi5ncm91cEZvb3RlckNvbmZpZ3MuY2xhc3Nlc1N0cmluZylcbiAgICAgICAgfHwgKCFpc0dyb3VwRm9vdGVyUm93ICYmIGNvbHVtbi5jZWxsQ29uZmlncy5jbGFzc2VzU3RyaW5nKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdwcmltYXJ5LWNvbCc6IGlzRmlyc3QgfVwiXG4gICAgICBbYXR0ci5jb2xzcGFuXT1cIihpc0dyb3VwUm93ICYmIGNvbHVtbi5ncm91cEhlYWRlckNvbmZpZ3MuY29sc3BhbilcbiAgICAgICAgfHwgKGlzR3JvdXBGb290ZXJSb3cgJiYgY29sdW1uLmdyb3VwRm9vdGVyQ29uZmlncy5jb2xzcGFuKVxuICAgICAgICB8fCBjb2x1bW4uY2VsbENvbmZpZ3MuY29sc3BhblwiXG4gICAgICBbYXR0ci53aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICA+XG4gIDwvdGQ+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBEcmFnIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlb3JkZXJDb250cm9sbGVyLnJpZ2h0UmVvcmRlckFjdGl2YXRlZCQgfCBhc3luY1wiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJhZ0NlbGxcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48IS0tIFJvdyBBY3Rpb25zIC0tPlxuPHRkICpuZ0lmPVwiaGFzUm93QWN0aW9ucyAmJiAhKHJlb3JkZXJDb250cm9sbGVyLm1hbnVhbFJlb3JkZXJBY3RpdmF0ZWQkIHwgYXN5bmMpXCIgY2xhc3M9XCJmcy1saXN0LWNvbCByb3ctYWN0aW9uc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzR3JvdXBGb290ZXJSb3dcIj5cbiAgICA8ZnMtbGlzdC1yb3ctYWN0aW9ucyBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XT1cInJvd0luZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcm93QWN0aW9uc109XCJyb3dBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbWVudVJvd0FjdGlvbnNdPVwibWVudVJvd0FjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVSb3dBY3Rpb25zXT1cImlubGluZVJvd0FjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXN0b3JlQWN0aW9uXT1cInJlc3RvcmVBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXN0b3JlTW9kZV09XCJyZXN0b3JlTW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd1JlbW92ZWRdPVwicm93UmVtb3ZlZFwiXG4gICAgPjwvZnMtbGlzdC1yb3ctYWN0aW9ucz5cbiAgPC9uZy1jb250YWluZXI+XG48L3RkPlxuXG48bmctdGVtcGxhdGUgI2RyYWdDZWxsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJhZ0NlbGxWaXNpYmxlICYmICFpc0dyb3VwRm9vdGVyUm93OyBlbHNlIGVtcHR5Q2VsbFwiPlxuICAgIDx0ZCBjbGFzcz1cImZzLWxpc3QtY29sIGRyYWctY29sXCJcbiAgICAgICAgW2NsYXNzLmRyYWctZGlzYWJsZWRdPVwiaXNEcmFnRGlzYWJsZWRcIlxuICAgICAgICAobW91c2Vkb3duKT1cImRyYWdTdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKHRvdWNoc3RhcnQpPVwiZHJhZ1N0YXJ0KCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5kcmFnX2hhbmRsZTwvbWF0LWljb24+XG4gICAgPC90ZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjZW1wdHlDZWxsPlxuICAgIDx0ZCBjbGFzcz1cImZzLWxpc3QtY29sIGRyYWctY29sXCI+PC90ZD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|