@messaia/cdk 18.0.0-rc44 → 18.0.0-rc46

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.
@@ -268,4 +268,4 @@ export class Utils {
268
268
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: Utils, decorators: [{
269
269
  type: Directive
270
270
  }] });
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vZnVuY3Rpb25zL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQyxVQUFVO0FBRVYsTUFBTSxPQUFPLEtBQUs7SUFFZDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBbUM7UUFDN0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDekIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDMUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdkIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDeEIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdEIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdkIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDekIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDNUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDM0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDNUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUs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QUFTLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFRO1FBQzFCLE9BQU8sT0FBTyxHQUFHLEtBQUssVUFBVSxJQUFJLE9BQU8sR0FBRyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7SUFDMUUsQ0FBQzswSEFqU1EsS0FBSzs4R0FBTCxLQUFLOzsyRkFBTCxLQUFLO2tCQURqQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0BkeW5hbWljXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9udGggbmFtZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXJtYW5Nb250aE5hbWVzOiB7IG5hbWU6IHN0cmluZywgaWQ6IG51bWJlciB9W10gPSBbXHJcbiAgICAgICAgeyBuYW1lOiAnSmFudWFyJywgaWQ6IDEgfSxcclxuICAgICAgICB7IG5hbWU6ICdGZWJydWFyJywgaWQ6IDIgfSxcclxuICAgICAgICB7IG5hbWU6ICdNw6RyeicsIGlkOiAzIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnQXByaWwnLCBpZDogNCB9LFxyXG4gICAgICAgIHsgbmFtZTogJ01haScsIGlkOiA1IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnSnVuaScsIGlkOiA2IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnSnVsaScsIGlkOiA3IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnQXVndXN0JywgaWQ6IDggfSxcclxuICAgICAgICB7IG5hbWU6ICdTZXB0ZW1iZXInLCBpZDogOSB9LFxyXG4gICAgICAgIHsgbmFtZTogJ09rdG9iZXInLCBpZDogMTAgfSxcclxuICAgICAgICB7IG5hbWU6ICdOb3ZlbWJlcicsIGlkOiAxMSB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0RlemVtYmVyJywgaWQ6IDEyIH1cclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgcmFuZ2VcclxuICAgICAqIEBwYXJhbSBzaXplIFxyXG4gICAgICogQHBhcmFtIHN0YXJ0QXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgc3RvcDogbnVtYmVyLCBzdGVwOiBudW1iZXIpOiBSZWFkb25seUFycmF5PG51bWJlcj4ge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAoc3RvcCAtIHN0YXJ0KSAvIHN0ZXAgKyAxIH0sIChfLCBpKSA9PiBzdGFydCArIChpICogc3RlcCkpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGVtcHR5IHZhbHVlcyBmcm9tIHRoZSBzcGVjaWZpZWQgb2JqZWN0XHJcbiAgICAgKiBAcGFyYW0gb2JqIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHJlbW92ZUVtcHR5VmFsdWVzKG9iajogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgdl0pID0+IHYgIT0gbnVsbClcclxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBbaywgdl0pID0+ICh7IC4uLmFjYywgW2tdOiB2IH0pLCB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG51bWJlciBvZiBkYXlzIGxlZnQgaW4gdGhlIHNwZWNpZmllZCBtb250aFxyXG4gICAgICogQHBhcmFtIGRhdGUgXHJcbiAgICAgKiBAcGFyYW0gbW9udGhPZmZzZXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGF5c0xlZnRJbk1vbnRoKGRhdGU6IERhdGUsIG1vbnRoT2Zmc2V0ID0gMCk6IG51bWJlciB7XHJcbiAgICAgICAgdmFyIHRpbWUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgICAgdGltZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBtb250aE9mZnNldCk7XHJcbiAgICAgICAgdGltZS5zZXREYXRlKDApO1xyXG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCB0aW1lLmdldERhdGUoKSA+IGRhdGUuZ2V0RGF0ZSgpID8gdGltZS5nZXREYXRlKCkgLSBkYXRlLmdldERhdGUoKSA6IDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmVkIG9iamVjdCBhbmQgcHJvcGVydHlcclxuICAgICAqIEBwYXJhbSBvYmplY3QgXHJcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRQcm9wZXJ0eVZhbHVlKG9iamVjdDogYW55LCBwcm9wZXJ0eTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICAvKiBQcm9wZXJ0eSBub3QgZm91bmQgKi9cclxuICAgICAgICBpZiAoIW9iamVjdCB8fCB0eXBlb2Ygb2JqZWN0ID09PSAndW5kZWZpbmVkJyB8fCAhcHJvcGVydHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBJbmRleCBvZiBuZXh0IHByb3BlcnR5IHNwbGl0ICovXHJcbiAgICAgICAgdmFyIGluZGV4ID0gcHJvcGVydHkuaW5kZXhPZignLicpXHJcblxyXG4gICAgICAgIC8qIFByb3BlcnR5IHNwbGl0IGZvdW5kOyByZWN1cnNpdmUgY2FsbCAqL1xyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFByb3BlcnR5VmFsdWUob2JqZWN0W3Byb3BlcnR5LnN1YnN0cmluZygwLCBpbmRleCldLCBwcm9wZXJ0eS5zdWJzdHIoaW5kZXggKyAxKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBObyBzcGxpdDsgZ2V0IHByb3BlcnR5ICovXHJcbiAgICAgICAgcmV0dXJuIG9iamVjdFtwcm9wZXJ0eV07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTb3J0cyBhbiBhcnJheSBvZiBvYmplY3QgYnkgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eVxyXG4gICAgICogQHBhcmFtIGFycmF5IFxyXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgc29ydEFycmF5PFQ+KGFycmF5OiBUW10sIHByb3BlcnR5OiBzdHJpbmcsIHJldmVyc2U/OiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHNvcnREaXIgPSByZXZlcnNlID09PSB0cnVlID8gLTEgOiAxO1xyXG4gICAgICAgIHJldHVybiBhcnJheSA9IChhcnJheT8uc29ydCgoYTogVCwgYjogVCkgPT4gKChhIGFzIGFueSlbcHJvcGVydHldID4gKGIgYXMgYW55KVtwcm9wZXJ0eV0pID8gc29ydERpciA6ICgoKGIgYXMgYW55KVtwcm9wZXJ0eV0gPiAoYSBhcyBhbnkpW3Byb3BlcnR5XSkgPyAoc29ydERpciAqIC0xKSA6IDApKSB8fCBbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRha2VzIGFuIEFycmF5PFY+LCBhbmQgYSBncm91cGluZyBmdW5jdGlvbixcclxuICAgICAqIGFuZCByZXR1cm5zIGEgTWFwIG9mIHRoZSBhcnJheSBncm91cGVkIGJ5IHRoZSBncm91cGluZyBmdW5jdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gbGlzdCBBbiBhcnJheSBvZiB0eXBlIFYuXHJcbiAgICAgKiBAcGFyYW0ga2V5R2V0dGVyIEEgRnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgdGhlIEFycmF5IHR5cGUgViBhcyBhbiBpbnB1dCwgYW5kIHJldHVybnMgYSB2YWx1ZSBvZiB0eXBlIEsuXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgIEsgaXMgZ2VuZXJhbGx5IGludGVuZGVkIHRvIGJlIGEgcHJvcGVydHkga2V5IG9mIFYuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgTWFwIG9mIHRoZSBhcnJheSBncm91cGVkIGJ5IHRoZSBncm91cGluZyBmdW5jdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBncm91cEFycmF5Qnk8SywgVj4obGlzdDogQXJyYXk8Vj4sIGtleUdldHRlcjogKGlucHV0OiBWKSA9PiBLKTogTWFwPEssIEFycmF5PFY+PiB7XHJcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcDxLLCBBcnJheTxWPj4oKTtcclxuICAgICAgICBsaXN0Py5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGtleUdldHRlcihpdGVtKTtcclxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG1hcC5nZXQoa2V5KTtcclxuICAgICAgICAgICAgaWYgKCFjb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGtleSwgW2l0ZW1dKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24ucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gbWFwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHJ1bmNhdGVzIGEgdGV4dFxyXG4gICAgICogQHBhcmFtIHRleHQgXHJcbiAgICAgKiBAcGFyYW0gbGVuZ3RoIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgdHJ1bmNhdGVUZXh0KHRleHQ6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIC8qIElmIHRleHQgaXMgbm90IGEgc3RyaW5nLCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nICovXHJcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBSZW1vdmUgaHRtbCB0YWdzICovXHJcbiAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSgvPFxcLz9bXj5dKyg+fCQpL2csIFwiXCIpO1xyXG5cclxuICAgICAgICAvKiBUcnVuY2F0ZSB0aGUgc3RyaW5nICovXHJcbiAgICAgICAgbGV0IHRydW5jYXRlZFRleHQ6IHN0cmluZyA9IHRleHQuc3Vic3RyKDAsIGxlbmd0aCk7XHJcblxyXG4gICAgICAgIC8qIEFkZCBlbGxpcHNpcyB0byB0aGUgdGV4dCAqL1xyXG4gICAgICAgIGlmICh0ZXh0Lmxlbmd0aCA+IGxlbmd0aCkge1xyXG4gICAgICAgICAgICB0cnVuY2F0ZWRUZXh0ID0gYCR7dHJ1bmNhdGVkVGV4dC50cmltKCl9Li4uYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVuY2F0ZWRUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSm9pbnMgdGV4dCBhcnJheSBmcm8gdGFibGUgY29sdW1uXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVzIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgam9pbkFycmF5KHZhbHVlczogc3RyaW5nW10sIG1heExlbmd0aDogbnVtYmVyID0gMik6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmICghdmFsdWVzIHx8IHZhbHVlcz8ubGVuZ3RoIDw9IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBHZXQgZmlyc3QgMiBuYW1lcyAqL1xyXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHZhbHVlcyA9IHZhbHVlcy5zbGljZSgwLCBtYXhMZW5ndGgpO1xyXG4gICAgICAgICAgICB2YWx1ZXNbMV0gPSBgJHt2YWx1ZXNbMV19LCAuLi5gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGA8c21hbGw+JHsodmFsdWVzLmpvaW4oJzxiclxcPicpKX08L3NtYWxsPmA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0IE9iamVjdCB0byBIdHRwUGFyYW1zXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBib2R5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgdG9IdHRwUGFyYW1zKGJvZHk6IGFueSk6IEh0dHBQYXJhbXMge1xyXG4gICAgICAgIGlmICghYm9keSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKGJvZHkpLmZvckVhY2goKGtleSkgPT4gKGJvZHlba2V5XSA9PSBudWxsIHx8IGJvZHlba2V5XSA9PSAnJyB8fCBib2R5W2tleV0gPT0gJ3VuZGVmaW5lZCcpICYmIGJvZHlba2V5XSAhPSAwICYmIGRlbGV0ZSBib2R5W2tleV0pO1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGJvZHkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0cyBIdHRwUGFyYW1zIHRvIGEgSmF2YVNjcmlwdCBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0gaHR0cFBhcmFtcyBIdHRwUGFyYW1zIG9iamVjdCB0byBjb252ZXJ0LlxyXG4gICAgICogQHJldHVybnMgQ29udmVydGVkIEphdmFTY3JpcHQgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGh0dHBQYXJhbXNUb09iamVjdChodHRwUGFyYW1zOiBIdHRwUGFyYW1zKTogYW55IHtcclxuICAgICAgICAvKiBJbml0aWFsaXplIGFuIGVtcHR5IG9iamVjdCB0byBzdG9yZSBjb252ZXJ0ZWQgcGFyYW1ldGVycyAqL1xyXG4gICAgICAgIGNvbnN0IHBhcmFtczogYW55ID0ge307XHJcblxyXG4gICAgICAgIC8qIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleSBpbiBIdHRwUGFyYW1zICovXHJcbiAgICAgICAgaHR0cFBhcmFtcy5rZXlzKCkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUga2V5IGhhcyBtdWx0aXBsZSB2YWx1ZXMgKi9cclxuICAgICAgICAgICAgaWYgKGh0dHBQYXJhbXMuZ2V0QWxsKGtleSk/Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgLyogZiBvbmx5IG9uZSB2YWx1ZSBleGlzdHMsIGFzc2lnbiBpdCBkaXJlY3RseSB0byBwYXJhbXNba2V5XSAqL1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zW2tleV0gPSBodHRwUGFyYW1zLmdldChrZXkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLyogSWYgbXVsdGlwbGUgdmFsdWVzIGV4aXN0LCBhc3NpZ24gYW4gYXJyYXkgb2YgdmFsdWVzIHRvIHBhcmFtc1trZXldICovXHJcbiAgICAgICAgICAgICAgICBwYXJhbXNba2V5XSA9IGh0dHBQYXJhbXMuZ2V0QWxsKGtleSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogUmV0dXJuIHRoZSBjb252ZXJ0ZWQgSmF2YVNjcmlwdCBvYmplY3QgKi9cclxuICAgICAgICByZXR1cm4gcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgZmlsdGVyIG9iamVjdHMgdG8gYW4gSHR0cFBhcmFtcyBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0gZmlsdGVyQXJyYXkgVGhlIGFycmF5IG9mIGZpbHRlciBvYmplY3RzLlxyXG4gICAgICogQHBhcmFtIHBhcmFtTmFtZVByZWZpeCBUaGUgcHJlZml4IGZvciB0aGUgcXVlcnkgcGFyYW1ldGVyIG5hbWVzIChkZWZhdWx0IGlzICdGaWx0ZXJzJykuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgSHR0cFBhcmFtcyBvYmplY3QgY29udGFpbmluZyB0aGUgY29uc3RydWN0ZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyB0b0FycmF5SHR0cFBhcmFtcyhmaWx0ZXJBcnJheTogYW55W10sIHBhcmFtTmFtZVByZWZpeDogc3RyaW5nID0gJ0ZpbHRlcnMnKTogSHR0cFBhcmFtcyB7XHJcbiAgICAgICAgLyogSW5pdGlhbGl6ZSBhbiBlbXB0eSBIdHRwUGFyYW1zIG9iamVjdCAqL1xyXG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICAgICAgLyogSXRlcmF0ZSB0aHJvdWdoIGVhY2ggZmlsdGVyIGluIHRoZSBmaWx0ZXIgYXJyYXkgKi9cclxuICAgICAgICBmaWx0ZXJBcnJheS5mb3JFYWNoKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvKiBHZXQgdGhlIGtleSBvZiB0aGUgZmlsdGVyIChlLmcuLCAnY2F0JykgKi9cclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyS2V5ID0gT2JqZWN0LmtleXMoZmlsdGVyKVswXTtcclxuXHJcbiAgICAgICAgICAgIC8qIEdldCB0aGUgdmFsdWVzIGFycmF5ICovXHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclZhbHVlcyA9IGZpbHRlcltmaWx0ZXJLZXldO1xyXG5cclxuICAgICAgICAgICAgaWYgKGZpbHRlclZhbHVlcyAmJiBmaWx0ZXJWYWx1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgLyogSm9pbiB2YWx1ZXMgd2l0aCBjb21tYXMgYW5kIGFkZCB0byBIdHRwUGFyYW1zICovXHJcbiAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoYCR7cGFyYW1OYW1lUHJlZml4fVske2ZpbHRlcktleX1dYCwgZmlsdGVyVmFsdWVzLmpvaW4oJywnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogUmV0dXJuIHRoZSBjb25zdHJ1Y3RlZCBIdHRwUGFyYW1zIG9iamVjdCAqL1xyXG4gICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYW5zIHRoZSBvYmplY3RzXHJcbiAgICAgKiBSZW1vdmVzIGVtcHR5IHByb3BlcnRpZXNcclxuICAgICAqIEBwYXJhbSBvYmogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgY2xlYW5PYmplY3Qob2JqOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIHByb3BOYW1lIGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9ialtwcm9wTmFtZV0gPT09IG51bGwgfHwgb2JqW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkIHx8IG9ialtwcm9wTmFtZV0gPT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW3Byb3BOYW1lXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9iajtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIG9iamVjdHMgYXJlIGVxdWFsXHJcbiAgICAgKiBAcGFyYW0gb2JqMSBcclxuICAgICAqIEBwYXJhbSBvYmoyIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZXF1YWxzKG9iajE6IGFueSwgb2JqMjogYW55KSB7XHJcbiAgICAgICAgdHJ5IHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iajEpID09PSBKU09OLnN0cmluZ2lmeShvYmoyKTsgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHF1ZXJ5IHBhcmFtcyBhbmQgdGhlIGhhc2ggZnJvbSB0aGUgc3BlY2lmaWVkIHVybFxyXG4gICAgICogQHBhcmFtIHVybCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFVybFBhcnRzKHVybDogc3RyaW5nKTogeyB1cmw6IHN0cmluZywgcGFyYW1zOiBhbnksIGhhc2g/OiBzdHJpbmcgfSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLyogR2V0IHVybHMgcGFydHMgKi9cclxuICAgICAgICAgICAgdmFyIHVybEhhc2hQYXJ0cyA9IHVybD8uc3BsaXQoJyMnKSA/PyBbXTtcclxuXHJcbiAgICAgICAgICAgIC8qIEdldCBoYXNoICovXHJcbiAgICAgICAgICAgIHZhciB1cmxIYXNoID0gdXJsSGFzaFBhcnRzWzFdID8/IG51bGw7XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgcXVlcnkgcGFydHMgKi9cclxuICAgICAgICAgICAgdmFyIHVybFF1ZXJ5UGFydHMgPSB1cmxIYXNoUGFydHNbMF0/LnNwbGl0KCc/Jyk7XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgcXVlcnkgcGFyYW1zIGFzIG9iamVjdCAqL1xyXG4gICAgICAgICAgICB2YXIgdXJsUGFyYW1zOiBPYmplY3QgPSB1cmxRdWVyeVBhcnRzWzFdPy5zcGxpdChcIiZcIikucmVkdWNlKChwcmV2LCBjdXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgcCA9IGN1cnIuc3BsaXQoXCI9XCIpO1xyXG4gICAgICAgICAgICAgICAgKHByZXYgYXMgYW55KVtkZWNvZGVVUklDb21wb25lbnQocFswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBbMV0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XHJcbiAgICAgICAgICAgIH0sIHt9KSA/PyBudWxsO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB1cmxRdWVyeVBhcnRzWzBdLCBwYXJhbXM6IHVybFBhcmFtcywgaGFzaDogdXJsSGFzaCB9O1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHVybDogdXJsLCBwYXJhbXM6IG51bGwsIGhhc2g6IHVuZGVmaW5lZCB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGEgY2xhc3MuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxyXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBvYmplY3QgaXMgYSBjbGFzcywgb3RoZXJ3aXNlIGBmYWxzZWAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgaXNDbGFzcyhvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBvYmoucHJvdG90eXBlID09PSAnb2JqZWN0JztcclxuICAgIH1cclxufSJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vZnVuY3Rpb25zL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQyxVQUFVO0FBRVYsTUFBTSxPQUFPLEtBQUs7SUFFZDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBbUM7UUFDN0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDekIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDMUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdkIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDeEIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdEIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdkIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDekIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDNUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDM0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDNUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUs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QUFTLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFRO1FBQzFCLE9BQU8sT0FBTyxHQUFHLEtBQUssVUFBVSxJQUFJLE9BQU8sR0FBRyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7SUFDMUUsQ0FBQzswSEFqU1EsS0FBSzs4R0FBTCxLQUFLOzsyRkFBTCxLQUFLO2tCQURqQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0BkeW5hbWljXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9udGggbmFtZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXJtYW5Nb250aE5hbWVzOiB7IG5hbWU6IHN0cmluZywgaWQ6IG51bWJlciB9W10gPSBbXHJcbiAgICAgICAgeyBuYW1lOiAnSmFudWFyJywgaWQ6IDEgfSxcclxuICAgICAgICB7IG5hbWU6ICdGZWJydWFyJywgaWQ6IDIgfSxcclxuICAgICAgICB7IG5hbWU6ICdNw6RyeicsIGlkOiAzIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnQXByaWwnLCBpZDogNCB9LFxyXG4gICAgICAgIHsgbmFtZTogJ01haScsIGlkOiA1IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnSnVuaScsIGlkOiA2IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnSnVsaScsIGlkOiA3IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnQXVndXN0JywgaWQ6IDggfSxcclxuICAgICAgICB7IG5hbWU6ICdTZXB0ZW1iZXInLCBpZDogOSB9LFxyXG4gICAgICAgIHsgbmFtZTogJ09rdG9iZXInLCBpZDogMTAgfSxcclxuICAgICAgICB7IG5hbWU6ICdOb3ZlbWJlcicsIGlkOiAxMSB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0RlemVtYmVyJywgaWQ6IDEyIH1cclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgcmFuZ2VcclxuICAgICAqIEBwYXJhbSBzaXplIFxyXG4gICAgICogQHBhcmFtIHN0YXJ0QXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgc3RvcDogbnVtYmVyLCBzdGVwOiBudW1iZXIpOiBSZWFkb25seUFycmF5PG51bWJlcj4ge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAoc3RvcCAtIHN0YXJ0KSAvIHN0ZXAgKyAxIH0sIChfLCBpKSA9PiBzdGFydCArIChpICogc3RlcCkpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGVtcHR5IHZhbHVlcyBmcm9tIHRoZSBzcGVjaWZpZWQgb2JqZWN0XHJcbiAgICAgKiBAcGFyYW0gb2JqIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHJlbW92ZUVtcHR5VmFsdWVzKG9iajogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgdl0pID0+IHYgIT0gbnVsbClcclxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBbaywgdl0pID0+ICh7IC4uLmFjYywgW2tdOiB2IH0pLCB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG51bWJlciBvZiBkYXlzIGxlZnQgaW4gdGhlIHNwZWNpZmllZCBtb250aFxyXG4gICAgICogQHBhcmFtIGRhdGUgXHJcbiAgICAgKiBAcGFyYW0gbW9udGhPZmZzZXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGF5c0xlZnRJbk1vbnRoKGRhdGU6IERhdGUsIG1vbnRoT2Zmc2V0ID0gMCk6IG51bWJlciB7XHJcbiAgICAgICAgdmFyIHRpbWUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgICAgdGltZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBtb250aE9mZnNldCk7XHJcbiAgICAgICAgdGltZS5zZXREYXRlKDApO1xyXG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCB0aW1lLmdldERhdGUoKSA+IGRhdGUuZ2V0RGF0ZSgpID8gdGltZS5nZXREYXRlKCkgLSBkYXRlLmdldERhdGUoKSA6IDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmVkIG9iamVjdCBhbmQgcHJvcGVydHlcclxuICAgICAqIEBwYXJhbSBvYmplY3QgXHJcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRQcm9wZXJ0eVZhbHVlPFRUeXBlPihvYmplY3Q6IGFueSwgcHJvcGVydHk6IHN0cmluZyk6IFRUeXBlIHwgbnVsbCB7XHJcbiAgICAgICAgLyogUHJvcGVydHkgbm90IGZvdW5kICovXHJcbiAgICAgICAgaWYgKCFvYmplY3QgfHwgdHlwZW9mIG9iamVjdCA9PT0gJ3VuZGVmaW5lZCcgfHwgIXByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSW5kZXggb2YgbmV4dCBwcm9wZXJ0eSBzcGxpdCAqL1xyXG4gICAgICAgIHZhciBpbmRleCA9IHByb3BlcnR5LmluZGV4T2YoJy4nKVxyXG5cclxuICAgICAgICAvKiBQcm9wZXJ0eSBzcGxpdCBmb3VuZDsgcmVjdXJzaXZlIGNhbGwgKi9cclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gPFRUeXBlPnRoaXMuZ2V0UHJvcGVydHlWYWx1ZShvYmplY3RbcHJvcGVydHkuc3Vic3RyaW5nKDAsIGluZGV4KV0sIHByb3BlcnR5LnN1YnN0cihpbmRleCArIDEpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE5vIHNwbGl0OyBnZXQgcHJvcGVydHkgKi9cclxuICAgICAgICByZXR1cm4gPFRUeXBlPm9iamVjdFtwcm9wZXJ0eV07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTb3J0cyBhbiBhcnJheSBvZiBvYmplY3QgYnkgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eVxyXG4gICAgICogQHBhcmFtIGFycmF5IFxyXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgc29ydEFycmF5PFQ+KGFycmF5OiBUW10sIHByb3BlcnR5OiBzdHJpbmcsIHJldmVyc2U/OiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHNvcnREaXIgPSByZXZlcnNlID09PSB0cnVlID8gLTEgOiAxO1xyXG4gICAgICAgIHJldHVybiBhcnJheSA9IChhcnJheT8uc29ydCgoYTogVCwgYjogVCkgPT4gKChhIGFzIGFueSlbcHJvcGVydHldID4gKGIgYXMgYW55KVtwcm9wZXJ0eV0pID8gc29ydERpciA6ICgoKGIgYXMgYW55KVtwcm9wZXJ0eV0gPiAoYSBhcyBhbnkpW3Byb3BlcnR5XSkgPyAoc29ydERpciAqIC0xKSA6IDApKSB8fCBbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRha2VzIGFuIEFycmF5PFY+LCBhbmQgYSBncm91cGluZyBmdW5jdGlvbixcclxuICAgICAqIGFuZCByZXR1cm5zIGEgTWFwIG9mIHRoZSBhcnJheSBncm91cGVkIGJ5IHRoZSBncm91cGluZyBmdW5jdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gbGlzdCBBbiBhcnJheSBvZiB0eXBlIFYuXHJcbiAgICAgKiBAcGFyYW0ga2V5R2V0dGVyIEEgRnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgdGhlIEFycmF5IHR5cGUgViBhcyBhbiBpbnB1dCwgYW5kIHJldHVybnMgYSB2YWx1ZSBvZiB0eXBlIEsuXHJcbiAgICAgKiAgICAgICAgICAgICAgICAgIEsgaXMgZ2VuZXJhbGx5IGludGVuZGVkIHRvIGJlIGEgcHJvcGVydHkga2V5IG9mIFYuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgTWFwIG9mIHRoZSBhcnJheSBncm91cGVkIGJ5IHRoZSBncm91cGluZyBmdW5jdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBncm91cEFycmF5Qnk8SywgVj4obGlzdDogQXJyYXk8Vj4sIGtleUdldHRlcjogKGlucHV0OiBWKSA9PiBLKTogTWFwPEssIEFycmF5PFY+PiB7XHJcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcDxLLCBBcnJheTxWPj4oKTtcclxuICAgICAgICBsaXN0Py5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGtleUdldHRlcihpdGVtKTtcclxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG1hcC5nZXQoa2V5KTtcclxuICAgICAgICAgICAgaWYgKCFjb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGtleSwgW2l0ZW1dKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24ucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gbWFwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHJ1bmNhdGVzIGEgdGV4dFxyXG4gICAgICogQHBhcmFtIHRleHQgXHJcbiAgICAgKiBAcGFyYW0gbGVuZ3RoIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgdHJ1bmNhdGVUZXh0KHRleHQ6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIC8qIElmIHRleHQgaXMgbm90IGEgc3RyaW5nLCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nICovXHJcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBSZW1vdmUgaHRtbCB0YWdzICovXHJcbiAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSgvPFxcLz9bXj5dKyg+fCQpL2csIFwiXCIpO1xyXG5cclxuICAgICAgICAvKiBUcnVuY2F0ZSB0aGUgc3RyaW5nICovXHJcbiAgICAgICAgbGV0IHRydW5jYXRlZFRleHQ6IHN0cmluZyA9IHRleHQuc3Vic3RyKDAsIGxlbmd0aCk7XHJcblxyXG4gICAgICAgIC8qIEFkZCBlbGxpcHNpcyB0byB0aGUgdGV4dCAqL1xyXG4gICAgICAgIGlmICh0ZXh0Lmxlbmd0aCA+IGxlbmd0aCkge1xyXG4gICAgICAgICAgICB0cnVuY2F0ZWRUZXh0ID0gYCR7dHJ1bmNhdGVkVGV4dC50cmltKCl9Li4uYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVuY2F0ZWRUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSm9pbnMgdGV4dCBhcnJheSBmcm8gdGFibGUgY29sdW1uXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVzIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgam9pbkFycmF5KHZhbHVlczogc3RyaW5nW10sIG1heExlbmd0aDogbnVtYmVyID0gMik6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgIGlmICghdmFsdWVzIHx8IHZhbHVlcz8ubGVuZ3RoIDw9IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBHZXQgZmlyc3QgMiBuYW1lcyAqL1xyXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHZhbHVlcyA9IHZhbHVlcy5zbGljZSgwLCBtYXhMZW5ndGgpO1xyXG4gICAgICAgICAgICB2YWx1ZXNbMV0gPSBgJHt2YWx1ZXNbMV19LCAuLi5gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGA8c21hbGw+JHsodmFsdWVzLmpvaW4oJzxiclxcPicpKX08L3NtYWxsPmA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0IE9iamVjdCB0byBIdHRwUGFyYW1zXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBib2R5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgdG9IdHRwUGFyYW1zKGJvZHk6IGFueSk6IEh0dHBQYXJhbXMge1xyXG4gICAgICAgIGlmICghYm9keSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKGJvZHkpLmZvckVhY2goKGtleSkgPT4gKGJvZHlba2V5XSA9PSBudWxsIHx8IGJvZHlba2V5XSA9PSAnJyB8fCBib2R5W2tleV0gPT0gJ3VuZGVmaW5lZCcpICYmIGJvZHlba2V5XSAhPSAwICYmIGRlbGV0ZSBib2R5W2tleV0pO1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGJvZHkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0cyBIdHRwUGFyYW1zIHRvIGEgSmF2YVNjcmlwdCBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0gaHR0cFBhcmFtcyBIdHRwUGFyYW1zIG9iamVjdCB0byBjb252ZXJ0LlxyXG4gICAgICogQHJldHVybnMgQ29udmVydGVkIEphdmFTY3JpcHQgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGh0dHBQYXJhbXNUb09iamVjdChodHRwUGFyYW1zOiBIdHRwUGFyYW1zKTogYW55IHtcclxuICAgICAgICAvKiBJbml0aWFsaXplIGFuIGVtcHR5IG9iamVjdCB0byBzdG9yZSBjb252ZXJ0ZWQgcGFyYW1ldGVycyAqL1xyXG4gICAgICAgIGNvbnN0IHBhcmFtczogYW55ID0ge307XHJcblxyXG4gICAgICAgIC8qIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleSBpbiBIdHRwUGFyYW1zICovXHJcbiAgICAgICAgaHR0cFBhcmFtcy5rZXlzKCkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUga2V5IGhhcyBtdWx0aXBsZSB2YWx1ZXMgKi9cclxuICAgICAgICAgICAgaWYgKGh0dHBQYXJhbXMuZ2V0QWxsKGtleSk/Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgLyogZiBvbmx5IG9uZSB2YWx1ZSBleGlzdHMsIGFzc2lnbiBpdCBkaXJlY3RseSB0byBwYXJhbXNba2V5XSAqL1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zW2tleV0gPSBodHRwUGFyYW1zLmdldChrZXkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLyogSWYgbXVsdGlwbGUgdmFsdWVzIGV4aXN0LCBhc3NpZ24gYW4gYXJyYXkgb2YgdmFsdWVzIHRvIHBhcmFtc1trZXldICovXHJcbiAgICAgICAgICAgICAgICBwYXJhbXNba2V5XSA9IGh0dHBQYXJhbXMuZ2V0QWxsKGtleSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogUmV0dXJuIHRoZSBjb252ZXJ0ZWQgSmF2YVNjcmlwdCBvYmplY3QgKi9cclxuICAgICAgICByZXR1cm4gcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgZmlsdGVyIG9iamVjdHMgdG8gYW4gSHR0cFBhcmFtcyBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0gZmlsdGVyQXJyYXkgVGhlIGFycmF5IG9mIGZpbHRlciBvYmplY3RzLlxyXG4gICAgICogQHBhcmFtIHBhcmFtTmFtZVByZWZpeCBUaGUgcHJlZml4IGZvciB0aGUgcXVlcnkgcGFyYW1ldGVyIG5hbWVzIChkZWZhdWx0IGlzICdGaWx0ZXJzJykuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgSHR0cFBhcmFtcyBvYmplY3QgY29udGFpbmluZyB0aGUgY29uc3RydWN0ZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyB0b0FycmF5SHR0cFBhcmFtcyhmaWx0ZXJBcnJheTogYW55W10sIHBhcmFtTmFtZVByZWZpeDogc3RyaW5nID0gJ0ZpbHRlcnMnKTogSHR0cFBhcmFtcyB7XHJcbiAgICAgICAgLyogSW5pdGlhbGl6ZSBhbiBlbXB0eSBIdHRwUGFyYW1zIG9iamVjdCAqL1xyXG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICAgICAgLyogSXRlcmF0ZSB0aHJvdWdoIGVhY2ggZmlsdGVyIGluIHRoZSBmaWx0ZXIgYXJyYXkgKi9cclxuICAgICAgICBmaWx0ZXJBcnJheS5mb3JFYWNoKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvKiBHZXQgdGhlIGtleSBvZiB0aGUgZmlsdGVyIChlLmcuLCAnY2F0JykgKi9cclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyS2V5ID0gT2JqZWN0LmtleXMoZmlsdGVyKVswXTtcclxuXHJcbiAgICAgICAgICAgIC8qIEdldCB0aGUgdmFsdWVzIGFycmF5ICovXHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclZhbHVlcyA9IGZpbHRlcltmaWx0ZXJLZXldO1xyXG5cclxuICAgICAgICAgICAgaWYgKGZpbHRlclZhbHVlcyAmJiBmaWx0ZXJWYWx1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgLyogSm9pbiB2YWx1ZXMgd2l0aCBjb21tYXMgYW5kIGFkZCB0byBIdHRwUGFyYW1zICovXHJcbiAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoYCR7cGFyYW1OYW1lUHJlZml4fVske2ZpbHRlcktleX1dYCwgZmlsdGVyVmFsdWVzLmpvaW4oJywnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogUmV0dXJuIHRoZSBjb25zdHJ1Y3RlZCBIdHRwUGFyYW1zIG9iamVjdCAqL1xyXG4gICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYW5zIHRoZSBvYmplY3RzXHJcbiAgICAgKiBSZW1vdmVzIGVtcHR5IHByb3BlcnRpZXNcclxuICAgICAqIEBwYXJhbSBvYmogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgY2xlYW5PYmplY3Qob2JqOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIHByb3BOYW1lIGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9ialtwcm9wTmFtZV0gPT09IG51bGwgfHwgb2JqW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkIHx8IG9ialtwcm9wTmFtZV0gPT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW3Byb3BOYW1lXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9iajtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIG9iamVjdHMgYXJlIGVxdWFsXHJcbiAgICAgKiBAcGFyYW0gb2JqMSBcclxuICAgICAqIEBwYXJhbSBvYmoyIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZXF1YWxzKG9iajE6IGFueSwgb2JqMjogYW55KSB7XHJcbiAgICAgICAgdHJ5IHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iajEpID09PSBKU09OLnN0cmluZ2lmeShvYmoyKTsgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHF1ZXJ5IHBhcmFtcyBhbmQgdGhlIGhhc2ggZnJvbSB0aGUgc3BlY2lmaWVkIHVybFxyXG4gICAgICogQHBhcmFtIHVybCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFVybFBhcnRzKHVybDogc3RyaW5nKTogeyB1cmw6IHN0cmluZywgcGFyYW1zOiBhbnksIGhhc2g/OiBzdHJpbmcgfSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLyogR2V0IHVybHMgcGFydHMgKi9cclxuICAgICAgICAgICAgdmFyIHVybEhhc2hQYXJ0cyA9IHVybD8uc3BsaXQoJyMnKSA/PyBbXTtcclxuXHJcbiAgICAgICAgICAgIC8qIEdldCBoYXNoICovXHJcbiAgICAgICAgICAgIHZhciB1cmxIYXNoID0gdXJsSGFzaFBhcnRzWzFdID8/IG51bGw7XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgcXVlcnkgcGFydHMgKi9cclxuICAgICAgICAgICAgdmFyIHVybFF1ZXJ5UGFydHMgPSB1cmxIYXNoUGFydHNbMF0/LnNwbGl0KCc/Jyk7XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgcXVlcnkgcGFyYW1zIGFzIG9iamVjdCAqL1xyXG4gICAgICAgICAgICB2YXIgdXJsUGFyYW1zOiBPYmplY3QgPSB1cmxRdWVyeVBhcnRzWzFdPy5zcGxpdChcIiZcIikucmVkdWNlKChwcmV2LCBjdXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgcCA9IGN1cnIuc3BsaXQoXCI9XCIpO1xyXG4gICAgICAgICAgICAgICAgKHByZXYgYXMgYW55KVtkZWNvZGVVUklDb21wb25lbnQocFswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBbMV0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XHJcbiAgICAgICAgICAgIH0sIHt9KSA/PyBudWxsO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB1cmxRdWVyeVBhcnRzWzBdLCBwYXJhbXM6IHVybFBhcmFtcywgaGFzaDogdXJsSGFzaCB9O1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHVybDogdXJsLCBwYXJhbXM6IG51bGwsIGhhc2g6IHVuZGVmaW5lZCB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGEgY2xhc3MuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxyXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBvYmplY3QgaXMgYSBjbGFzcywgb3RoZXJ3aXNlIGBmYWxzZWAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgaXNDbGFzcyhvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBvYmoucHJvdG90eXBlID09PSAnb2JqZWN0JztcclxuICAgIH1cclxufSJdfQ==
@@ -117,11 +117,11 @@ export class VdLayoutManageListComponent {
117
117
  */
118
118
  close() { return this.sidenav?.close(); }
119
119
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdLayoutManageListComponent, deps: [{ token: forwardRef(() => VdLayoutComponent) }, { token: i1.VdMediaService }], target: i0.ɵɵFactoryTarget.Component });
120
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: VdLayoutManageListComponent, selector: "vd-layout-manage-list", inputs: { title: "title", closable: "closable", menuItems: "menuItems", mode: "mode", sideGt: "sideGt", opened: "opened", openedGt: "openedGt", sidenavWidth: "sidenavWidth", sidenavGtXsWidth: "sidenavGtXsWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened && !mini\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon fontSet=\"material-symbols-outlined\">menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<!-- <ng-content select=\"vd-list-toolbar\"></ng-content> -->\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container{overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container .mat-mdc-list-item .mat-mdc-list-item-title{overflow:hidden;text-overflow:ellipsis;display:inline}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:hidden;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400;display:flex;align-items:center}:host ::ng-deep .mat-toolbar *{overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .mat-toolbar>.mdc-icon-button{margin-right:-2px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.VdMenuComponent, selector: "vd-menu", inputs: ["items", "activeExact", "fontSet", "avatar"], outputs: ["click", "over", "out"] }] });
120
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: VdLayoutManageListComponent, selector: "vd-layout-manage-list", inputs: { title: "title", closable: "closable", menuItems: "menuItems", mode: "mode", sideGt: "sideGt", opened: "opened", openedGt: "openedGt", sidenavWidth: "sidenavWidth", sidenavGtXsWidth: "sidenavGtXsWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened && !mini\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon fontSet=\"material-symbols-outlined\">menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<!-- <ng-content select=\"vd-list-toolbar\"></ng-content> -->\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container{overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container .mat-mdc-list-item .mat-mdc-list-item-title{overflow:hidden;text-overflow:ellipsis;display:inline}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:hidden;-webkit-overflow-scrolling:touch;flex:1}:host .vd-layout-manage-list-main .vd-layout-manage-list-content .mat-table-container{height:calc(100vh - 178px);max-height:calc(100vh - 178px)}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400;display:flex;align-items:center}:host ::ng-deep .mat-toolbar *{overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .mat-toolbar>.mdc-icon-button{margin-right:-2px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.VdMenuComponent, selector: "vd-menu", inputs: ["items", "activeExact", "fontSet", "avatar"], outputs: ["click", "over", "out"] }] });
121
121
  }
122
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdLayoutManageListComponent, decorators: [{
123
123
  type: Component,
124
- args: [{ selector: 'vd-layout-manage-list', template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened && !mini\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon fontSet=\"material-symbols-outlined\">menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<!-- <ng-content select=\"vd-list-toolbar\"></ng-content> -->\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container{overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container .mat-mdc-list-item .mat-mdc-list-item-title{overflow:hidden;text-overflow:ellipsis;display:inline}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:hidden;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400;display:flex;align-items:center}:host ::ng-deep .mat-toolbar *{overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .mat-toolbar>.mdc-icon-button{margin-right:-2px}\n"] }]
124
+ args: [{ selector: 'vd-layout-manage-list', template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened && !mini\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon fontSet=\"material-symbols-outlined\">menu_open</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<!-- <ng-content select=\"vd-list-toolbar\"></ng-content> -->\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container{overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list ::ng-deep .mat-drawer-inner-container .mat-mdc-list-item .mat-mdc-list-item-title{overflow:hidden;text-overflow:ellipsis;display:inline}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:hidden;-webkit-overflow-scrolling:touch;flex:1}:host .vd-layout-manage-list-main .vd-layout-manage-list-content .mat-table-container{height:calc(100vh - 178px);max-height:calc(100vh - 178px)}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column}:host ::ng-deep .mat-toolbar{font-weight:400;display:flex;align-items:center}:host ::ng-deep .mat-toolbar *{overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .mat-toolbar>.mdc-icon-button{margin-right:-2px}\n"] }]
125
125
  }], ctorParameters: () => [{ type: i9.VdLayoutComponent, decorators: [{
126
126
  type: Inject,
127
127
  args: [forwardRef(() => VdLayoutComponent)]