@trudb/tru-common-lib 0.1.633 → 0.1.634

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.
@@ -223,7 +223,7 @@ export class TruCloneView extends TruViewBase {
223
223
  });
224
224
  newEntity.setProperty('_associatedDataCached', true);
225
225
  this.traverse(this.displayTree[0], newEntity);
226
- //this.view.data.add(newEntity);
226
+ this.view.entities?.push(newEntity);
227
227
  }
228
228
  this.windowEventHandler.close();
229
229
  };
@@ -331,4 +331,4 @@ class Node {
331
331
  }
332
332
  };
333
333
  }
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWNsb25lLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2xvbmUtdmlldy90cnUtY2xvbmUtdmlldy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9jbG9uZS12aWV3L3RydS1jbG9uZS12aWV3Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCN0QsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBa0MvQjtJQUNBO0lBQ0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBeENWLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsY0FBYyxHQUFXLGtDQUFrQyxDQUFDO0lBQzVELGNBQWMsQ0FBa0M7SUFDaEQsc0JBQXNCLENBQTRCO0lBQ2xELGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsUUFBUSxHQUFnQixJQUFJLENBQUM7SUFDN0Isa0JBQWtCLEdBQUc7UUFDbkIsWUFBWTtRQUNaLFNBQVM7UUFDVCxZQUFZO1FBQ1osU0FBUztRQUNULFFBQVE7UUFDUix5QkFBeUI7UUFDekIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YsY0FBYztRQUNkLFlBQVk7UUFDWixZQUFZO1FBQ1osZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLEtBQUs7S0FDTixDQUFDO0lBQ0YsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLFFBQVEsR0FBZ0IsRUFBRSxDQUFDO0lBQzNCLGFBQWEsR0FBZ0IsRUFBRSxDQUFDO0lBQ2hDLGNBQWMsR0FBVyxDQUFDLENBQUM7SUFDM0IsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUIsWUFDWSxXQUEyQixFQUMzQixrQkFBeUMsRUFDM0MsV0FBMkIsRUFDM0IsZ0JBQXFDLEVBQ3JDLG1CQUEyQyxFQUMzQyxlQUFtQyxFQUNuQywrQkFBbUUsRUFDbkUsY0FBaUM7UUFDekMsS0FBSyxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBUjdCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBQzNDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBQ25DLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBb0M7UUFDbkUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBRXpDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGlCQUFpQixHQUFHLEdBQXFDLEVBQUU7UUFDakUsSUFBSSxNQUFNLEdBQXFDLEVBQUUsQ0FBQztRQUNsRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTthQUNwQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFBO0lBRU8saUJBQWlCLEdBQUcsQ0FBQyxZQUFvQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtRQUN0RSxJQUFJLFlBQVksS0FBSyxTQUFTLEdBQUcsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JELElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRSxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsa0JBQWtCO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLElBQUksT0FBTyxnQkFBZ0IsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVHLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFBO0lBRVEsc0JBQXNCLEdBQUcsQ0FBQyxHQUFRLEVBQUUsRUFBRTtRQUM3QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFBO0lBRU8sa0NBQWtDLEdBQUcsQ0FBQyxhQUFrQixFQUFFLEVBQUU7UUFDbEUsd0VBQXdFO1FBQ3hFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFrQyxDQUFDO1FBQy9HLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsSUFBSSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFJLDRCQUE0QixHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RFLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLEdBQUcsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxlQUFlLEdBQWUsRUFBRSxDQUFDO1FBQ3JDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDN0MsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUMsQ0FBQTtJQUVPLHlCQUF5QixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1FBQ3ZELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQTtJQUVLLGNBQWMsR0FBRyxDQUFDLGFBQWtCLEVBQUUsSUFBUyxFQUFFLEVBQUU7UUFDekQsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFrQixFQUFFLEVBQUU7WUFDN0MsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRSxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxJQUFJLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FDdEIsSUFBSSxFQUNKLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNqQyxXQUFXLEVBQUUsV0FBcUIsRUFDbEMsS0FBSyxFQUNMLElBQUksRUFDSixFQUFFLEVBQ0YsRUFBRSxFQUNGLEtBQUssRUFDTCxJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUM7WUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU5QixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO2dCQUN6QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FDdEIsV0FBVyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFDekIsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEVBQUUsRUFDRixFQUFFLEVBQ0YsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLENBQ1osQ0FBQztnQkFFRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFUyxvQkFBb0IsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFPLEVBQUUsRUFBRTtRQUNuRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7WUFDbkMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUE7SUFFTyxhQUFhLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUNyQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDZCxJQUFJLElBQUksR0FBRztZQUNULEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztZQUNWLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUztTQUN2QixDQUFDO1FBQ0YsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsK0JBQStCLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQzVILElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07Z0JBQ2xELElBQUksQ0FBQyxjQUFjLEdBQUcsbUJBQW1CLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVPLFFBQVEsR0FBRyxDQUFDLElBQVMsRUFBRSxhQUFrQixFQUFFLEVBQUU7UUFDbkQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxTQUFTLENBQUMsT0FBTztvQkFDbkIsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTt3QkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBRXBGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDOUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO3dCQUN6RCxTQUFTLENBQUMsWUFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ25FLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsU0FBUyxDQUFDLFdBQVksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFFdEQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNuRSxhQUFhLENBQUMsR0FBRyxHQUFHLFdBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtvQkFDcEMsSUFBSSxTQUFTLENBQUMsT0FBTzt3QkFDbkIsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTs0QkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3RDLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUM7SUFFTSxpQkFBaUIsR0FBRyxHQUFHLEVBQUU7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDcEMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztZQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNYLElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRWxELElBQUksQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO2dCQUN4RixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFcEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsRUFBTyxFQUFFLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNuRyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUNiLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDL0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRXBGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBb0IsRUFBRSxFQUFFO2dCQUN4RSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3pELFNBQVMsQ0FBQyxZQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxDQUFDLFdBQVksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV0RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDOUMsZ0NBQWdDO1FBQ2xDLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsRUFBRTtRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUMsQ0FBQTtJQUVELFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUYsUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFFRixlQUFlLEdBQUcsR0FBRyxFQUFFO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQTtJQUVELGlCQUFpQixHQUFHLEdBQUcsRUFBRTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUE7SUFFRCx1QkFBdUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBRXpDLENBQUMsQ0FBQTtJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBZSxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO3VHQTVSVSxZQUFZOzJGQUFaLFlBQVksNkVDbkJ6Qiw0aUZBaURBOzsyRkQ5QmEsWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxnQkFBZ0I7O0FBbVM1QixNQUFNLElBQUk7SUFDUixHQUFHLENBQWdCO0lBQ25CLFNBQVMsQ0FBUztJQUNsQixXQUFXLENBQVM7SUFDcEIsT0FBTyxDQUFVO0lBQ2pCLEtBQUssQ0FBTTtJQUNYLFVBQVUsQ0FBTTtJQUNoQixZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLFlBQVksQ0FBZ0I7SUFDNUIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixJQUFJLENBQU07SUFDVixNQUFNLENBQU07SUFDWixNQUFNLENBQU07SUFFWixZQUNFLEdBQWtCLEVBQ2xCLFNBQWlCLEVBQ2pCLFdBQW1CLEVBQ25CLEtBQVUsRUFDVixPQUFnQixFQUNoQixhQUFrQixFQUNsQixZQUEyQixFQUMzQixJQUFhLEVBQ2IsTUFBVyxFQUNYLE1BQVc7UUFDWCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjLEdBQUcsR0FBRyxFQUFFO1FBQ3BCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDekIsQ0FBQyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxnQkFBZ0IsR0FBRyxHQUFHLEVBQUU7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDcEIsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDVCxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDakIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDcEQsT0FBTyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxZQUFZO29CQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxpQkFBaUIsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO29CQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO3dCQUN6QixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDckIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3BCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUN6QixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJ1Vmlld0Jhc2UgfSBmcm9tICcuLi8uLi9iYXNlLXZpZXdzL3RydS12aWV3LWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1kYXRhLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vdG9vbGJhci9jbGFzc2VzL3RydS10b29sYmFyLWRyb3Bkb3duLW9wdGlvbic7XHJcbmltcG9ydCB7IFRydVRleHRNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJ1LXRleHQtbWFuYWdlcic7XHJcbmltcG9ydCB7IFRydVdpbmRvd0V2ZW50SGFuZGxlciB9IGZyb20gJy4uL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1ldmVudC1oYW5kbGVyJztcclxuaW1wb3J0IHsgVHJ1TW9kZWxUYWJsZUxvb2t1cCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1tb2RlbC10YWJsZS1sb29rdXAnO1xyXG5pbXBvcnQgeyBUcnVVaU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS11aS1ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBUcnVNb2RlbFByb3BlcnR5TG9va3VwIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJ1LW1vZGVsLXByb3BlcnR5LWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydU1vZGVsVHlwZUxvb2t1cCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1tb2RlbC10eXBlLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydU1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXAgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtbW9kZWwtbmF2aWdhdGlvbi1wcm9wZXJ0aWVzLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydU5hdmlnYXRpb25Qcm9wZXJ0eUNvbmZpZyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdHJ1LW5hdmlnYXRpb24tcHJvcGVydHktY29uZmlnJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1jbG9uZS12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LWNsb25lLXZpZXcuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJ1LWNsb25lLXZpZXcuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUNsb25lVmlldyBleHRlbmRzIFRydVZpZXdCYXNlIHtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBsb2FkaW5nTWVzc2FnZTogc3RyaW5nID0gJ1NlYXJjaGluZyBmb3IgcmVsYXRlZCByZWNvcmRzLi4uJztcclxuICBudW1iZXJPZkNvcGllczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj5cclxuICBzZWxlY3RlZE51bWJlck9mQ29waWVzOiBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uO1xyXG4gIGNvbnRleHRGaWx0ZXJzID0gbnVsbDtcclxuICByb290Tm9kZTogTm9kZSB8IG51bGwgPSBudWxsOyBcclxuICBpZ25vcmVQcm9wZXJ0eUxpc3QgPSBbXHJcbiAgICAnQ3JlYXRlZFJlZicsXHJcbiAgICAnQ3JlYXRlZCcsXHJcbiAgICAnVXBkYXRlZFJlZicsXHJcbiAgICAnVXBkYXRlZCcsXHJcbiAgICAncm93dmVyJyxcclxuICAgICdfY3VzdG9tVmFsaWRhdGlvbkVycm9ycycsXHJcbiAgICAnZW50aXR5QXNwZWN0JyxcclxuICAgICdfYXNzb2NpYXRlZERhdGFDYWNoZWQnLFxyXG4gICAgJ19iYWNraW5nU3RvcmUnLFxyXG4gICAgJ19zZXREZWZhdWx0cycsXHJcbiAgICAnXyR0eXBlTmFtZScsXHJcbiAgICAnZW50aXR5VHlwZScsXHJcbiAgICAnXyRpbnRlcmNlcHRvcicsXHJcbiAgICAnZ2V0UHJvcGVydHknLFxyXG4gICAgJ3NldFByb3BlcnR5JyxcclxuICAgICdfcGVuZGluZ0JhY2tpbmdTdG9yZXMnLFxyXG4gICAgJ1JlZidcclxuICBdO1xyXG4gIGRhdGFUcmVlID0gW107XHJcbiAgZmxhdExpc3Q6IEFycmF5PE5vZGU+ID0gW107XHJcbiAgY2hpbGRGbGF0TGlzdDogQXJyYXk8Tm9kZT4gPSBbXTtcclxuICBwcm9jZXNzZWRDb3VudDogbnVtYmVyID0gMDtcclxuICBkb25lUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlUcmVlID0gW3RoaXMucm9vdE5vZGVdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB0ZXh0TWFuYWdlcjogVHJ1VGV4dE1hbmFnZXIsXHJcbiAgICBwcm90ZWN0ZWQgd2luZG93RXZlbnRIYW5kbGVyOiBUcnVXaW5kb3dFdmVudEhhbmRsZXIsXHJcbiAgICBwcml2YXRlIGRhdGFDb250ZXh0OiBUcnVEYXRhQ29udGV4dCxcclxuICAgIHByaXZhdGUgbW9kZWxUYWJsZUxvb2t1cDogVHJ1TW9kZWxUYWJsZUxvb2t1cCxcclxuICAgIHByaXZhdGUgbW9kZWxQcm9wZXJ0eUxvb2t1cDogVHJ1TW9kZWxQcm9wZXJ0eUxvb2t1cCxcclxuICAgIHByaXZhdGUgbW9kZWxUeXBlTG9va3VwOiBUcnVNb2RlbFR5cGVMb29rdXAsXHJcbiAgICBwcml2YXRlIG1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXA6IFRydU1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXAsXHJcbiAgICBwcml2YXRlIHVpTm90aWZpY2F0aW9uOiBUcnVVaU5vdGlmaWNhdGlvbikge1xyXG4gICAgc3VwZXIodGV4dE1hbmFnZXIsIHdpbmRvd0V2ZW50SGFuZGxlcik7XHJcbiAgICB0aGlzLm51bWJlck9mQ29waWVzID0gdGhpcy5nZXROdW1iZXJPZkNvcGllcygpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE51bWJlck9mQ29waWVzID0gdGhpcy5udW1iZXJPZkNvcGllc1swXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TnVtYmVyT2ZDb3BpZXMgPSAoKTogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gPT4ge1xyXG4gICAgbGV0IGNvcGllczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gPSBbXTtcclxuICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDI1OyBpKyspIHtcclxuICAgICAgY29waWVzLnB1c2goe1xyXG4gICAgICAgIHZhbHVlOiBpLFxyXG4gICAgICAgIGxhYmVsOiBpLnRvU3RyaW5nKClcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29waWVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wZXJ0eUlzQWxsb3dlZCA9IChwcm9wZXJ0eU5hbWU6IHN0cmluZywgdGFibGVOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09IHRhYmxlTmFtZSArICdSZWYnKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAocHJvcGVydHlOYW1lLnN0YXJ0c1dpdGgoJ28nKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgbGV0IHByb3BlcnR5ID0gdGhpcy5tb2RlbFByb3BlcnR5TG9va3VwLmxvb2t1cC5nZXQocHJvcGVydHlOYW1lKTtcclxuICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5leGNsdWRlRnJvbUNsb25pbmcpIHJldHVybiBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlnbm9yZVByb3BlcnR5TGlzdC5zb21lKGZ1bmN0aW9uIChwcm9wZXJ0eVRvSWdub3JlKSB7IHJldHVybiBwcm9wZXJ0eVRvSWdub3JlID09PSBwcm9wZXJ0eU5hbWU7IH0pKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSAgZ2V0UHJvdG90eXBlUHJvcGVydGllcyA9IChvYmo6IGFueSkgPT4ge1xyXG4gICAgdmFyIHJlc3VsdCA9IFtdO1xyXG4gICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHtcclxuICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkocHJvcCkpIHtcclxuICAgICAgICByZXN1bHQucHVzaChwcm9wKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2hpbGRQcm9wZXJ0aWVzRm9yQ3VycmVudEVudGl0eSA9IChjdXJyZW50RW50aXR5OiBhbnkpID0+IHtcclxuICAgIC8vdmFyIHByb3BlcnR5TmFtZXMgPSBPYmplY3Qua2V5cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3VycmVudEVudGl0eSkpO1xyXG4gICAgbGV0IGVudGl0eU5hbWUgPSB0aGlzLmdldFR5cGVGcm9tRW50aXR5VHlwZU5hbWUoY3VycmVudEVudGl0eS4kdHlwZSk7XHJcbiAgICBsZXQgY2hpbGRMb29rdXAgPSB0aGlzLm1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXAubG9va3VwLmdldChlbnRpdHlOYW1lKSBhcyBUcnVOYXZpZ2F0aW9uUHJvcGVydHlDb25maWdbXTtcclxuICAgIGxldCBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmtleXMoY3VycmVudEVudGl0eSk7XHJcbiAgICBsZXQgbmF2aWdhdGlvblByb3BlcnR5TmFtZXMgPSBwcm9wZXJ0eU5hbWVzLmZpbHRlcigobikgPT4geyByZXR1cm4gbi5zdGFydHNXaXRoKCdvJyk7IH0pO1xyXG4gICAgbGV0IGNoaWxkTmF2aWdhdGlvblByb3BlcnR5TmFtZXMgPSBuYXZpZ2F0aW9uUHJvcGVydHlOYW1lcy5maWx0ZXIoKG4pID0+IHtcclxuICAgICAgcmV0dXJuIGNoaWxkTG9va3VwLnNvbWUoKGxvb2t1cDogYW55KSA9PiB7IHJldHVybiBsb29rdXAubmFtZSA9PT0gbjsgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgY2hpbGRQcm9wZXJ0aWVzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBjaGlsZE5hdmlnYXRpb25Qcm9wZXJ0eU5hbWVzLmZpbHRlcihmdW5jdGlvbiAobikge1xyXG4gICAgICBpZiAoY3VycmVudEVudGl0eVtuXSAmJiBjdXJyZW50RW50aXR5W25dLmxlbmd0aCkgY2hpbGRQcm9wZXJ0aWVzLnB1c2goY3VycmVudEVudGl0eVtuXSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY2hpbGRQcm9wZXJ0aWVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUeXBlRnJvbUVudGl0eVR5cGVOYW1lID0gKHR5cGVOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHZhciBwMXMgPSB0eXBlTmFtZS5zcGxpdCgnLCcpWzBdO1xyXG4gICAgdmFyIHAycyA9IHAxcy5zcGxpdCgnLicpO1xyXG4gICAgcmV0dXJuIHAyc1twMnMubGVuZ3RoIC0gMV07XHJcbiAgfVxyXG5cclxucHJpdmF0ZSBidWlsZENsb25lVHJlZSA9IChjdXJyZW50RW50aXR5OiBhbnksIG5vZGU6IGFueSkgPT4ge1xyXG4gIHZhciBjaGlsZFByb3BlcnRpZXMgPSB0aGlzLmdldENoaWxkUHJvcGVydGllc0ZvckN1cnJlbnRFbnRpdHkoY3VycmVudEVudGl0eSk7XHJcbiAgY2hpbGRQcm9wZXJ0aWVzLmZvckVhY2goKGNoaWxkRW50aXRpZXM6IGFueSkgPT4ge1xyXG4gICAgbGV0IHR5cGUgPSB0aGlzLmdldFR5cGVGcm9tRW50aXR5VHlwZU5hbWUoY2hpbGRFbnRpdGllc1swXS4kdHlwZSk7XHJcbiAgICBsZXQgY2hpbGRMb29rdXAgPSB0aGlzLm1vZGVsVGFibGVMb29rdXAubG9va3VwLmdldCh0eXBlKTtcclxuICAgIGxldCBncm91cE5vZGUgPSBuZXcgTm9kZShcclxuICAgICAgbnVsbCxcclxuICAgICAgY2hpbGRFbnRpdGllc1swXS5jb25zdHJ1Y3Rvci5uYW1lLFxyXG4gICAgICBjaGlsZExvb2t1cD8ucGx1cmFsTGFiZWwgYXMgc3RyaW5nLFxyXG4gICAgICBmYWxzZSxcclxuICAgICAgdHJ1ZSxcclxuICAgICAgW10sXHJcbiAgICAgICcnLFxyXG4gICAgICBmYWxzZSxcclxuICAgICAgbm9kZSxcclxuICAgICAgbnVsbFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmZsYXRMaXN0LnB1c2goZ3JvdXBOb2RlKTtcclxuXHJcbiAgICBjaGlsZEVudGl0aWVzLmZvckVhY2goKGNoaWxkRW50aXR5OiBhbnkpID0+IHtcclxuICAgICAgbGV0IHR5cGUgPSB0aGlzLmdldFR5cGVGcm9tRW50aXR5VHlwZU5hbWUoY2hpbGRFbnRpdHkuJHR5cGUpO1xyXG4gICAgICBsZXQgY2hpbGROb2RlID0gbmV3IE5vZGUoXHJcbiAgICAgICAgY2hpbGRFbnRpdHlbdHlwZSArICdSZWYnXSxcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIHR5cGUsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICB0cnVlLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgICcnLFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICAgIGdyb3VwTm9kZSxcclxuICAgICAgICBjaGlsZEVudGl0eVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5jaGlsZEZsYXRMaXN0LnB1c2goY2hpbGROb2RlKTtcclxuICAgICAgZ3JvdXBOb2RlLm5vZGVzLnB1c2goY2hpbGROb2RlKTtcclxuICAgICAgdGhpcy5idWlsZENsb25lVHJlZShjaGlsZEVudGl0eSwgY2hpbGROb2RlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIG5vZGUubm9kZXMucHVzaChncm91cE5vZGUpO1xyXG4gIH0pO1xyXG59XHJcblxyXG4gIHByaXZhdGUgYXN5bmNGb3JFYWNoUmVjb3JkSWQgPSAoYXJyOiBhbnksIGNiOiBhbnkpID0+IHtcclxuICAgIHJldHVybiBhcnIucmVkdWNlKChwOiBhbnksIGM6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gcC50aGVuKCgpID0+IGNiKGMpKTtcclxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hSZWNvcmRJZCA9IChjaGlsZDogYW55KSA9PiB7XHJcbiAgICB2YXIgYyA9IGNoaWxkO1xyXG4gICAgdmFyIGRhdGEgPSB7XHJcbiAgICAgIHJlZjogYy5yZWYsXHJcbiAgICAgIHRhYmxlTmFtZTogYy50YWJsZU5hbWVcclxuICAgIH07XHJcbiAgICBkYXRhID0gdGhpcy50ZXh0TWFuYWdlci5mb3JtYXRBc1VybFBhcmFtZXRlcnMoZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnkpID0+IHtcclxuICAgICAgYy5kaXNwbGF5TmFtZSA9IGNoaWxkLmVudGl0eS5ISUQ7XHJcbiAgICAgIHRoaXMucHJvY2Vzc2VkQ291bnQrKztcclxuICAgICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdGb3JtYXR0aW5nIGRhdGEuLi5wcm9jZXNzZWQgKCcgKyB0aGlzLnByb2Nlc3NlZENvdW50ICsgJy8nICsgdGhpcy5jaGlsZEZsYXRMaXN0Lmxlbmd0aCArICcpIHJlY29yZHMnO1xyXG4gICAgICBpZiAodGhpcy5wcm9jZXNzZWRDb3VudCA+PSB0aGlzLmNoaWxkRmxhdExpc3QubGVuZ3RoKVxyXG4gICAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnUmVuZGVyaW5nIHRyZWUuLi4nO1xyXG4gICAgICByZXNvbHZlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhdmVyc2UgPSAobm9kZTogYW55LCBjdXJyZW50RW50aXR5OiBhbnkpID0+IHtcclxuICAgIHZhciBncm91cCA9ICFub2RlLmNoaWxkO1xyXG4gICAgaWYgKGdyb3VwKSB7XHJcbiAgICAgIHZhciBncm91cE5vZGVzID0gbm9kZS5ub2RlcztcclxuICAgICAgZ3JvdXBOb2Rlcy5mb3JFYWNoKChncm91cE5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChncm91cE5vZGUuY2hlY2tlZClcclxuICAgICAgICAgIGdyb3VwTm9kZS5ub2Rlcy5mb3JFYWNoKChjaGlsZE5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRyYXZlcnNlKGNoaWxkTm9kZSwgY3VycmVudEVudGl0eSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkKSB7XHJcbiAgICAgICAgbGV0IHRhYmxlVHlwZSA9IHRoaXMubW9kZWxUeXBlTG9va3VwLmdldFR5cGUodGhpcy50YWJsZU5hbWUpO1xyXG4gICAgICAgIGxldCBuZXdFbnRpdHkgPSB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLmFkZCh0YWJsZVR5cGUsIHRoaXMuY29udGV4dEZpbHRlcnMpO1xyXG4gICAgICAgIHR5cGUgT2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIG5ld0VudGl0eTtcclxuICAgICAgICB0aGlzLmdldFByb3RvdHlwZVByb3BlcnRpZXMobmV3RW50aXR5KS5mb3JFYWNoKChwcm9wZXJ0eU5hbWUpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnByb3BlcnR5SXNBbGxvd2VkKHByb3BlcnR5TmFtZSwgbm9kZS50YWJsZU5hbWUpKSB7XHJcbiAgICAgICAgICAgIG5ld0VudGl0eVtwcm9wZXJ0eU5hbWUgYXMgT2JqZWN0S2V5XSA9IG5vZGUuZW50aXR5W3Byb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIG5ld0VudGl0eS5zZXRQcm9wZXJ0eSEoJ19hc3NvY2lhdGVkRGF0YUNhY2hlZCcsIHRydWUpO1xyXG5cclxuICAgICAgICBsZXQgY2hpbGRMb29rdXAgPSB0aGlzLm1vZGVsVGFibGVMb29rdXAubG9va3VwLmdldChub2RlLnRhYmxlTmFtZSk7XHJcbiAgICAgICAgY3VycmVudEVudGl0eVsnbycgKyBjaGlsZExvb2t1cCEucGx1cmFsTmFtZV0ucHVzaChuZXdFbnRpdHkpO1xyXG4gICAgICAgIGxldCBjaGlsZE5vZGVzID0gbm9kZS5ub2RlcztcclxuICAgICAgICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hpbGROb2RlLmNoZWNrZWQpXHJcbiAgICAgICAgICAgIGNoaWxkTm9kZS5ub2Rlcy5mb3JFYWNoKChncm91cE5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhdmVyc2UoZ3JvdXBOb2RlLCBuZXdFbnRpdHkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YUZvckNsb25pbmcgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLmNsb25lKHtcclxuICAgICAgcmVmOiB0aGlzLmVudGl0eS5SZWYsXHJcbiAgICAgIHRhYmxlTmFtZTogdGhpcy50YWJsZU5hbWVcclxuICAgIH0pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhVHJlZSA9IHJlc3BvbnNlLkNvbnRlbnRbMF07XHJcbiAgICAgICAgdGhpcy5idWlsZENsb25lVHJlZSh0aGlzLmRhdGFUcmVlLCB0aGlzLnJvb3ROb2RlKTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdGb3JtYXR0aW5nIGRhdGEuLi4oMC8nICsgdGhpcy5jaGlsZEZsYXRMaXN0Lmxlbmd0aCArICcpIHJlY29yZHMnO1xyXG4gICAgICAgIHRoaXMuYXN5bmNGb3JFYWNoUmVjb3JkSWQodGhpcy5jaGlsZEZsYXRMaXN0LCB0aGlzLmZldGNoUmVjb3JkSWQpLnRoZW4odGhpcy5vbkRvbmUpO1xyXG5cclxuICAgICAgICB0aGlzLmRpc3BsYXlUcmVlID0gW3RoaXMucm9vdE5vZGVdO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGV4OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3InLCB0aGlzLnVpTm90aWZpY2F0aW9uLmVycm9yKCdTZXJ2ZXIgRXJyb3I6ICcgKyBleC5zdGF0dXMsIFtleC5lcnJvci5NZXNzYWdlXSkpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DbG9uZSA9ICgpID0+IHtcclxuICAgIGxldCBjb3BpZXMgPSB0aGlzLnNlbGVjdGVkTnVtYmVyT2ZDb3BpZXMudmFsdWU7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvcGllczsgaSsrKSB7XHJcbiAgICAgIGxldCB0YWJsZVR5cGUgPSB0aGlzLm1vZGVsVHlwZUxvb2t1cC5nZXRUeXBlKHRoaXMudGFibGVOYW1lKTtcclxuICAgICAgbGV0IG5ld0VudGl0eSA9IHRoaXMuZGF0YUNvbnRleHQuZW50aXR5QWNjZXNzKCkuYWRkKHRhYmxlVHlwZSwgdGhpcy5jb250ZXh0RmlsdGVycyk7XHJcbiAgICAgIHR5cGUgT2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIG5ld0VudGl0eTtcclxuICAgICAgdGhpcy5nZXRQcm90b3R5cGVQcm9wZXJ0aWVzKHRoaXMuZW50aXR5KS5mb3JFYWNoKChwcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BlcnR5SXNBbGxvd2VkKHByb3BlcnR5TmFtZSwgdGhpcy50YWJsZU5hbWUpKSB7XHJcbiAgICAgICAgICBuZXdFbnRpdHlbcHJvcGVydHlOYW1lIGFzIE9iamVjdEtleV0gPSB0aGlzLmVudGl0eVtwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBuZXdFbnRpdHkuc2V0UHJvcGVydHkhKCdfYXNzb2NpYXRlZERhdGFDYWNoZWQnLCB0cnVlKTtcclxuXHJcbiAgICAgIHRoaXMudHJhdmVyc2UodGhpcy5kaXNwbGF5VHJlZVswXSwgbmV3RW50aXR5KTtcclxuICAgICAgLy90aGlzLnZpZXcuZGF0YS5hZGQobmV3RW50aXR5KTtcclxuICAgIH1cclxuICAgIHRoaXMud2luZG93RXZlbnRIYW5kbGVyLmNsb3NlKCk7XHJcbiAgfTtcclxuXHJcbiAgb25Eb25lID0gKCkgPT4ge1xyXG4gICAgdGhpcy5kb25lUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblJlbmRlcmVkID0gKCkgPT4ge1xyXG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICcnO1xyXG4gIH07XHJcblxyXG4gIG9uQ2FuY2VsID0gKCkgPT4ge1xyXG4gICAgdGhpcy53aW5kb3dFdmVudEhhbmRsZXIuY2xvc2UoKTtcclxuICB9O1xyXG5cclxuICBvbkV4cGFuZENsaWNrZWQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNoaWxkRmxhdExpc3QuZmluZCgobm9kZTogTm9kZSkgPT4geyBub2RlLnNob3dFbnRpdGllcyA9IHRydWU7IH0pO1xyXG4gIH1cclxuICAgICBcclxuICBvbkNvbGxhcHNlQ2xpY2tlZCA9ICgpID0+IHtcclxuICAgIHRoaXMuY2hpbGRGbGF0TGlzdC5maW5kKChub2RlOiBOb2RlKSA9PiB7IG5vZGUuc2hvd0VudGl0aWVzID0gZmFsc2U7IH0pO1xyXG4gIH1cclxuXHJcbiAgb25OdW1iZXJPZkNvcGllc0NoYW5nZWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJsZU5hbWUgPSB0aGlzLnZpZXcud2luZG93LnRhYmxlTmFtZTtcclxuICAgIHRoaXMuZW50aXRpZXMgPSB0aGlzLnZpZXcuZW50aXRpZXMgYXMgYW55O1xyXG4gICAgdGhpcy5lbnRpdHkgPSB0aGlzLmVudGl0aWVzW3RoaXMudmlldy5lbnRpdHlJbmRleF07XHJcbiAgICB0aGlzLnJvb3ROb2RlID0gbmV3IE5vZGUobnVsbCwgdGhpcy50YWJsZU5hbWUsIHRoaXMudGFibGVOYW1lLCBmYWxzZSwgdHJ1ZSwgbnVsbCwgbnVsbCwgdHJ1ZSwgbnVsbCwgbnVsbCk7XHJcbiAgICB0aGlzLnNldEVudGl0eURpc3BsYXlWYWx1ZXModGhpcy52aWV3LndpbmRvdy50YWJsZU5hbWUpO1xyXG4gICAgdGhpcy5nZXREYXRhRm9yQ2xvbmluZygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRhdGFUcmVlLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLmZsYXRMaXN0Lmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLmNoaWxkRmxhdExpc3QubGVuZ3RoID0gMDtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIE5vZGUge1xyXG4gIHJlZjogbnVtYmVyIHwgbnVsbDtcclxuICB0YWJsZU5hbWU6IHN0cmluZztcclxuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgY2hpbGQ6IGFueTtcclxuICBjaGlsZE5vZGVzOiBhbnk7XHJcbiAgc2hvd0VudGl0aWVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGF0aEZyb21Sb290OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5vZGVzOiBOb2RlW10gPSBbXTtcclxuICByb290OiBhbnk7XHJcbiAgcGFyZW50OiBhbnk7XHJcbiAgZW50aXR5OiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcmVmOiBudW1iZXIgfCBudWxsLFxyXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nLFxyXG4gICAgY2hpbGQ6IGFueSxcclxuICAgIGNoZWNrZWQ6IGJvb2xlYW4sXHJcbiAgICBjaGlsZEVudGl0aWVzOiBhbnksXHJcbiAgICBwYXRoRnJvbVJvb3Q6IHN0cmluZyB8IG51bGwsXHJcbiAgICByb290OiBib29sZWFuLFxyXG4gICAgcGFyZW50OiBhbnksXHJcbiAgICBlbnRpdHk6IGFueSkge1xyXG4gICAgdGhpcy5yZWYgPSByZWY7XHJcbiAgICB0aGlzLnRhYmxlTmFtZSA9IHRhYmxlTmFtZTtcclxuICAgIHRoaXMuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTtcclxuICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLmNoaWxkID0gY2hpbGQ7XHJcbiAgICB0aGlzLmNoaWxkTm9kZXMgPSBjaGlsZEVudGl0aWVzO1xyXG4gICAgdGhpcy5wYXRoRnJvbVJvb3QgPSBwYXRoRnJvbVJvb3Q7XHJcbiAgICB0aGlzLnJvb3QgPSByb290O1xyXG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XHJcbiAgICB0aGlzLmVudGl0eSA9IGVudGl0eTtcclxuICB9XHJcblxyXG4gIG9uR3JvdXBEaXNwbGF5ID0gKCkgPT4ge1xyXG4gICAgdmFyIGN1cnJlbnRWYWx1ZSA9IHRoaXMuc2hvd0VudGl0aWVzID0gIXRoaXMuc2hvd0VudGl0aWVzO1xyXG4gICAgdGhpcy5ub2Rlcy5maW5kKChuOiBhbnkpID0+IHtcclxuICAgICAgbi5zaG93RW50aXRpZXMgPSBjdXJyZW50VmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2hlY2tlZENoYW5nZWQgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5jaGVja2VkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNoaWxkKSB7XHJcbiAgICAgICAgdmFyIHAgPSB0aGlzLnBhcmVudDtcclxuICAgICAgICB3aGlsZSAocCkge1xyXG4gICAgICAgICAgcC5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgIHAgPSBwLnBhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ub2Rlcy5maW5kKChuOiBhbnkpID0+IHsgbi5jaGVja2VkID0gdHJ1ZTsgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmNoaWxkKSB7XHJcbiAgICAgICAgdmFyIGFsbFVuY2hlY2tlZCA9IHRoaXMucGFyZW50Lm5vZGVzLmV2ZXJ5KChuOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBuLmNoZWNrZWQgPT09IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChhbGxVbmNoZWNrZWQpXHJcbiAgICAgICAgICB0aGlzLnBhcmVudC5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFyIHVuY2hlY2tDaGlsZE5vZGVzID0gKG5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgbm9kZS5ub2Rlcy5maW5kKChuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdW5jaGVja0NoaWxkTm9kZXMobik7XHJcbiAgICAgICAgICAgIG4uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLm5vZGVzLmZpbmQoKG46IGFueSkgPT4ge1xyXG4gICAgICAgICAgdW5jaGVja0NoaWxkTm9kZXMobik7XHJcbiAgICAgICAgICBuLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiPGRpdj5cclxuICA8dHJ1LXRvb2xiYXI+XHJcbiAgICA8dHJ1LXRvb2xiYXItYnV0dG9uIFtpY29uXT1cIidleHBhbmQtaWNvbidcIiBbdG9vbHRpcF09XCInRXhwYW5kJ1wiIFtkaXNhYmxlZF09XCIhZG9uZVByb2Nlc3NpbmdcIiAob25DbGljayk9XCJvbkV4cGFuZENsaWNrZWQoKVwiPjwvdHJ1LXRvb2xiYXItYnV0dG9uPlxyXG4gICAgPHRydS10b29sYmFyLWJ1dHRvbiBbaWNvbl09XCInY29sbGFwc2UtaWNvbidcIiBbdG9vbHRpcF09XCInQ29sbGFwc2UnXCIgW2Rpc2FibGVkXT1cIiFkb25lUHJvY2Vzc2luZ1wiIChvbkNsaWNrKT1cIm9uQ29sbGFwc2VDbGlja2VkKClcIj48L3RydS10b29sYmFyLWJ1dHRvbj5cclxuICAgIDx0cnUtdG9vbGJhci10ZXh0IFt0ZXh0XT1cIidDb3BpZXM6J1wiPjwvdHJ1LXRvb2xiYXItdGV4dD5cclxuICAgIDx0cnUtdG9vbGJhci1kcm9wZG93biBbb3B0aW9uc109XCJudW1iZXJPZkNvcGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWyhzZWxlY3RlZE9wdGlvbildPVwic2VsZWN0ZWROdW1iZXJPZkNvcGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFkb25lUHJvY2Vzc2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbk51bWJlck9mQ29waWVzQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICA8L3RydS10b29sYmFyLWRyb3Bkb3duPlxyXG4gIDwvdHJ1LXRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cInRydS1kaWFsb2ctY29udGVudCBjbG9uZVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNncm91cE5vZGVSZW5kZXJlciBsZXQtZGF0YT5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFkYXRhLmNoaWxkIHx8IGRhdGEuc2hvd0VudGl0aWVzXCJcclxuICAgICAgICAgICBjbGFzcz1cImNsb25lLW1vZGFsLXRyZWUtZ3JvdXBcIj5cclxuICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJkYXRhLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0YS5vbkNoZWNrZWRDaGFuZ2VkKClcIlxyXG4gICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5yb290XCJcclxuICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgLz5cclxuICAgICAgICA8YSAoY2xpY2spPVwiZGF0YS5vbkdyb3VwRGlzcGxheU5hbWVDbGlja2VkKClcIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2xvbmUtbW9kYWwtdHJlZS1ncm91cC1yb290LW5hbWUnOiBkYXRhLnJvb3QgfHwgZGF0YS5jaGlsZH1cIlxyXG4gICAgICAgICAgIFtuZ1N0eWxlXT1cInsnbWF4LXdpZHRoJzogZGF0YS5jaGlsZE5vZGUgPyAnMzAwcHgnIDogJ2F1dG8nfVwiPnt7ZGF0YS5kaXNwbGF5TmFtZX19PC9hPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWRhdGEucm9vdCAmJiAhZGF0YS5jaGlsZFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjbG9uZS1tb2RhbC10cmVlLWdyb3VwLWNvdW50XCI+KHt7ZGF0YS5ub2Rlcy5sZW5ndGh9fSk8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIGRhdGEubm9kZXM7IGxldCBsYXN0ID0gbGFzdFwiIHRydVJlbmRlcmVkIChyZW5kZXJlZCk9XCJvblJlbmRlcmVkKClcIj5cclxuICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJncm91cE5vZGVSZW5kZXJlcjsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YX1cIj48L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nTWVzc2FnZVwiXHJcbiAgICAgICAgIGNsYXNzPVwiY2xvbmUtbW9kYWwtbG9hZGluZ1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNsb25lLW1vZGFsLWxvYWRpbmctbWVzc2FnZVwiPnt7bG9hZGluZ01lc3NhZ2V9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRvbmVQcm9jZXNzaW5nXCJcclxuICAgICAgICAgY2xhc3M9XCJjbG9uZS1tb2RhbC10cmVlXCI+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgZGlzcGxheVRyZWU7IGxldCBsYXN0ID0gbGFzdFwiIHRydVJlbmRlcmVkIChyZW5kZXJlZCk9XCJvblJlbmRlcmVkKClcIj5cclxuICAgICAgICAgIDxkaXYgKm5nVGVtcGxhdGVPdXRsZXQ9XCJncm91cE5vZGVSZW5kZXJlcjsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YX1cIj48L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInRydS1kaWFsb2ctZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQ2xvbmUoKVwiIChrZXl1cC5lbnRlcik9XCJvbkNsb25lKClcIiBbZGlzYWJsZWRdPVwiIWRvbmVQcm9jZXNzaW5nXCI+Q2xvbmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWNsb25lLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2xvbmUtdmlldy90cnUtY2xvbmUtdmlldy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9jbG9uZS12aWV3L3RydS1jbG9uZS12aWV3Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCN0QsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBa0MvQjtJQUNBO0lBQ0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBeENWLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsY0FBYyxHQUFXLGtDQUFrQyxDQUFDO0lBQzVELGNBQWMsQ0FBa0M7SUFDaEQsc0JBQXNCLENBQTRCO0lBQ2xELGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsUUFBUSxHQUFnQixJQUFJLENBQUM7SUFDN0Isa0JBQWtCLEdBQUc7UUFDbkIsWUFBWTtRQUNaLFNBQVM7UUFDVCxZQUFZO1FBQ1osU0FBUztRQUNULFFBQVE7UUFDUix5QkFBeUI7UUFDekIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YsY0FBYztRQUNkLFlBQVk7UUFDWixZQUFZO1FBQ1osZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLEtBQUs7S0FDTixDQUFDO0lBQ0YsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLFFBQVEsR0FBZ0IsRUFBRSxDQUFDO0lBQzNCLGFBQWEsR0FBZ0IsRUFBRSxDQUFDO0lBQ2hDLGNBQWMsR0FBVyxDQUFD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QUM7b0JBQ3BCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUN6QixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJ1Vmlld0Jhc2UgfSBmcm9tICcuLi8uLi9iYXNlLXZpZXdzL3RydS12aWV3LWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1kYXRhLWNvbnRleHQnO1xyXG5pbXBvcnQgeyBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vdG9vbGJhci9jbGFzc2VzL3RydS10b29sYmFyLWRyb3Bkb3duLW9wdGlvbic7XHJcbmltcG9ydCB7IFRydVRleHRNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJ1LXRleHQtbWFuYWdlcic7XHJcbmltcG9ydCB7IFRydVdpbmRvd0V2ZW50SGFuZGxlciB9IGZyb20gJy4uL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1ldmVudC1oYW5kbGVyJztcclxuaW1wb3J0IHsgVHJ1TW9kZWxUYWJsZUxvb2t1cCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1tb2RlbC10YWJsZS1sb29rdXAnO1xyXG5pbXBvcnQgeyBUcnVVaU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS11aS1ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBUcnVNb2RlbFByb3BlcnR5TG9va3VwIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJ1LW1vZGVsLXByb3BlcnR5LWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydU1vZGVsVHlwZUxvb2t1cCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1tb2RlbC10eXBlLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydU1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXAgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtbW9kZWwtbmF2aWdhdGlvbi1wcm9wZXJ0aWVzLWxvb2t1cCc7XHJcbmltcG9ydCB7IFRydU5hdmlnYXRpb25Qcm9wZXJ0eUNvbmZpZyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdHJ1LW5hdmlnYXRpb24tcHJvcGVydHktY29uZmlnJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1jbG9uZS12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LWNsb25lLXZpZXcuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJ1LWNsb25lLXZpZXcuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUNsb25lVmlldyBleHRlbmRzIFRydVZpZXdCYXNlIHtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBsb2FkaW5nTWVzc2FnZTogc3RyaW5nID0gJ1NlYXJjaGluZyBmb3IgcmVsYXRlZCByZWNvcmRzLi4uJztcclxuICBudW1iZXJPZkNvcGllczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj5cclxuICBzZWxlY3RlZE51bWJlck9mQ29waWVzOiBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uO1xyXG4gIGNvbnRleHRGaWx0ZXJzID0gbnVsbDtcclxuICByb290Tm9kZTogTm9kZSB8IG51bGwgPSBudWxsOyBcclxuICBpZ25vcmVQcm9wZXJ0eUxpc3QgPSBbXHJcbiAgICAnQ3JlYXRlZFJlZicsXHJcbiAgICAnQ3JlYXRlZCcsXHJcbiAgICAnVXBkYXRlZFJlZicsXHJcbiAgICAnVXBkYXRlZCcsXHJcbiAgICAncm93dmVyJyxcclxuICAgICdfY3VzdG9tVmFsaWRhdGlvbkVycm9ycycsXHJcbiAgICAnZW50aXR5QXNwZWN0JyxcclxuICAgICdfYXNzb2NpYXRlZERhdGFDYWNoZWQnLFxyXG4gICAgJ19iYWNraW5nU3RvcmUnLFxyXG4gICAgJ19zZXREZWZhdWx0cycsXHJcbiAgICAnXyR0eXBlTmFtZScsXHJcbiAgICAnZW50aXR5VHlwZScsXHJcbiAgICAnXyRpbnRlcmNlcHRvcicsXHJcbiAgICAnZ2V0UHJvcGVydHknLFxyXG4gICAgJ3NldFByb3BlcnR5JyxcclxuICAgICdfcGVuZGluZ0JhY2tpbmdTdG9yZXMnLFxyXG4gICAgJ1JlZidcclxuICBdO1xyXG4gIGRhdGFUcmVlID0gW107XHJcbiAgZmxhdExpc3Q6IEFycmF5PE5vZGU+ID0gW107XHJcbiAgY2hpbGRGbGF0TGlzdDogQXJyYXk8Tm9kZT4gPSBbXTtcclxuICBwcm9jZXNzZWRDb3VudDogbnVtYmVyID0gMDtcclxuICBkb25lUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlUcmVlID0gW3RoaXMucm9vdE5vZGVdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB0ZXh0TWFuYWdlcjogVHJ1VGV4dE1hbmFnZXIsXHJcbiAgICBwcm90ZWN0ZWQgd2luZG93RXZlbnRIYW5kbGVyOiBUcnVXaW5kb3dFdmVudEhhbmRsZXIsXHJcbiAgICBwcml2YXRlIGRhdGFDb250ZXh0OiBUcnVEYXRhQ29udGV4dCxcclxuICAgIHByaXZhdGUgbW9kZWxUYWJsZUxvb2t1cDogVHJ1TW9kZWxUYWJsZUxvb2t1cCxcclxuICAgIHByaXZhdGUgbW9kZWxQcm9wZXJ0eUxvb2t1cDogVHJ1TW9kZWxQcm9wZXJ0eUxvb2t1cCxcclxuICAgIHByaXZhdGUgbW9kZWxUeXBlTG9va3VwOiBUcnVNb2RlbFR5cGVMb29rdXAsXHJcbiAgICBwcml2YXRlIG1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXA6IFRydU1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXAsXHJcbiAgICBwcml2YXRlIHVpTm90aWZpY2F0aW9uOiBUcnVVaU5vdGlmaWNhdGlvbikge1xyXG4gICAgc3VwZXIodGV4dE1hbmFnZXIsIHdpbmRvd0V2ZW50SGFuZGxlcik7XHJcbiAgICB0aGlzLm51bWJlck9mQ29waWVzID0gdGhpcy5nZXROdW1iZXJPZkNvcGllcygpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE51bWJlck9mQ29waWVzID0gdGhpcy5udW1iZXJPZkNvcGllc1swXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TnVtYmVyT2ZDb3BpZXMgPSAoKTogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gPT4ge1xyXG4gICAgbGV0IGNvcGllczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gPSBbXTtcclxuICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDI1OyBpKyspIHtcclxuICAgICAgY29waWVzLnB1c2goe1xyXG4gICAgICAgIHZhbHVlOiBpLFxyXG4gICAgICAgIGxhYmVsOiBpLnRvU3RyaW5nKClcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29waWVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wZXJ0eUlzQWxsb3dlZCA9IChwcm9wZXJ0eU5hbWU6IHN0cmluZywgdGFibGVOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09IHRhYmxlTmFtZSArICdSZWYnKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAocHJvcGVydHlOYW1lLnN0YXJ0c1dpdGgoJ28nKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgbGV0IHByb3BlcnR5ID0gdGhpcy5tb2RlbFByb3BlcnR5TG9va3VwLmxvb2t1cC5nZXQocHJvcGVydHlOYW1lKTtcclxuICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5leGNsdWRlRnJvbUNsb25pbmcpIHJldHVybiBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlnbm9yZVByb3BlcnR5TGlzdC5zb21lKGZ1bmN0aW9uIChwcm9wZXJ0eVRvSWdub3JlKSB7IHJldHVybiBwcm9wZXJ0eVRvSWdub3JlID09PSBwcm9wZXJ0eU5hbWU7IH0pKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSAgZ2V0UHJvdG90eXBlUHJvcGVydGllcyA9IChvYmo6IGFueSkgPT4ge1xyXG4gICAgdmFyIHJlc3VsdCA9IFtdO1xyXG4gICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHtcclxuICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkocHJvcCkpIHtcclxuICAgICAgICByZXN1bHQucHVzaChwcm9wKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2hpbGRQcm9wZXJ0aWVzRm9yQ3VycmVudEVudGl0eSA9IChjdXJyZW50RW50aXR5OiBhbnkpID0+IHtcclxuICAgIC8vdmFyIHByb3BlcnR5TmFtZXMgPSBPYmplY3Qua2V5cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3VycmVudEVudGl0eSkpO1xyXG4gICAgbGV0IGVudGl0eU5hbWUgPSB0aGlzLmdldFR5cGVGcm9tRW50aXR5VHlwZU5hbWUoY3VycmVudEVudGl0eS4kdHlwZSk7XHJcbiAgICBsZXQgY2hpbGRMb29rdXAgPSB0aGlzLm1vZGVsTmF2aWdhdGlvblByb3BlcnRpZXNMb29rdXAubG9va3VwLmdldChlbnRpdHlOYW1lKSBhcyBUcnVOYXZpZ2F0aW9uUHJvcGVydHlDb25maWdbXTtcclxuICAgIGxldCBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmtleXMoY3VycmVudEVudGl0eSk7XHJcbiAgICBsZXQgbmF2aWdhdGlvblByb3BlcnR5TmFtZXMgPSBwcm9wZXJ0eU5hbWVzLmZpbHRlcigobikgPT4geyByZXR1cm4gbi5zdGFydHNXaXRoKCdvJyk7IH0pO1xyXG4gICAgbGV0IGNoaWxkTmF2aWdhdGlvblByb3BlcnR5TmFtZXMgPSBuYXZpZ2F0aW9uUHJvcGVydHlOYW1lcy5maWx0ZXIoKG4pID0+IHtcclxuICAgICAgcmV0dXJuIGNoaWxkTG9va3VwLnNvbWUoKGxvb2t1cDogYW55KSA9PiB7IHJldHVybiBsb29rdXAubmFtZSA9PT0gbjsgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgY2hpbGRQcm9wZXJ0aWVzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBjaGlsZE5hdmlnYXRpb25Qcm9wZXJ0eU5hbWVzLmZpbHRlcihmdW5jdGlvbiAobikge1xyXG4gICAgICBpZiAoY3VycmVudEVudGl0eVtuXSAmJiBjdXJyZW50RW50aXR5W25dLmxlbmd0aCkgY2hpbGRQcm9wZXJ0aWVzLnB1c2goY3VycmVudEVudGl0eVtuXSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY2hpbGRQcm9wZXJ0aWVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUeXBlRnJvbUVudGl0eVR5cGVOYW1lID0gKHR5cGVOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHZhciBwMXMgPSB0eXBlTmFtZS5zcGxpdCgnLCcpWzBdO1xyXG4gICAgdmFyIHAycyA9IHAxcy5zcGxpdCgnLicpO1xyXG4gICAgcmV0dXJuIHAyc1twMnMubGVuZ3RoIC0gMV07XHJcbiAgfVxyXG5cclxucHJpdmF0ZSBidWlsZENsb25lVHJlZSA9IChjdXJyZW50RW50aXR5OiBhbnksIG5vZGU6IGFueSkgPT4ge1xyXG4gIHZhciBjaGlsZFByb3BlcnRpZXMgPSB0aGlzLmdldENoaWxkUHJvcGVydGllc0ZvckN1cnJlbnRFbnRpdHkoY3VycmVudEVudGl0eSk7XHJcbiAgY2hpbGRQcm9wZXJ0aWVzLmZvckVhY2goKGNoaWxkRW50aXRpZXM6IGFueSkgPT4ge1xyXG4gICAgbGV0IHR5cGUgPSB0aGlzLmdldFR5cGVGcm9tRW50aXR5VHlwZU5hbWUoY2hpbGRFbnRpdGllc1swXS4kdHlwZSk7XHJcbiAgICBsZXQgY2hpbGRMb29rdXAgPSB0aGlzLm1vZGVsVGFibGVMb29rdXAubG9va3VwLmdldCh0eXBlKTtcclxuICAgIGxldCBncm91cE5vZGUgPSBuZXcgTm9kZShcclxuICAgICAgbnVsbCxcclxuICAgICAgY2hpbGRFbnRpdGllc1swXS5jb25zdHJ1Y3Rvci5uYW1lLFxyXG4gICAgICBjaGlsZExvb2t1cD8ucGx1cmFsTGFiZWwgYXMgc3RyaW5nLFxyXG4gICAgICBmYWxzZSxcclxuICAgICAgdHJ1ZSxcclxuICAgICAgW10sXHJcbiAgICAgICcnLFxyXG4gICAgICBmYWxzZSxcclxuICAgICAgbm9kZSxcclxuICAgICAgbnVsbFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmZsYXRMaXN0LnB1c2goZ3JvdXBOb2RlKTtcclxuXHJcbiAgICBjaGlsZEVudGl0aWVzLmZvckVhY2goKGNoaWxkRW50aXR5OiBhbnkpID0+IHtcclxuICAgICAgbGV0IHR5cGUgPSB0aGlzLmdldFR5cGVGcm9tRW50aXR5VHlwZU5hbWUoY2hpbGRFbnRpdHkuJHR5cGUpO1xyXG4gICAgICBsZXQgY2hpbGROb2RlID0gbmV3IE5vZGUoXHJcbiAgICAgICAgY2hpbGRFbnRpdHlbdHlwZSArICdSZWYnXSxcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIHR5cGUsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICB0cnVlLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgICcnLFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICAgIGdyb3VwTm9kZSxcclxuICAgICAgICBjaGlsZEVudGl0eVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5jaGlsZEZsYXRMaXN0LnB1c2goY2hpbGROb2RlKTtcclxuICAgICAgZ3JvdXBOb2RlLm5vZGVzLnB1c2goY2hpbGROb2RlKTtcclxuICAgICAgdGhpcy5idWlsZENsb25lVHJlZShjaGlsZEVudGl0eSwgY2hpbGROb2RlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIG5vZGUubm9kZXMucHVzaChncm91cE5vZGUpO1xyXG4gIH0pO1xyXG59XHJcblxyXG4gIHByaXZhdGUgYXN5bmNGb3JFYWNoUmVjb3JkSWQgPSAoYXJyOiBhbnksIGNiOiBhbnkpID0+IHtcclxuICAgIHJldHVybiBhcnIucmVkdWNlKChwOiBhbnksIGM6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gcC50aGVuKCgpID0+IGNiKGMpKTtcclxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hSZWNvcmRJZCA9IChjaGlsZDogYW55KSA9PiB7XHJcbiAgICB2YXIgYyA9IGNoaWxkO1xyXG4gICAgdmFyIGRhdGEgPSB7XHJcbiAgICAgIHJlZjogYy5yZWYsXHJcbiAgICAgIHRhYmxlTmFtZTogYy50YWJsZU5hbWVcclxuICAgIH07XHJcbiAgICBkYXRhID0gdGhpcy50ZXh0TWFuYWdlci5mb3JtYXRBc1VybFBhcmFtZXRlcnMoZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnkpID0+IHtcclxuICAgICAgYy5kaXNwbGF5TmFtZSA9IGNoaWxkLmVudGl0eS5ISUQ7XHJcbiAgICAgIHRoaXMucHJvY2Vzc2VkQ291bnQrKztcclxuICAgICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdGb3JtYXR0aW5nIGRhdGEuLi5wcm9jZXNzZWQgKCcgKyB0aGlzLnByb2Nlc3NlZENvdW50ICsgJy8nICsgdGhpcy5jaGlsZEZsYXRMaXN0Lmxlbmd0aCArICcpIHJlY29yZHMnO1xyXG4gICAgICBpZiAodGhpcy5wcm9jZXNzZWRDb3VudCA+PSB0aGlzLmNoaWxkRmxhdExpc3QubGVuZ3RoKVxyXG4gICAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnUmVuZGVyaW5nIHRyZWUuLi4nO1xyXG4gICAgICByZXNvbHZlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhdmVyc2UgPSAobm9kZTogYW55LCBjdXJyZW50RW50aXR5OiBhbnkpID0+IHtcclxuICAgIHZhciBncm91cCA9ICFub2RlLmNoaWxkO1xyXG4gICAgaWYgKGdyb3VwKSB7XHJcbiAgICAgIHZhciBncm91cE5vZGVzID0gbm9kZS5ub2RlcztcclxuICAgICAgZ3JvdXBOb2Rlcy5mb3JFYWNoKChncm91cE5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChncm91cE5vZGUuY2hlY2tlZClcclxuICAgICAgICAgIGdyb3VwTm9kZS5ub2Rlcy5mb3JFYWNoKChjaGlsZE5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRyYXZlcnNlKGNoaWxkTm9kZSwgY3VycmVudEVudGl0eSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkKSB7XHJcbiAgICAgICAgbGV0IHRhYmxlVHlwZSA9IHRoaXMubW9kZWxUeXBlTG9va3VwLmdldFR5cGUodGhpcy50YWJsZU5hbWUpO1xyXG4gICAgICAgIGxldCBuZXdFbnRpdHkgPSB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLmFkZCh0YWJsZVR5cGUsIHRoaXMuY29udGV4dEZpbHRlcnMpO1xyXG4gICAgICAgIHR5cGUgT2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIG5ld0VudGl0eTtcclxuICAgICAgICB0aGlzLmdldFByb3RvdHlwZVByb3BlcnRpZXMobmV3RW50aXR5KS5mb3JFYWNoKChwcm9wZXJ0eU5hbWUpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnByb3BlcnR5SXNBbGxvd2VkKHByb3BlcnR5TmFtZSwgbm9kZS50YWJsZU5hbWUpKSB7XHJcbiAgICAgICAgICAgIG5ld0VudGl0eVtwcm9wZXJ0eU5hbWUgYXMgT2JqZWN0S2V5XSA9IG5vZGUuZW50aXR5W3Byb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIG5ld0VudGl0eS5zZXRQcm9wZXJ0eSEoJ19hc3NvY2lhdGVkRGF0YUNhY2hlZCcsIHRydWUpO1xyXG5cclxuICAgICAgICBsZXQgY2hpbGRMb29rdXAgPSB0aGlzLm1vZGVsVGFibGVMb29rdXAubG9va3VwLmdldChub2RlLnRhYmxlTmFtZSk7XHJcbiAgICAgICAgY3VycmVudEVudGl0eVsnbycgKyBjaGlsZExvb2t1cCEucGx1cmFsTmFtZV0ucHVzaChuZXdFbnRpdHkpO1xyXG4gICAgICAgIGxldCBjaGlsZE5vZGVzID0gbm9kZS5ub2RlcztcclxuICAgICAgICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hpbGROb2RlLmNoZWNrZWQpXHJcbiAgICAgICAgICAgIGNoaWxkTm9kZS5ub2Rlcy5mb3JFYWNoKChncm91cE5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhdmVyc2UoZ3JvdXBOb2RlLCBuZXdFbnRpdHkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YUZvckNsb25pbmcgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRhdGFDb250ZXh0LmVudGl0eUFjY2VzcygpLmNsb25lKHtcclxuICAgICAgcmVmOiB0aGlzLmVudGl0eS5SZWYsXHJcbiAgICAgIHRhYmxlTmFtZTogdGhpcy50YWJsZU5hbWVcclxuICAgIH0pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhVHJlZSA9IHJlc3BvbnNlLkNvbnRlbnRbMF07XHJcbiAgICAgICAgdGhpcy5idWlsZENsb25lVHJlZSh0aGlzLmRhdGFUcmVlLCB0aGlzLnJvb3ROb2RlKTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdGb3JtYXR0aW5nIGRhdGEuLi4oMC8nICsgdGhpcy5jaGlsZEZsYXRMaXN0Lmxlbmd0aCArICcpIHJlY29yZHMnO1xyXG4gICAgICAgIHRoaXMuYXN5bmNGb3JFYWNoUmVjb3JkSWQodGhpcy5jaGlsZEZsYXRMaXN0LCB0aGlzLmZldGNoUmVjb3JkSWQpLnRoZW4odGhpcy5vbkRvbmUpO1xyXG5cclxuICAgICAgICB0aGlzLmRpc3BsYXlUcmVlID0gW3RoaXMucm9vdE5vZGVdO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGV4OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3InLCB0aGlzLnVpTm90aWZpY2F0aW9uLmVycm9yKCdTZXJ2ZXIgRXJyb3I6ICcgKyBleC5zdGF0dXMsIFtleC5lcnJvci5NZXNzYWdlXSkpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DbG9uZSA9ICgpID0+IHtcclxuICAgIGxldCBjb3BpZXMgPSB0aGlzLnNlbGVjdGVkTnVtYmVyT2ZDb3BpZXMudmFsdWU7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvcGllczsgaSsrKSB7XHJcbiAgICAgIGxldCB0YWJsZVR5cGUgPSB0aGlzLm1vZGVsVHlwZUxvb2t1cC5nZXRUeXBlKHRoaXMudGFibGVOYW1lKTtcclxuICAgICAgbGV0IG5ld0VudGl0eSA9IHRoaXMuZGF0YUNvbnRleHQuZW50aXR5QWNjZXNzKCkuYWRkKHRhYmxlVHlwZSwgdGhpcy5jb250ZXh0RmlsdGVycyk7XHJcbiAgICAgIHR5cGUgT2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIG5ld0VudGl0eTtcclxuICAgICAgdGhpcy5nZXRQcm90b3R5cGVQcm9wZXJ0aWVzKHRoaXMuZW50aXR5KS5mb3JFYWNoKChwcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BlcnR5SXNBbGxvd2VkKHByb3BlcnR5TmFtZSwgdGhpcy50YWJsZU5hbWUpKSB7XHJcbiAgICAgICAgICBuZXdFbnRpdHlbcHJvcGVydHlOYW1lIGFzIE9iamVjdEtleV0gPSB0aGlzLmVudGl0eVtwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBuZXdFbnRpdHkuc2V0UHJvcGVydHkhKCdfYXNzb2NpYXRlZERhdGFDYWNoZWQnLCB0cnVlKTtcclxuXHJcbiAgICAgIHRoaXMudHJhdmVyc2UodGhpcy5kaXNwbGF5VHJlZVswXSwgbmV3RW50aXR5KTtcclxuICAgICAgdGhpcy52aWV3LmVudGl0aWVzPy5wdXNoKG5ld0VudGl0eSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLndpbmRvd0V2ZW50SGFuZGxlci5jbG9zZSgpO1xyXG4gIH07XHJcblxyXG4gIG9uRG9uZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZG9uZVByb2Nlc3NpbmcgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25SZW5kZXJlZCA9ICgpID0+IHtcclxuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnJztcclxuICB9O1xyXG5cclxuICBvbkNhbmNlbCA9ICgpID0+IHtcclxuICAgIHRoaXMud2luZG93RXZlbnRIYW5kbGVyLmNsb3NlKCk7XHJcbiAgfTtcclxuXHJcbiAgb25FeHBhbmRDbGlja2VkID0gKCkgPT4ge1xyXG4gICAgdGhpcy5jaGlsZEZsYXRMaXN0LmZpbmQoKG5vZGU6IE5vZGUpID0+IHsgbm9kZS5zaG93RW50aXRpZXMgPSB0cnVlOyB9KTtcclxuICB9XHJcbiAgICAgXHJcbiAgb25Db2xsYXBzZUNsaWNrZWQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNoaWxkRmxhdExpc3QuZmluZCgobm9kZTogTm9kZSkgPT4geyBub2RlLnNob3dFbnRpdGllcyA9IGZhbHNlOyB9KTtcclxuICB9XHJcblxyXG4gIG9uTnVtYmVyT2ZDb3BpZXNDaGFuZ2VkID0gKGV2ZW50OiBhbnkpID0+IHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGFibGVOYW1lID0gdGhpcy52aWV3LndpbmRvdy50YWJsZU5hbWU7XHJcbiAgICB0aGlzLmVudGl0aWVzID0gdGhpcy52aWV3LmVudGl0aWVzIGFzIGFueTtcclxuICAgIHRoaXMuZW50aXR5ID0gdGhpcy5lbnRpdGllc1t0aGlzLnZpZXcuZW50aXR5SW5kZXhdO1xyXG4gICAgdGhpcy5yb290Tm9kZSA9IG5ldyBOb2RlKG51bGwsIHRoaXMudGFibGVOYW1lLCB0aGlzLnRhYmxlTmFtZSwgZmFsc2UsIHRydWUsIG51bGwsIG51bGwsIHRydWUsIG51bGwsIG51bGwpO1xyXG4gICAgdGhpcy5zZXRFbnRpdHlEaXNwbGF5VmFsdWVzKHRoaXMudmlldy53aW5kb3cudGFibGVOYW1lKTtcclxuICAgIHRoaXMuZ2V0RGF0YUZvckNsb25pbmcoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kYXRhVHJlZS5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy5mbGF0TGlzdC5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy5jaGlsZEZsYXRMaXN0Lmxlbmd0aCA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBOb2RlIHtcclxuICByZWY6IG51bWJlciB8IG51bGw7XHJcbiAgdGFibGVOYW1lOiBzdHJpbmc7XHJcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcclxuICBjaGVja2VkOiBib29sZWFuO1xyXG4gIGNoaWxkOiBhbnk7XHJcbiAgY2hpbGROb2RlczogYW55O1xyXG4gIHNob3dFbnRpdGllczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBhdGhGcm9tUm9vdDogc3RyaW5nIHwgbnVsbDtcclxuICBub2RlczogTm9kZVtdID0gW107XHJcbiAgcm9vdDogYW55O1xyXG4gIHBhcmVudDogYW55O1xyXG4gIGVudGl0eTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlZjogbnVtYmVyIHwgbnVsbCxcclxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxyXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZyxcclxuICAgIGNoaWxkOiBhbnksXHJcbiAgICBjaGVja2VkOiBib29sZWFuLFxyXG4gICAgY2hpbGRFbnRpdGllczogYW55LFxyXG4gICAgcGF0aEZyb21Sb290OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgcm9vdDogYm9vbGVhbixcclxuICAgIHBhcmVudDogYW55LFxyXG4gICAgZW50aXR5OiBhbnkpIHtcclxuICAgIHRoaXMucmVmID0gcmVmO1xyXG4gICAgdGhpcy50YWJsZU5hbWUgPSB0YWJsZU5hbWU7XHJcbiAgICB0aGlzLmRpc3BsYXlOYW1lID0gZGlzcGxheU5hbWU7XHJcbiAgICB0aGlzLmNoZWNrZWQgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5jaGlsZCA9IGNoaWxkO1xyXG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGRFbnRpdGllcztcclxuICAgIHRoaXMucGF0aEZyb21Sb290ID0gcGF0aEZyb21Sb290O1xyXG4gICAgdGhpcy5yb290ID0gcm9vdDtcclxuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xyXG4gICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XHJcbiAgfVxyXG5cclxuICBvbkdyb3VwRGlzcGxheSA9ICgpID0+IHtcclxuICAgIHZhciBjdXJyZW50VmFsdWUgPSB0aGlzLnNob3dFbnRpdGllcyA9ICF0aGlzLnNob3dFbnRpdGllcztcclxuICAgIHRoaXMubm9kZXMuZmluZCgobjogYW55KSA9PiB7XHJcbiAgICAgIG4uc2hvd0VudGl0aWVzID0gY3VycmVudFZhbHVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrZWRDaGFuZ2VkID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuY2hlY2tlZCkge1xyXG4gICAgICBpZiAodGhpcy5jaGlsZCkge1xyXG4gICAgICAgIHZhciBwID0gdGhpcy5wYXJlbnQ7XHJcbiAgICAgICAgd2hpbGUgKHApIHtcclxuICAgICAgICAgIHAuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICBwID0gcC5wYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubm9kZXMuZmluZCgobjogYW55KSA9PiB7IG4uY2hlY2tlZCA9IHRydWU7IH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jaGlsZCkge1xyXG4gICAgICAgIHZhciBhbGxVbmNoZWNrZWQgPSB0aGlzLnBhcmVudC5ub2Rlcy5ldmVyeSgobjogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gbi5jaGVja2VkID09PSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoYWxsVW5jaGVja2VkKVxyXG4gICAgICAgICAgdGhpcy5wYXJlbnQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhciB1bmNoZWNrQ2hpbGROb2RlcyA9IChub2RlOiBhbnkpID0+IHtcclxuICAgICAgICAgIG5vZGUubm9kZXMuZmluZCgobjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHVuY2hlY2tDaGlsZE5vZGVzKG4pO1xyXG4gICAgICAgICAgICBuLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5ub2Rlcy5maW5kKChuOiBhbnkpID0+IHtcclxuICAgICAgICAgIHVuY2hlY2tDaGlsZE5vZGVzKG4pO1xyXG4gICAgICAgICAgbi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiIsIjxkaXY+XHJcbiAgPHRydS10b29sYmFyPlxyXG4gICAgPHRydS10b29sYmFyLWJ1dHRvbiBbaWNvbl09XCInZXhwYW5kLWljb24nXCIgW3Rvb2x0aXBdPVwiJ0V4cGFuZCdcIiBbZGlzYWJsZWRdPVwiIWRvbmVQcm9jZXNzaW5nXCIgKG9uQ2xpY2spPVwib25FeHBhbmRDbGlja2VkKClcIj48L3RydS10b29sYmFyLWJ1dHRvbj5cclxuICAgIDx0cnUtdG9vbGJhci1idXR0b24gW2ljb25dPVwiJ2NvbGxhcHNlLWljb24nXCIgW3Rvb2x0aXBdPVwiJ0NvbGxhcHNlJ1wiIFtkaXNhYmxlZF09XCIhZG9uZVByb2Nlc3NpbmdcIiAob25DbGljayk9XCJvbkNvbGxhcHNlQ2xpY2tlZCgpXCI+PC90cnUtdG9vbGJhci1idXR0b24+XHJcbiAgICA8dHJ1LXRvb2xiYXItdGV4dCBbdGV4dF09XCInQ29waWVzOidcIj48L3RydS10b29sYmFyLXRleHQ+XHJcbiAgICA8dHJ1LXRvb2xiYXItZHJvcGRvd24gW29wdGlvbnNdPVwibnVtYmVyT2ZDb3BpZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRPcHRpb24pXT1cInNlbGVjdGVkTnVtYmVyT2ZDb3BpZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZG9uZVByb2Nlc3NpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25OdW1iZXJPZkNvcGllc0NoYW5nZWQoJGV2ZW50KVwiPlxyXG4gICAgPC90cnUtdG9vbGJhci1kcm9wZG93bj5cclxuICA8L3RydS10b29sYmFyPlxyXG4gIDxkaXYgY2xhc3M9XCJ0cnUtZGlhbG9nLWNvbnRlbnQgY2xvbmVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZ3JvdXBOb2RlUmVuZGVyZXIgbGV0LWRhdGE+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhZGF0YS5jaGlsZCB8fCBkYXRhLnNob3dFbnRpdGllc1wiXHJcbiAgICAgICAgICAgY2xhc3M9XCJjbG9uZS1tb2RhbC10cmVlLWdyb3VwXCI+XHJcbiAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiZGF0YS5jaGVja2VkXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGEub25DaGVja2VkQ2hhbmdlZCgpXCJcclxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRhdGEucm9vdFwiXHJcbiAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIC8+XHJcbiAgICAgICAgPGEgKGNsaWNrKT1cImRhdGEub25Hcm91cERpc3BsYXlOYW1lQ2xpY2tlZCgpXCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Nsb25lLW1vZGFsLXRyZWUtZ3JvdXAtcm9vdC1uYW1lJzogZGF0YS5yb290IHx8IGRhdGEuY2hpbGR9XCJcclxuICAgICAgICAgICBbbmdTdHlsZV09XCJ7J21heC13aWR0aCc6IGRhdGEuY2hpbGROb2RlID8gJzMwMHB4JyA6ICdhdXRvJ31cIj57e2RhdGEuZGlzcGxheU5hbWV9fTwvYT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFkYXRhLnJvb3QgJiYgIWRhdGEuY2hpbGRcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2xvbmUtbW9kYWwtdHJlZS1ncm91cC1jb3VudFwiPih7e2RhdGEubm9kZXMubGVuZ3RofX0pPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZGF0YSBvZiBkYXRhLm5vZGVzOyBsZXQgbGFzdCA9IGxhc3RcIiB0cnVSZW5kZXJlZCAocmVuZGVyZWQpPVwib25SZW5kZXJlZCgpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ3JvdXBOb2RlUmVuZGVyZXI7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGF9XCI+PC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ01lc3NhZ2VcIlxyXG4gICAgICAgICBjbGFzcz1cImNsb25lLW1vZGFsLWxvYWRpbmdcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjbG9uZS1tb2RhbC1sb2FkaW5nLW1lc3NhZ2VcIj57e2xvYWRpbmdNZXNzYWdlfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkb25lUHJvY2Vzc2luZ1wiXHJcbiAgICAgICAgIGNsYXNzPVwiY2xvbmUtbW9kYWwtdHJlZVwiPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIGRpc3BsYXlUcmVlOyBsZXQgbGFzdCA9IGxhc3RcIiB0cnVSZW5kZXJlZCAocmVuZGVyZWQpPVwib25SZW5kZXJlZCgpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ3JvdXBOb2RlUmVuZGVyZXI7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGF9XCI+PC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ0cnUtZGlhbG9nLWZvb3RlclwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkNsb25lKClcIiAoa2V5dXAuZW50ZXIpPVwib25DbG9uZSgpXCIgW2Rpc2FibGVkXT1cIiFkb25lUHJvY2Vzc2luZ1wiPkNsb25lPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -5846,7 +5846,7 @@ class TruCloneView extends TruViewBase {
5846
5846
  });
5847
5847
  newEntity.setProperty('_associatedDataCached', true);
5848
5848
  this.traverse(this.displayTree[0], newEntity);
5849
- //this.view.data.add(newEntity);
5849
+ this.view.entities?.push(newEntity);
5850
5850
  }
5851
5851
  this.windowEventHandler.close();
5852
5852
  };