myrta-ui 17.0.66 → 17.0.67

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.
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
221
221
  type: ViewChild,
222
222
  args: ['jsonEditorContainer', { static: true }]
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFpQjlFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixNQUFNLENBQWM7SUFFckIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsYUFBYTtJQUNOLElBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQTtJQUNkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFNUIsT0FBTyxHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDckQsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFtQixJQUFJLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVnQixPQUFPLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO0lBQ3ZGLFdBQVcsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7SUFDcEcsVUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWhCLG1CQUFtQixDQUFjO0lBRW5GO0lBQ0EsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QywrQkFBK0I7WUFDL0IsYUFBYSxHQUFJLElBQUksQ0FBQyxNQUFjLENBQUMsT0FBTyxDQUFDO1FBQy9DLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFckQsa0dBQWtHO1FBQ2xHLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM1QyxPQUFPLENBQUMsS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQ0UsV0FBVyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxNQUFNO1lBQzFELENBQ0UsV0FBVyxDQUFDLEtBQUs7Z0JBQ2pCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdkYsRUFDRCxDQUFDO1lBQ0QsV0FBVyxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxXQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDO0lBRU0sWUFBWSxHQUFHLEdBQUcsRUFBRTtRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVLLFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDckIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDeEIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFFSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sR0FBRztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQW9CLENBQUM7SUFDakQsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFHLENBQUM7SUFDaEMsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLEdBQUcsQ0FBQyxJQUFVO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBb0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBVSxFQUFFLEdBQVE7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLCtCQUErQjtRQUMvQixPQUFRLElBQUksQ0FBQyxNQUFjLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFTSxTQUFTLENBQUMsTUFBVyxFQUFFLFVBQWU7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYTtRQUN6QiwrQkFBK0I7UUFDOUIsSUFBSSxDQUFDLE1BQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxVQUE2QjtRQUM3QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLFNBQVM7UUFDZCwwREFBMEQ7UUFDMUQsT0FBTyxJQUFJLENBQUMsTUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVyxDQUFDLFdBQWdCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUE7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQVk7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3BDLENBQUMsQ0FBQztJQUNNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDM0IsQ0FBQyxDQUFDO3dHQTdOUyxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysb0tDN0JILG9EQUNBOzs0RkQ4QmEsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGlCQUFpQix1QkFHTixLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dEQVllLE1BQU07c0JBQXJCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxJQUFJO3NCQUF0QixLQUFLO3VCQUFDLE1BQU07Z0JBUUksT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRTJDLG1CQUFtQjtzQkFBcEUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEpTT05FZGl0b3IgZnJvbSAnanNvbmVkaXRvcic7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSnNvbkVkaXRvck1vZGUsIEpzb25FZGl0b3JPcHRpb25zIH0gZnJvbSAnLi91dGlscy9qc29uZWRpdG9yb3B0aW9ucyc7XHJcbmltcG9ydCB7IEpzb25FZGl0b3JWYWx1ZVR5cGVzLCBKc29uRWRpdG9yVmFsdWVXaXRoSWQgfSBmcm9tICcuL2pzb24tZWRpdG9yLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtanNvbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9qc29uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2pzb24tZWRpdG9yLmNvbXBvbmVudC5sZXNzJyxcclxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEpzb25FZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEpzb25FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2RhdGE6IE9iamVjdCA9IHt9O1xyXG4gIHByaXZhdGUgZWRpdG9yITogSlNPTkVkaXRvcjtcclxuXHJcbiAgcHVibGljIG9wdGlvbnNDaGFuZ2VkID0gZmFsc2U7XHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzRm9jdXNlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpXHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBKc29uRWRpdG9yT3B0aW9ucyA9IG5ldyBKc29uRWRpdG9yT3B0aW9ucygpO1xyXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnZGF0YScpIHNldCBkYXRhKHZhbHVlOiBPYmplY3QpIHtcclxuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SnNvbkVkaXRvclZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVdpdGhJZD4oKTtcclxuICBAT3V0cHV0KCkganNvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnanNvbkVkaXRvckNvbnRhaW5lcicsIHtzdGF0aWM6IHRydWV9KSBqc29uRWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBvcHRpb25zQmVmb3JlID0gdGhpcy5vcHRpb25zO1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnNDaGFuZ2VkICYmIHRoaXMuZWRpdG9yKSB7XHJcbiAgICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcclxuICAgICAgb3B0aW9uc0JlZm9yZSA9ICh0aGlzLmVkaXRvciBhcyBhbnkpLm9wdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMub25DaGFuZ2VKU09OICYmIHRoaXMuanNvbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMub25DaGFuZ2VKU09OID0gdGhpcy5vbkNoYW5nZUpTT047XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5vbkNoYW5nZSAmJiB0aGlzLmNoYW5nZWQpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLm9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZTtcclxuICAgIH1cclxuICAgIGNvbnN0IG9wdGlvbnNDb3B5ID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9uc0JlZm9yZSk7XHJcblxyXG4gICAgLy8gZXhwYW5kQWxsIGlzIGFuIG9wdGlvbiBvbmx5IHN1cHBvcnRlZCBieSBhbmctanNvbmVkaXRvciBhbmQgbm90IGJ5IHRoZSB0aGUgb3JpZ2luYWwganNvbmVkaXRvci5cclxuICAgIGRlbGV0ZSBvcHRpb25zQ29weS5leHBhbmRBbGw7XHJcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xyXG4gICAgICBjb25zb2xlLmxvZyhvcHRpb25zQ29weSwgdGhpcy5fZGF0YSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuanNvbkVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENhbid0IGZpbmQgdGhlIEVsZW1lbnRSZWYgcmVmZXJlbmNlIGZvciBqc29uZWRpdG9yKWApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgb3B0aW9uc0NvcHkubW9kZSA9PT0gJ3RleHQnIHx8IG9wdGlvbnNDb3B5Lm1vZGUgPT09ICdjb2RlJyB8fFxyXG4gICAgICAoXHJcbiAgICAgICAgb3B0aW9uc0NvcHkubW9kZXMgJiZcclxuICAgICAgICAob3B0aW9uc0NvcHkubW9kZXMuaW5kZXhPZigndGV4dCcpICE9PSAtMSB8fCBvcHRpb25zQ29weS5tb2Rlcy5pbmRleE9mKCdjb2RlJykgIT09IC0xKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgb3B0aW9uc0NvcHkub25DaGFuZ2VKU09OID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgSlNPTkVkaXRvcih0aGlzLmpzb25FZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9uc0NvcHkgYXMgYW55LCB0aGlzLl9kYXRhKTtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmV4cGFuZEFsbCkge1xyXG4gICAgICB0aGlzLmVkaXRvci5leHBhbmRBbGwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlSlNPTiA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMuanNvbkNoYW5nZS5lbWl0KHRoaXMuZWRpdG9yLmdldCgpKTtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZSA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLmVkaXRvci5nZXQoKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGpzb24pXHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBKU09OIEVESVRPUiBGVU5DVElPTlNcclxuICAgKi9cclxuXHJcbiAgcHVibGljIGNvbGxhcHNlQWxsKCkge1xyXG4gICAgdGhpcy5lZGl0b3IuY29sbGFwc2VBbGwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRBbGwoKSB7XHJcbiAgICB0aGlzLmVkaXRvci5leHBhbmRBbGwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1cygpIHtcclxuICAgIHRoaXMuZWRpdG9yLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0KCk6IEpTT04ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1vZGUoKTogSnNvbkVkaXRvck1vZGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldE1vZGUoKSBhcyBKc29uRWRpdG9yTW9kZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0TmFtZSgpITtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0VGV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldChqc29uOiBKU09OKSB7XHJcbiAgICB0aGlzLmVkaXRvci5zZXQoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TW9kZShtb2RlOiBKc29uRWRpdG9yTW9kZSkge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0TW9kZShtb2RlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0TmFtZShuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWxlY3Rpb24oc3RhcnQ6IGFueSwgZW5kOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihzdGFydCwgZW5kKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWxlY3Rpb24oKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRWYWxpZGF0ZVNjaGVtYSgpOiBhbnkge1xyXG4gICAgLy9UT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lZWRlZFxyXG4gICAgcmV0dXJuICh0aGlzLmVkaXRvciBhcyBhbnkpLnZhbGlkYXRlU2NoZW1hO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNjaGVtYShzY2hlbWE6IGFueSwgc2NoZW1hUmVmczogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRvci5zZXRTY2hlbWEoc2NoZW1hLCBzY2hlbWFSZWZzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2gocXVlcnk6IHN0cmluZykge1xyXG4gICAgLy9UT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lZWRlZFxyXG4gICAgKHRoaXMuZWRpdG9yIGFzIGFueSkuc2VhcmNoKHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRPcHRpb25zKG5ld09wdGlvbnM6IEpzb25FZGl0b3JPcHRpb25zKSB7XHJcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlZCA9IHRydWU7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBuZXdPcHRpb25zO1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZShqc29uOiBKU09OKSB7XHJcbiAgICB0aGlzLmVkaXRvci51cGRhdGUoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RWRpdG9yKCkge1xyXG4gICAgLy9UT0RPOiBtYWRlIGl0IGFueSBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nIHR5cGUgZGVmaW5pdGlvblxyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yIGFzIGFueTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1ZhbGlkSnNvbigpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIEpTT04ucGFyc2UodGhpcy5nZXRUZXh0KCkpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZH0pXHJcbiAgICB0aGlzLm9uQ2hhbmdlRm4oaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlRm4gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWRGbiA9ICgpID0+IHtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgW2lkXT1cInV1aWRcIiAjanNvbkVkaXRvckNvbnRhaW5lcj48L2Rpdj5cclxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFpQjlFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixNQUFNLENBQWM7SUFFckIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsYUFBYTtJQUNOLElBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQTtJQUNkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFNUIsT0FBTyxHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDckQsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFtQixJQUFJLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMs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Q0FBQztJQUVPLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3BDLENBQUMsQ0FBQztJQUNNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDM0IsQ0FBQyxDQUFDO3dHQTdOUyxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysb0tDN0JILG9EQUNBOzs0RkQ4QmEsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGlCQUFpQix1QkFHTixLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dEQVllLE1BQU07c0JBQXJCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxJQUFJO3NCQUF0QixLQUFLO3VCQUFDLE1BQU07Z0JBUUksT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRTJDLG1CQUFtQjtzQkFBcEUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgSlNPTkVkaXRvciBmcm9tICdqc29uZWRpdG9yJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBKc29uRWRpdG9yTW9kZSwgSnNvbkVkaXRvck9wdGlvbnMgfSBmcm9tICcuL3V0aWxzL2pzb25lZGl0b3JvcHRpb25zJztcbmltcG9ydCB7IEpzb25FZGl0b3JWYWx1ZVR5cGVzLCBKc29uRWRpdG9yVmFsdWVXaXRoSWQgfSBmcm9tICcuL2pzb24tZWRpdG9yLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtcngtanNvbi1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vanNvbi1lZGl0b3IuY29tcG9uZW50Lmxlc3MnLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSnNvbkVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBKc29uRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZGF0YTogT2JqZWN0ID0ge307XG4gIHByaXZhdGUgZWRpdG9yITogSlNPTkVkaXRvcjtcblxuICBwdWJsaWMgb3B0aW9uc0NoYW5nZWQgPSBmYWxzZTtcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICAvLyBTQVZFIFNUQVRFXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkdjQoKVxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XG5cbiAgQElucHV0KCkgb3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnMgPSBuZXcgSnNvbkVkaXRvck9wdGlvbnMoKTtcbiAgQElucHV0KCkgZGVidWcgPSBmYWxzZTtcblxuICBASW5wdXQoJ2RhdGEnKSBzZXQgZGF0YSh2YWx1ZTogT2JqZWN0KSB7XG4gICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SnNvbkVkaXRvclZhbHVlVHlwZXM+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxKc29uRWRpdG9yVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxKc29uRWRpdG9yVmFsdWVXaXRoSWQ+KCk7XG4gIEBPdXRwdXQoKSBqc29uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2pzb25FZGl0b3JDb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkganNvbkVkaXRvckNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uc0JlZm9yZSA9IHRoaXMub3B0aW9ucztcbiAgICBpZiAoIXRoaXMub3B0aW9uc0NoYW5nZWQgJiYgdGhpcy5lZGl0b3IpIHtcbiAgICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICAgIG9wdGlvbnNCZWZvcmUgPSAodGhpcy5lZGl0b3IgYXMgYW55KS5vcHRpb25zO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5vcHRpb25zLm9uQ2hhbmdlSlNPTiAmJiB0aGlzLmpzb25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNoYW5nZUpTT04gPSB0aGlzLm9uQ2hhbmdlSlNPTjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMub25DaGFuZ2UgJiYgdGhpcy5jaGFuZ2VkKSB7XG4gICAgICB0aGlzLm9wdGlvbnMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlO1xuICAgIH1cbiAgICBjb25zdCBvcHRpb25zQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnNCZWZvcmUpO1xuXG4gICAgLy8gZXhwYW5kQWxsIGlzIGFuIG9wdGlvbiBvbmx5IHN1cHBvcnRlZCBieSBhbmctanNvbmVkaXRvciBhbmQgbm90IGJ5IHRoZSB0aGUgb3JpZ2luYWwganNvbmVkaXRvci5cbiAgICBkZWxldGUgb3B0aW9uc0NvcHkuZXhwYW5kQWxsO1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhvcHRpb25zQ29weSwgdGhpcy5fZGF0YSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5qc29uRWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENhbid0IGZpbmQgdGhlIEVsZW1lbnRSZWYgcmVmZXJlbmNlIGZvciBqc29uZWRpdG9yKWApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnNDb3B5Lm1vZGUgPT09ICd0ZXh0JyB8fCBvcHRpb25zQ29weS5tb2RlID09PSAnY29kZScgfHxcbiAgICAgIChcbiAgICAgICAgb3B0aW9uc0NvcHkubW9kZXMgJiZcbiAgICAgICAgKG9wdGlvbnNDb3B5Lm1vZGVzLmluZGV4T2YoJ3RleHQnKSAhPT0gLTEgfHwgb3B0aW9uc0NvcHkubW9kZXMuaW5kZXhPZignY29kZScpICE9PSAtMSlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIG9wdGlvbnNDb3B5Lm9uQ2hhbmdlSlNPTiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgSlNPTkVkaXRvcih0aGlzLmpzb25FZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9uc0NvcHkgYXMgYW55LCB0aGlzLl9kYXRhKTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuZXhwYW5kQWxsKSB7XG4gICAgICB0aGlzLmVkaXRvci5leHBhbmRBbGwoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZUpTT04gPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmpzb25DaGFuZ2UuZW1pdCh0aGlzLmVkaXRvci5nZXQoKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBqc29uID0gdGhpcy5lZGl0b3IuZ2V0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoanNvbilcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBKU09OIEVESVRPUiBGVU5DVElPTlNcbiAgICovXG5cbiAgcHVibGljIGNvbGxhcHNlQWxsKCkge1xuICAgIHRoaXMuZWRpdG9yLmNvbGxhcHNlQWxsKCk7XG4gIH1cblxuICBwdWJsaWMgZXhwYW5kQWxsKCkge1xuICAgIHRoaXMuZWRpdG9yLmV4cGFuZEFsbCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCkge1xuICAgIHRoaXMuZWRpdG9yLmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IEpTT04ge1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlKCk6IEpzb25FZGl0b3JNb2RlIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0TW9kZSgpIGFzIEpzb25FZGl0b3JNb2RlO1xuICB9XG5cbiAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0TmFtZSgpITtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldFRleHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQoanNvbjogSlNPTikge1xuICAgIHRoaXMuZWRpdG9yLnNldChqc29uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNb2RlKG1vZGU6IEpzb25FZGl0b3JNb2RlKSB7XG4gICAgdGhpcy5lZGl0b3Iuc2V0TW9kZShtb2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZWRpdG9yLnNldE5hbWUobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VsZWN0aW9uKHN0YXJ0OiBhbnksIGVuZDogYW55KSB7XG4gICAgdGhpcy5lZGl0b3Iuc2V0U2VsZWN0aW9uKHN0YXJ0LCBlbmQpO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0ZVNjaGVtYSgpOiBhbnkge1xuICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICByZXR1cm4gKHRoaXMuZWRpdG9yIGFzIGFueSkudmFsaWRhdGVTY2hlbWE7XG4gIH1cblxuICBwdWJsaWMgc2V0U2NoZW1hKHNjaGVtYTogYW55LCBzY2hlbWFSZWZzOiBhbnkpIHtcbiAgICB0aGlzLmVkaXRvci5zZXRTY2hlbWEoc2NoZW1hLCBzY2hlbWFSZWZzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2gocXVlcnk6IHN0cmluZykge1xuICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICAodGhpcy5lZGl0b3IgYXMgYW55KS5zZWFyY2gocXVlcnkpO1xuICB9XG5cbiAgcHVibGljIHNldE9wdGlvbnMobmV3T3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlZCA9IHRydWU7XG4gICAgdGhpcy5vcHRpb25zID0gbmV3T3B0aW9ucztcbiAgICB0aGlzLm5nT25Jbml0KCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKGpzb246IEpTT04pIHtcbiAgICB0aGlzLmVkaXRvci51cGRhdGUoanNvbik7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0RWRpdG9yKCkge1xuICAgIC8vVE9ETzogbWFkZSBpdCBhbnkgYmVjYXVzZSBvZiB0aGUgbWlzc2luZyB0eXBlIGRlZmluaXRpb25cbiAgICByZXR1cm4gdGhpcy5lZGl0b3IgYXMgYW55O1xuICB9XG5cbiAgcHVibGljIGlzVmFsaWRKc29uKCkge1xuICAgIHRyeSB7XG4gICAgICBKU09OLnBhcnNlKHRoaXMuZ2V0VGV4dCgpKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogYW55KSB7XG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGluc2lkZVZhbHVlLCBpZDogdGhpcy51dWlkfSlcbiAgICB0aGlzLm9uQ2hhbmdlRm4oaW5zaWRlVmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gIH1cblxuICBwcml2YXRlIG9uQ2hhbmdlRm4gPSAodmFsdWU6IGFueSkgPT4ge1xuICB9O1xuICBwcml2YXRlIG9uVG91Y2hlZEZuID0gKCkgPT4ge1xuICB9O1xufVxuIiwiPGRpdiBbaWRdPVwidXVpZFwiICNqc29uRWRpdG9yQ29udGFpbmVyPjwvZGl2PlxyXG4iXX0=
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
21
21
  ]
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFUckIsbUJBQW1CLGFBR25CLFlBQVksYUFHWixtQkFBbUI7eUdBR2QsZ0JBQWdCLFlBTnJCLFlBQVk7OzRGQU1QLGdCQUFnQjtrQkFYNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEpzb25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2pzb24tZWRpdG9yLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEpzb25FZGl0b3JDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEpzb25FZGl0b3JDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEpzb25FZGl0b3JNb2R1bGUge1xyXG59XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFUckIsbUJBQW1CLGFBR25CLFlBQVksYUFHWixtQkFBbUI7eUdBR2QsZ0JBQWdCLFlBTnJCLFlBQVk7OzRGQU1QLGdCQUFnQjtrQkFYNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSnNvbkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vanNvbi1lZGl0b3IuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBKc29uRWRpdG9yQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBKc29uRWRpdG9yQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBKc29uRWRpdG9yTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { modifyOriginItems } from './modify-origin-items.helper';
2
2
  import { cleanSelectItems } from './clean-selected-items.helper';
3
- export const getSelectedItems = (innerItems, bindValue, bindLabel) => {
4
- return modifyOriginItems(cleanSelectItems(innerItems.filter(item => item.__selected)), bindValue, bindLabel);
3
+ export const getSelectedItems = (innerItems, bindValue) => {
4
+ return modifyOriginItems(cleanSelectItems(innerItems.filter(item => item.__selected)), bindValue);
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9oZWxwZXJzL2dldC1zZWxlY3RlZC1pdGVtcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxVQUFrQyxFQUFFLFNBQXdCLEVBQUUsU0FBd0IsRUFBRSxFQUFFO0lBQ3pILE9BQU8saUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUM5RyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZWxlY3QtaW5uZXItaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IG1vZGlmeU9yaWdpbkl0ZW1zIH0gZnJvbSAnLi9tb2RpZnktb3JpZ2luLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGNsZWFuU2VsZWN0SXRlbXMgfSBmcm9tICcuL2NsZWFuLXNlbGVjdGVkLWl0ZW1zLmhlbHBlcic7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRJdGVtcyA9IChpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdLCBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwsIGJpbmRMYWJlbDogc3RyaW5nIHwgbnVsbCkgPT4ge1xyXG4gIHJldHVybiBtb2RpZnlPcmlnaW5JdGVtcyhjbGVhblNlbGVjdEl0ZW1zKGlubmVySXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5fX3NlbGVjdGVkKSksIGJpbmRWYWx1ZSwgYmluZExhYmVsKVxyXG59XHJcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9oZWxwZXJzL2dldC1zZWxlY3RlZC1pdGVtcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxVQUFrQyxFQUFFLFNBQXdCLEVBQUUsRUFBRTtJQUMvRixPQUFPLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNuRyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZWxlY3QtaW5uZXItaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IG1vZGlmeU9yaWdpbkl0ZW1zIH0gZnJvbSAnLi9tb2RpZnktb3JpZ2luLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGNsZWFuU2VsZWN0SXRlbXMgfSBmcm9tICcuL2NsZWFuLXNlbGVjdGVkLWl0ZW1zLmhlbHBlcic7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRJdGVtcyA9IChpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdLCBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHtcclxuICByZXR1cm4gbW9kaWZ5T3JpZ2luSXRlbXMoY2xlYW5TZWxlY3RJdGVtcyhpbm5lckl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uX19zZWxlY3RlZCkpLCBiaW5kVmFsdWUpXHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
- export const modifyOriginItems = (selected, bindValue, bindLabel) => {
1
+ export const modifyOriginItems = (selected, bindValue) => {
2
2
  if (bindValue) {
3
3
  const modifiedSelected = [];
4
4
  for (let item of selected) {
@@ -12,10 +12,10 @@ export const modifyOriginItems = (selected, bindValue, bindLabel) => {
12
12
  }
13
13
  }
14
14
  }
15
- return bindLabel ? modifiedSelected.map((i) => i['label']) : modifiedSelected;
15
+ return modifiedSelected;
16
16
  }
17
17
  else {
18
- return bindLabel ? selected.map((i) => i['label']) : selected;
18
+ return selected;
19
19
  }
20
20
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LW9yaWdpbi1pdGVtcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWxlY3QvaGVscGVycy9tb2RpZnktb3JpZ2luLWl0ZW1zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQTJCLEVBQUUsU0FBd0IsRUFBRSxTQUF3QixFQUFFLEVBQUU7SUFDbkgsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE1BQU0sZ0JBQWdCLEdBQVEsRUFBRSxDQUFBO1FBRWhDLEtBQUssSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDMUIsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDeEQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO2dCQUN4QyxDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3BDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFDM0IsTUFBSztnQkFDUCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFBO0lBQ2hHLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDL0QsQ0FBQztBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VsZWN0SXRlbU1vZGVsfSBmcm9tIFwiLi4vbW9kZWxzL3NlbGVjdC1pdGVtLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY29uc3QgbW9kaWZ5T3JpZ2luSXRlbXMgPSAoc2VsZWN0ZWQ6IFNlbGVjdEl0ZW1Nb2RlbFtdLCBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwsIGJpbmRMYWJlbDogc3RyaW5nIHwgbnVsbCkgPT4ge1xyXG4gIGlmIChiaW5kVmFsdWUpIHtcclxuICAgIGNvbnN0IG1vZGlmaWVkU2VsZWN0ZWQ6IGFueSA9IFtdXHJcblxyXG4gICAgZm9yIChsZXQgaXRlbSBvZiBzZWxlY3RlZCkge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgIGlmIChpdGVtLmhhc093blByb3BlcnR5KGJpbmRWYWx1ZSkgJiYga2V5ID09PSBiaW5kVmFsdWUpIHtcclxuICAgICAgICAgIG1vZGlmaWVkU2VsZWN0ZWQucHVzaChpdGVtW2JpbmRWYWx1ZV0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWl0ZW0uaGFzT3duUHJvcGVydHkoYmluZFZhbHVlKSkge1xyXG4gICAgICAgICAgbW9kaWZpZWRTZWxlY3RlZC5wdXNoKG51bGwpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBiaW5kTGFiZWwgPyBtb2RpZmllZFNlbGVjdGVkLm1hcCgoaTogeyBsYWJlbDogYW55OyB9KSA9PiBpWydsYWJlbCddKSA6IG1vZGlmaWVkU2VsZWN0ZWRcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGJpbmRMYWJlbCA/IHNlbGVjdGVkLm1hcCgoaSkgPT4gaVsnbGFiZWwnXSkgOiBzZWxlY3RlZFxyXG4gIH1cclxufVxyXG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LW9yaWdpbi1pdGVtcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWxlY3QvaGVscGVycy9tb2RpZnktb3JpZ2luLWl0ZW1zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQTJCLEVBQUUsU0FBd0IsRUFBRSxFQUFFO0lBQ3pGLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLGdCQUFnQixHQUFRLEVBQUUsQ0FBQTtRQUVoQyxLQUFLLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzFCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3hELGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtnQkFDeEMsQ0FBQztnQkFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUNwQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQzNCLE1BQUs7Z0JBQ1AsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQTtJQUN6QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUM7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NlbGVjdEl0ZW1Nb2RlbH0gZnJvbSBcIi4uL21vZGVscy9zZWxlY3QtaXRlbS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1vZGlmeU9yaWdpbkl0ZW1zID0gKHNlbGVjdGVkOiBTZWxlY3RJdGVtTW9kZWxbXSwgYmluZFZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB7XHJcbiAgaWYgKGJpbmRWYWx1ZSkge1xyXG4gICAgY29uc3QgbW9kaWZpZWRTZWxlY3RlZDogYW55ID0gW11cclxuXHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHNlbGVjdGVkKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaGFzT3duUHJvcGVydHkoYmluZFZhbHVlKSAmJiBrZXkgPT09IGJpbmRWYWx1ZSkge1xyXG4gICAgICAgICAgbW9kaWZpZWRTZWxlY3RlZC5wdXNoKGl0ZW1bYmluZFZhbHVlXSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXRlbS5oYXNPd25Qcm9wZXJ0eShiaW5kVmFsdWUpKSB7XHJcbiAgICAgICAgICBtb2RpZmllZFNlbGVjdGVkLnB1c2gobnVsbClcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vZGlmaWVkU2VsZWN0ZWRcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGVjdGVkXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -151,7 +151,7 @@ export class SelectComponent {
151
151
  this.innerItems = getInnerItems(items, this.selected);
152
152
  }
153
153
  updateValue(selectedItems) {
154
- const clearedSelected = getSelectedItems(selectedItems, this.bindValue, this.bindLabel);
154
+ const clearedSelected = getSelectedItems(selectedItems, this.bindValue);
155
155
  const outputSelected = this.multiple ? clearedSelected : clearedSelected.length ? clearedSelected[0] : null;
156
156
  this.changed.emit(outputSelected);
157
157
  this.modelChange.emit({ value: outputSelected, id: this.uuid });
@@ -175,7 +175,7 @@ export class SelectComponent {
175
175
  useExisting: forwardRef(() => SelectComponent),
176
176
  multi: true,
177
177
  },
178
- ], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }, { propertyName: "popupHeaderTemplate", first: true, predicate: ["popupHeaderTemplate"], descendants: true }, { propertyName: "popupFooterTemplate", first: true, predicate: ["popupFooterTemplate"], descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-select\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\" [popupPosition]=\"popupPosition\">\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @for (item of getSelectedLabels; track item; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last, clear: clearItem}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ bindLabel ? item[bindLabel] : item['label'] }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class.icon-chevron-up]=\"isOpen\"\r\n [class.icon-chevron-down]=\"!isOpen\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-text\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-text>\r\n </div>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupHeaderTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (popupFooterTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupFooterTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label[bindLabel] : label['label'] }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option[bindLabel] : option['label'] }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding-top:4px;padding-bottom:4px}.mrx-select__input__controls--item{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;transition:background-color .2s}.mrx-select__input__controls--item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select.mrx-select-lg .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px 16px}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick", "minWidth"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i4.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id", "disabled"], outputs: ["clicked"] }, { kind: "directive", type: i5.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition"] }, { kind: "component", type: i6.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i7.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i8.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i9.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
178
+ ], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }, { propertyName: "popupHeaderTemplate", first: true, predicate: ["popupHeaderTemplate"], descendants: true }, { propertyName: "popupFooterTemplate", first: true, predicate: ["popupFooterTemplate"], descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-select\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\" [popupPosition]=\"popupPosition\">\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @for (item of getSelectedLabels; track item; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last, clear: clearItem}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ bindLabel ? item[bindLabel] : item['label'] || item }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class.icon-chevron-up]=\"isOpen\"\r\n [class.icon-chevron-down]=\"!isOpen\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-text\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-text>\r\n </div>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupHeaderTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (popupFooterTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupFooterTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label[bindLabel] : label['label'] || label }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option[bindLabel] : option['label'] || option }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding-top:4px;padding-bottom:4px}.mrx-select__input__controls--item{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;transition:background-color .2s}.mrx-select__input__controls--item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select.mrx-select-lg .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px 16px}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick", "minWidth"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i4.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id", "disabled"], outputs: ["clicked"] }, { kind: "directive", type: i5.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition"] }, { kind: "component", type: i6.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i7.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i8.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i9.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
179
179
  }
180
180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
181
181
  type: Component,
@@ -185,7 +185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
185
185
  useExisting: forwardRef(() => SelectComponent),
186
186
  multi: true,
187
187
  },
188
- ], template: "<div class=\"mrx-select\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\" [popupPosition]=\"popupPosition\">\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @for (item of getSelectedLabels; track item; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last, clear: clearItem}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ bindLabel ? item[bindLabel] : item['label'] }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class.icon-chevron-up]=\"isOpen\"\r\n [class.icon-chevron-down]=\"!isOpen\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-text\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-text>\r\n </div>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupHeaderTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (popupFooterTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupFooterTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label[bindLabel] : label['label'] }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option[bindLabel] : option['label'] }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding-top:4px;padding-bottom:4px}.mrx-select__input__controls--item{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;transition:background-color .2s}.mrx-select__input__controls--item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select.mrx-select-lg .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px 16px}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"] }]
188
+ ], template: "<div class=\"mrx-select\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n <div class=\"mrx-select__input\" [mrxPopupTrigger]=\"dropdown\" [popupPosition]=\"popupPosition\">\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @for (item of getSelectedLabels; track item; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last, clear: clearItem}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item) {\r\n {{ bindLabel ? item[bindLabel] : item['label'] || item }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onClear($event)\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n }\r\n <div class=\"mrx-select__input__controls--item\" (click)=\"onOpen($event)\">\r\n <span\r\n class=\"mrx-icon\"\r\n [class.icon-chevron-up]=\"isOpen\"\r\n [class.icon-chevron-down]=\"!isOpen\"\r\n [class.icon-font-24]=\"size === 'large'\"\r\n [class.icon-font-16]=\"size === 'medium'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-text\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-text>\r\n </div>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupHeaderTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (popupFooterTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupFooterTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label[bindLabel] : label['label'] || label }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option[bindLabel] : option['label'] || option }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding-top:4px;padding-bottom:4px}.mrx-select__input__controls--item{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;transition:background-color .2s}.mrx-select__input__controls--item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select.mrx-select-lg .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px 16px}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"] }]
189
189
  }], propDecorators: { fields: [{
190
190
  type: Input
191
191
  }], items: [{
@@ -246,4 +246,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
246
246
  }], modelChange: [{
247
247
  type: Output
248
248
  }] } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQ1YsS0FBSyxFQUFFLE1BQU0sRUFFYixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sU0FBUyxDQUFDO0FBSTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFldkUsTUFBTSxPQUFPLGVBQWU7SUFDbkIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLGNBQWMsR0FBZ0IsRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBc0IsRUFBRSxDQUFDO0lBQ3BDLFFBQVEs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akIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVcsY0FBYztzQkFBN0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0MsYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUNRLG1CQUFtQjtzQkFBdkQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBQ0UsbUJBQW1CO3NCQUF2RCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFFbEIsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCwgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlbGVjdFNpemVFbnVtLCBTZWxlY3RTaXplVHlwZXMgfSBmcm9tICcuL2VudW1zJztcclxuaW1wb3J0IHsgUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wb3B1cC9jb21wb25lbnRzL3BvcHVwL3BvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdElubmVySXRlbU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0LWlubmVyLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuL21vZGVscy9zZWxlY3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IGdldFNlbGVjdGVkSXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGdldElubmVySXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWlubmVyLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGVtcGxhdGVPdXRwdXRNb2RlbCB9IGZyb20gJy4vbW9kZWxzL3RlbXBsYXRlLW91dHB1dC5tb2RlbCc7XHJcbmltcG9ydCB7IGNsZWFuU2VsZWN0SXRlbSB9IGZyb20gJy4vaGVscGVycy9jbGVhbi1zZWxlY3RlZC1pdGVtcy5oZWxwZXInO1xyXG5pbXBvcnQgeyBQb3NpdGlvbkVudW0sIFBvc2l0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL292ZXJsYXknO1xyXG5pbXBvcnQgeyBnZXRJbm5lclNlbGVjdGVkIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1zZWxlY3RlZC5oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtc2VsZWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHB1YmxpYyBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcmlnaW5TZWxlY3RlZDogYW55IHwgYW55W10gPSBbXTtcclxuICBwdWJsaWMgb3JpZ2luSXRlbXM6IFNlbGVjdEl0ZW1Nb2RlbFtdID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkOiBTZWxlY3RJdGVtTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdID0gW107XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KCk7XHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLm9yaWdpbkl0ZW1zID0gaXRlbXM7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkKHRoaXMub3JpZ2luSXRlbXMsIHRoaXMub3JpZ2luU2VsZWN0ZWQpXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaXplOiBTZWxlY3RTaXplVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBiaW5kSWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgZW1wdHlUZXh0OiBzdHJpbmcgPSAn0J3QtSDQvdCw0LnQtNC10L3Qvic7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAn0J/QvtC40YHQuic7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkTWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tJbnZhbGlkOiB0cnVlIHwgZmFsc2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgcG9wdXBQb3NpdGlvbjogUG9zaXRpb25UeXBlID0gUG9zaXRpb25FbnVtLkJvdHRvbVN0YXJ0O1xyXG5cclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogUG9wdXBDb21wb25lbnQ7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ29wdGlvblRlbXBsYXRlJykgb3B0aW9uVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxUZW1wbGF0ZU91dHB1dE1vZGVsPjtcclxuICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPFRlbXBsYXRlT3V0cHV0TW9kZWw+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3BvcHVwSGVhZGVyVGVtcGxhdGUnKSBwb3B1cEhlYWRlclRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcbiAgQENvbnRlbnRDaGlsZCgncG9wdXBGb290ZXJUZW1wbGF0ZScpIHBvcHVwRm9vdGVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxUZW1wbGF0ZU91dHB1dE1vZGVsPjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgcmVhZG9ubHlDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgPyAnbXJ4LWlucHV0X19yZWFkb25seScgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgP1xyXG4gICAgICAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOlxyXG4gICAgICB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke1NlbGVjdFNpemVFbnVtW3RoaXMuc2l6ZV19ICR7dGhpcy5yZWFkb25seUNsYXNzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0U2VsZWN0ZWRMYWJlbHMoKTogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpID0+IGkuX19zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGZpbHRlcmVkSXRlbXMoKTogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lckl0ZW1zLmZpbHRlcihpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYmluZExhYmVsKSB7XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZyhpW3RoaXMuYmluZExhYmVsXSkuaW5jbHVkZXModGhpcy5zZWFyY2hWYWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZyhpKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0KGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHsuLi5pLCBfX3NlbGVjdGVkOiBpLl9faWQgPT09IGl0ZW0uX19pZCA/ICFpLl9fc2VsZWN0ZWQgOiBmYWxzZX07XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbm5lckl0ZW1zID0gdGhpcy5pbm5lckl0ZW1zLm1hcChpID0+IHtcclxuICAgICAgICByZXR1cm4gey4uLmksIF9fc2VsZWN0ZWQ6IGkuX19pZCA9PT0gaXRlbS5fX2lkID8gIWkuX19zZWxlY3RlZCA6IGkuX19zZWxlY3RlZH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJvcGRvd24udXBkYXRlUG9wdXAoKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuaW5uZXJJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJJdGVtKGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICB0aGlzLm9uVW5zZWxlY3QoaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblVuc2VsZWN0KGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICB0aGlzLmlubmVySXRlbXMuZm9yRWFjaChpID0+IHtcclxuICAgICAgaWYgKGkuX19pZCA9PT0gaXRlbS5fX2lkKSB7XHJcbiAgICAgICAgaS5fX3NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5pbm5lckl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW4oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5pbm5lckl0ZW1zID0gdGhpcy5pbm5lckl0ZW1zLm1hcChpdGVtID0+ICh7Li4uaXRlbSwgX19zZWxlY3RlZDogZmFsc2V9KSk7XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bi50b2dnbGVQb3B1cChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZShbXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlUG9wdXAoaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDbGVhblNlbGVjdEl0ZW0oaXRlbTogU2VsZWN0SW5uZXJJdGVtTW9kZWwpIHtcclxuICAgIHJldHVybiBjbGVhblNlbGVjdEl0ZW0oaXRlbSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc09wdGlvbihvcHRpb246IFNlbGVjdElubmVySXRlbU1vZGVsKTogU2VsZWN0SW5uZXJJdGVtTW9kZWwge1xyXG4gICAgcmV0dXJuIG9wdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc0xhYmVsKGxhYmVsOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCk6IFNlbGVjdElubmVySXRlbU1vZGVsIHtcclxuICAgIHJldHVybiBsYWJlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHNlbGVjdGVkOiBhbnkgfCBhbnlbXSA9IFtdKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5vcmlnaW5TZWxlY3RlZCA9IHNlbGVjdGVkXHJcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWQodGhpcy5vcmlnaW5JdGVtcywgdGhpcy5vcmlnaW5TZWxlY3RlZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWQoaXRlbXM6IGFueVtdID0gW10sIHNlbGVjdGVkOiBhbnlbXSA9IFtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMub3JpZ2luU2VsZWN0ZWQpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBnZXRJbm5lclNlbGVjdGVkKGl0ZW1zLCBzZWxlY3RlZCwgdGhpcy5iaW5kVmFsdWUpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZ2V0SW5uZXJTZWxlY3RlZChpdGVtcywgW3NlbGVjdGVkXSwgdGhpcy5iaW5kVmFsdWUpXHJcbiAgICB9XHJcbiAgICB0aGlzLmlubmVySXRlbXMgPSBnZXRJbm5lckl0ZW1zKGl0ZW1zLCB0aGlzLnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmFsdWUoc2VsZWN0ZWRJdGVtczogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSkge1xyXG4gICAgY29uc3QgY2xlYXJlZFNlbGVjdGVkID0gZ2V0U2VsZWN0ZWRJdGVtcyhzZWxlY3RlZEl0ZW1zLCB0aGlzLmJpbmRWYWx1ZSwgdGhpcy5iaW5kTGFiZWwpO1xyXG4gICAgY29uc3Qgb3V0cHV0U2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gY2xlYXJlZFNlbGVjdGVkIDogY2xlYXJlZFNlbGVjdGVkLmxlbmd0aCA/IGNsZWFyZWRTZWxlY3RlZFswXSA6IG51bGw7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogb3V0cHV0U2VsZWN0ZWQsIGlkOiB0aGlzLnV1aWR9KTtcclxuICAgIHRoaXMub25DaGFuZ2Uob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RcIlxyXG4gICAgIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuICAgICBbY2xhc3MubXJ4LWlucHV0LWVycm9yXT1cImludmFsaWRcIlxyXG4gICAgIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgIFtjbGFzcy4tcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX3dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dFwiIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIiBbcG9wdXBQb3NpdGlvbl09XCJwb3B1cFBvc2l0aW9uXCI+XHJcbiAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgQGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X192YWx1ZXNcIj5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbTsgbGV0IGZpcnN0ID0gJGZpcnN0OyBsZXQgbGFzdCA9ICRsYXN0KSB7XHJcbiAgICAgICAgICAgICAgQGlmIChsYWJlbFRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW0sIGZpcnN0LCBsYXN0LCBjbGVhcjogY2xlYXJJdGVtfVwiXHJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMYWJlbFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtLCBmaXJzdCwgbGFzdH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX3ZhbHVlXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ2V0U2VsZWN0ZWRMYWJlbHM7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICB7eyBiaW5kTGFiZWwgPyBpdGVtW2JpbmRMYWJlbF0gOiBpdGVtWydsYWJlbCddIH19XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHNcIj5cclxuICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgPG1yeC1sb2FkZXJcclxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICdzbWFsbCcgOiAnZXh0cmEtc21hbGwnXCJcclxuICAgICAgICAgICAgW2NvbG9yXT1cIidicmFuZCdcIlxyXG4gICAgICAgICAgPjwvbXJ4LWxvYWRlcj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoICYmIGNsZWFyYWJsZSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9scy0taXRlbVwiIChjbGljayk9XCJvbkNsZWFyKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2VcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMjRdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0xNl09XCJzaXplID09PSAnbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9scy0taXRlbVwiIChjbGljayk9XCJvbk9wZW4oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb25cIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiaXNPcGVuXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1jaGV2cm9uLWRvd25dPVwiIWlzT3BlblwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0yNF09XCJzaXplID09PSAnbGFyZ2UnXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTE2XT1cInNpemUgPT09ICdtZWRpdW0nXCJcclxuICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bXJ4LXBvcHVwICNkcm9wZG93biBbY2xvc2VBZnRlckNsaWNrXT1cImNsb3NhYmxlXCIgKHRvZ2dsZSk9XCJ0b2dnbGVQb3B1cCgkZXZlbnQpXCI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgZmlsdGVyZWRJdGVtczsgdHJhY2sgaXRlbS5fX2lkOyBsZXQgZmlyc3QgPSAkZmlyc3Q7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICA8bXJ4LXBvcHVwLWl0ZW0gW2N1c3RvbV09XCJ0cnVlXCIgW2lkXT1cIml0ZW0uX19pZFwiIChjbGlja2VkKT1cIm9uU2VsZWN0KGl0ZW0pXCI+XHJcbiAgICAgICAgICBAaWYgKG9wdGlvblRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtLCBmaXJzdCwgbGFzdH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRPcHRpb25UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtLCBmaXJzdCwgbGFzdH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tcngtcG9wdXAtaXRlbT5cclxuICAgICAgfSBAZW1wdHkge1xyXG4gICAgICAgIDxtcngtcG9wdXAtaXRlbSBbY3VzdG9tXT1cInRydWVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19kcm9wZG93bl9fZW1wdHlcIj57eyBlbXB0eVRleHQgfX08L2Rpdj5cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIEBpZiAoc2VhcmNoYWJsZSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19zZWFyY2hcIj5cclxuICAgICAgICAgICAgPG1yeC1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiXHJcbiAgICAgICAgICAgID48L21yeC1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKHBvcHVwSGVhZGVyVGVtcGxhdGUpIHtcclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9wdXBIZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICBAaWYgKHBvcHVwRm9vdGVyVGVtcGxhdGUpIHtcclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9wdXBGb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tcngtcG9wdXA+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCJpbnZhbGlkICYmIGlzSW52YWxpZE1lc3NhZ2VcIlxyXG4gICAgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCJcclxuICA+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuXHJcbiAgPG1yeC1zYXZlLXN0YXRlIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIiBbdHlwZV09XCInaW5wdXQnXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRMYWJlbFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIEBpZiAoYXNMYWJlbChpdGVtKTsgYXMgbGFiZWwpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fYmFkZ2VcIj5cclxuICAgICAgPHA+e3sgYmluZExhYmVsID8gbGFiZWxbYmluZExhYmVsXSA6IGxhYmVsWydsYWJlbCddIH19PC9wPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2UgaWNvbi1mb250LTE2XCIgKGNsaWNrKT1cIm9uVW5zZWxlY3QobGFiZWwpXCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0T3B0aW9uVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgQGlmIChhc09wdGlvbihpdGVtKTsgYXMgb3B0aW9uKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fZHJvcGRvd25fX2l0ZW1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19pdGVtLS1jb250ZW50XCI+XHJcbiAgICAgICAgQGlmIChiaW5kSWNvbiAmJiBvcHRpb25bYmluZEljb25dKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tZm9udC0yNFwiIFtjbGFzc109XCJvcHRpb25bYmluZEljb25dXCI+PC9zcGFuPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPHA+e3sgYmluZExhYmVsID8gb3B0aW9uW2JpbmRMYWJlbF0gOiBvcHRpb25bJ2xhYmVsJ10gfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgQGlmIChvcHRpb24uX19zZWxlY3RlZCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGVjayBpY29uLWZvbnQtMjRcIj48L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQ1YsS0FBSyxFQUFFLE1BQU0sRUFFYixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sU0FBUyxDQUFDO0FBSTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFldkUsTUFBTSxPQUFPLGVBQWU7SUFDbkIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLGNBQWMsR0FBZ0IsRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBc0IsRUFBRSxDQUFDO0lBQ3BDLFFBQVEs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QkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVXLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNDLGFBQWE7c0JBQTNDLFlBQVk7dUJBQUMsZUFBZTtnQkFDUSxtQkFBbUI7c0JBQXZELFlBQVk7dUJBQUMscUJBQXFCO2dCQUNFLG1CQUFtQjtzQkFBdkQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBRWxCLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaXplRW51bSwgU2VsZWN0U2l6ZVR5cGVzIH0gZnJvbSAnLi9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcG9wdXAvY29tcG9uZW50cy9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB9IGZyb20gJy4vbW9kZWxzL3NlbGVjdC1pbm5lci1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBnZXRTZWxlY3RlZEl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1zZWxlY3RlZC1pdGVtcy5oZWxwZXInO1xyXG5pbXBvcnQgeyBnZXRJbm5lckl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1pdGVtcy5oZWxwZXInO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRlbXBsYXRlT3V0cHV0TW9kZWwgfSBmcm9tICcuL21vZGVscy90ZW1wbGF0ZS1vdXRwdXQubW9kZWwnO1xyXG5pbXBvcnQgeyBjbGVhblNlbGVjdEl0ZW0gfSBmcm9tICcuL2hlbHBlcnMvY2xlYW4tc2VsZWN0ZWQtaXRlbXMuaGVscGVyJztcclxuaW1wb3J0IHsgUG9zaXRpb25FbnVtLCBQb3NpdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9vdmVybGF5JztcclxuaW1wb3J0IHsgZ2V0SW5uZXJTZWxlY3RlZCB9IGZyb20gJy4vaGVscGVycy9nZXQtaW5uZXItc2VsZWN0ZWQuaGVscGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgb3JpZ2luU2VsZWN0ZWQ6IGFueSB8IGFueVtdID0gW107XHJcbiAgcHVibGljIG9yaWdpbkl0ZW1zOiBTZWxlY3RJdGVtTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZDogU2VsZWN0SXRlbU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgaW5uZXJJdGVtczogU2VsZWN0SW5uZXJJdGVtTW9kZWxbXSA9IFtdO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy5vcmlnaW5JdGVtcyA9IGl0ZW1zO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZCh0aGlzLm9yaWdpbkl0ZW1zLCB0aGlzLm9yaWdpblNlbGVjdGVkKVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjbG9zYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2l6ZTogU2VsZWN0U2l6ZVR5cGVzID0gJ2xhcmdlJztcclxuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYmluZEljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gJ9Cd0LUg0L3QsNC50LTQtdC90L4nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nID0gJ9Cf0L7QuNGB0LonO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIHBvcHVwUG9zaXRpb246IFBvc2l0aW9uVHlwZSA9IFBvc2l0aW9uRW51bS5Cb3R0b21TdGFydDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93biE6IFBvcHVwQ29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wbGF0ZScpIG9wdGlvblRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcbiAgQENvbnRlbnRDaGlsZCgnbGFiZWxUZW1wbGF0ZScpIGxhYmVsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxUZW1wbGF0ZU91dHB1dE1vZGVsPjtcclxuICBAQ29udGVudENoaWxkKCdwb3B1cEhlYWRlclRlbXBsYXRlJykgcG9wdXBIZWFkZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPFRlbXBsYXRlT3V0cHV0TW9kZWw+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3BvcHVwRm9vdGVyVGVtcGxhdGUnKSBwb3B1cEZvb3RlclRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5ID8gJ21yeC1pbnB1dF9fcmVhZG9ubHknIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID9cclxuICAgICAgJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDpcclxuICAgICAgdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtTZWxlY3RTaXplRW51bVt0aGlzLnNpemVdfSAke3RoaXMucmVhZG9ubHlDbGFzc30gJHt0aGlzLmNoZWNrVmFsaWRDbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFNlbGVjdGVkTGFiZWxzKCk6IFNlbGVjdElubmVySXRlbU1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJJdGVtcy5maWx0ZXIoaSA9PiBpLl9fc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmaWx0ZXJlZEl0ZW1zKCk6IFNlbGVjdElubmVySXRlbU1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJJdGVtcy5maWx0ZXIoaSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmJpbmRMYWJlbCkge1xyXG4gICAgICAgIHJldHVybiBTdHJpbmcoaVt0aGlzLmJpbmRMYWJlbF0pLmluY2x1ZGVzKHRoaXMuc2VhcmNoVmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBTdHJpbmcoaSkuaW5jbHVkZXModGhpcy5zZWFyY2hWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0ludmFsaWRNZXNzYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5pbnZhbGlkTWVzc2FnZSB8fCAhIXRoaXMuaW52YWxpZE1lc3NhZ2U/Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdChpdGVtOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLmlubmVySXRlbXMgPSB0aGlzLmlubmVySXRlbXMubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWQgPyAhaS5fX3NlbGVjdGVkIDogZmFsc2V9O1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHsuLi5pLCBfX3NlbGVjdGVkOiBpLl9faWQgPT09IGl0ZW0uX19pZCA/ICFpLl9fc2VsZWN0ZWQgOiBpLl9fc2VsZWN0ZWR9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duLnVwZGF0ZVBvcHVwKCk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmlubmVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFySXRlbShpdGVtOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCkge1xyXG4gICAgdGhpcy5vblVuc2VsZWN0KGl0ZW0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25VbnNlbGVjdChpdGVtOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCkge1xyXG4gICAgdGhpcy5pbm5lckl0ZW1zLmZvckVhY2goaSA9PiB7XHJcbiAgICAgIGlmIChpLl9faWQgPT09IGl0ZW0uX19pZCkge1xyXG4gICAgICAgIGkuX19zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuaW5uZXJJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGVQb3B1cChmYWxzZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZVBvcHVwKHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIF9fc2VsZWN0ZWQ6IGZhbHNlfSkpO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwKGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc09wZW4gPSBpc09wZW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xlYW5TZWxlY3RJdGVtKGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICByZXR1cm4gY2xlYW5TZWxlY3RJdGVtKGl0ZW0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXNPcHRpb24ob3B0aW9uOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCk6IFNlbGVjdElubmVySXRlbU1vZGVsIHtcclxuICAgIHJldHVybiBvcHRpb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXNMYWJlbChsYWJlbDogU2VsZWN0SW5uZXJJdGVtTW9kZWwpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB7XHJcbiAgICByZXR1cm4gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShzZWxlY3RlZDogYW55IHwgYW55W10gPSBbXSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMub3JpZ2luU2VsZWN0ZWQgPSBzZWxlY3RlZFxyXG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkKHRoaXMub3JpZ2luSXRlbXMsIHRoaXMub3JpZ2luU2VsZWN0ZWQpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkKGl0ZW1zOiBhbnlbXSA9IFtdLCBzZWxlY3RlZDogYW55W10gPSBbXSkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLm9yaWdpblNlbGVjdGVkKSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZ2V0SW5uZXJTZWxlY3RlZChpdGVtcywgc2VsZWN0ZWQsIHRoaXMuYmluZFZhbHVlKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGdldElubmVyU2VsZWN0ZWQoaXRlbXMsIFtzZWxlY3RlZF0sIHRoaXMuYmluZFZhbHVlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5pbm5lckl0ZW1zID0gZ2V0SW5uZXJJdGVtcyhpdGVtcywgdGhpcy5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZhbHVlKHNlbGVjdGVkSXRlbXM6IFNlbGVjdElubmVySXRlbU1vZGVsW10pIHtcclxuICAgIGNvbnN0IGNsZWFyZWRTZWxlY3RlZCA9IGdldFNlbGVjdGVkSXRlbXMoc2VsZWN0ZWRJdGVtcywgdGhpcy5iaW5kVmFsdWUpO1xyXG4gICAgY29uc3Qgb3V0cHV0U2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gY2xlYXJlZFNlbGVjdGVkIDogY2xlYXJlZFNlbGVjdGVkLmxlbmd0aCA/IGNsZWFyZWRTZWxlY3RlZFswXSA6IG51bGw7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogb3V0cHV0U2VsZWN0ZWQsIGlkOiB0aGlzLnV1aWR9KTtcclxuICAgIHRoaXMub25DaGFuZ2Uob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RcIlxyXG4gICAgIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuICAgICBbY2xhc3MubXJ4LWlucHV0LWVycm9yXT1cImludmFsaWRcIlxyXG4gICAgIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgIFtjbGFzcy4tcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX3dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dFwiIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIiBbcG9wdXBQb3NpdGlvbl09XCJwb3B1cFBvc2l0aW9uXCI+XHJcbiAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgQGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X192YWx1ZXNcIj5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbTsgbGV0IGZpcnN0ID0gJGZpcnN0OyBsZXQgbGFzdCA9ICRsYXN0KSB7XHJcbiAgICAgICAgICAgICAgQGlmIChsYWJlbFRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW0sIGZpcnN0LCBsYXN0LCBjbGVhcjogY2xlYXJJdGVtfVwiXHJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMYWJlbFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtLCBmaXJzdCwgbGFzdH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX3ZhbHVlXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ2V0U2VsZWN0ZWRMYWJlbHM7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICB7eyBiaW5kTGFiZWwgPyBpdGVtW2JpbmRMYWJlbF0gOiBpdGVtWydsYWJlbCddIHx8IGl0ZW0gfX1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX3BsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9sc1wiPlxyXG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICA8bXJ4LWxvYWRlclxyXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnbGFyZ2UnID8gJ3NtYWxsJyA6ICdleHRyYS1zbWFsbCdcIlxyXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2JyYW5kJ1wiXHJcbiAgICAgICAgICA+PC9tcngtbG9hZGVyPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChnZXRTZWxlY3RlZExhYmVscy5sZW5ndGggJiYgY2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzLS1pdGVtXCIgKGNsaWNrKT1cIm9uQ2xlYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0yNF09XCJzaXplID09PSAnbGFyZ2UnXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTE2XT1cInNpemUgPT09ICdtZWRpdW0nXCJcclxuICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzLS1pdGVtXCIgKGNsaWNrKT1cIm9uT3BlbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaWNvblwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi11cF09XCJpc09wZW5cIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tZG93bl09XCIhaXNPcGVuXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTI0XT1cInNpemUgPT09ICdsYXJnZSdcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMTZdPVwic2l6ZSA9PT0gJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxtcngtcG9wdXAgI2Ryb3Bkb3duIFtjbG9zZUFmdGVyQ2xpY2tdPVwiY2xvc2FibGVcIiAodG9nZ2xlKT1cInRvZ2dsZVBvcHVwKCRldmVudClcIj5cclxuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFjayBpdGVtLl9faWQ7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgICAgIDxtcngtcG9wdXAtaXRlbSBbY3VzdG9tXT1cInRydWVcIiBbaWRdPVwiaXRlbS5fX2lkXCIgKGNsaWNrZWQpPVwib25TZWxlY3QoaXRlbSlcIj5cclxuICAgICAgICAgIEBpZiAob3B0aW9uVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9IEBlbXB0eSB7XHJcbiAgICAgICAgPG1yeC1wb3B1cC1pdGVtIFtjdXN0b21dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19lbXB0eVwiPnt7IGVtcHR5VGV4dCB9fTwvZGl2PlxyXG4gICAgICAgIDwvbXJ4LXBvcHVwLWl0ZW0+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fZHJvcGRvd25fX3NlYXJjaFwiPlxyXG4gICAgICAgICAgICA8bXJ4LWlucHV0LXRleHRcclxuICAgICAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCJcclxuICAgICAgICAgICAgPjwvbXJ4LWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAocG9wdXBIZWFkZXJUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb3B1cEhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIEBpZiAocG9wdXBGb290ZXJUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb3B1cEZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21yeC1wb3B1cD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1yeC1lcnJvci1tZXNzYWdlXHJcbiAgICAqbmdJZj1cImludmFsaWQgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiIFt0eXBlXT1cIidpbnB1dCdcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExhYmVsVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgQGlmIChhc0xhYmVsKGl0ZW0pOyBhcyBsYWJlbCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19iYWRnZVwiPlxyXG4gICAgICA8cD57eyBiaW5kTGFiZWwgPyBsYWJlbFtiaW5kTGFiZWxdIDogbGFiZWxbJ2xhYmVsJ10gfHwgbGFiZWwgfX08L3A+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMTZcIiAoY2xpY2spPVwib25VbnNlbGVjdChsYWJlbClcIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRPcHRpb25UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICBAaWYgKGFzT3B0aW9uKGl0ZW0pOyBhcyBvcHRpb24pIHtcclxuICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19kcm9wZG93bl9faXRlbVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fZHJvcGRvd25fX2l0ZW0tLWNvbnRlbnRcIj5cclxuICAgICAgICBAaWYgKGJpbmRJY29uICYmIG9wdGlvbltiaW5kSWNvbl0pIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1mb250LTI0XCIgW2NsYXNzXT1cIm9wdGlvbltiaW5kSWNvbl1cIj48L3NwYW4+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA8cD57eyBiaW5kTGFiZWwgPyBvcHRpb25bYmluZExhYmVsXSA6IG9wdGlvblsnbGFiZWwnXSB8fCBvcHRpb24gfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgQGlmIChvcHRpb24uX19zZWxlY3RlZCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGVjayBpY29uLWZvbnQtMjRcIj48L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19