@eui/mobile-core 17.0.0-next.5 → 17.0.0-next.6

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.
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
121
121
  type: HostBinding,
122
122
  args: ['class']
123
123
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1hbGVydC1tZXNzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1hbGVydC1tZXNzYWdlL2V1aW0tYWxlcnQtbWVzc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tYWxlcnQtbWVzc2FnZS9ldWltLWFsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLE1BQU0sRUFFTixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBMEIvRCxNQUFNLE9BQU8seUJBQXlCO0lBaUJsQyxZQUFtQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWYzRCxhQUFRLEdBQUcsU0FBUyxDQUFDO1FBRVgsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHL0Msc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQUU2QyxDQUFDO0lBRS9ELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztTQUMxQjthQUFNLElBQUks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Q2IsT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjt3RkFPUyxTQUFTO3NCQUFsQixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsT0FBTztzQkFETixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBeUQzQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIE9uSW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLWFsZXJ0LW1lc3NhZ2UnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWltLWFsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgJ2V1aW1JbmZvJyxcbiAgICAgICAgICAgICAgICAnZXVpbVN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICdldWltV2FybmluZycsXG4gICAgICAgICAgICAgICAgJ2V1aW1EYW5nZXInLFxuICAgICAgICAgICAgICAgICdldWltUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgJ2V1aW1EYXJrJyxcbiAgICAgICAgICAgICAgICAnZXVpbUxpZ2h0JyxcbiAgICAgICAgICAgICAgICAnZXVpbUNsZWFyJyxcbiAgICAgICAgICAgICAgICAnZXVpbVZhcmlhbnQnLFxuICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF0sXG5cbn0pXG5leHBvcnQgY2xhc3MgRXVpbUFsZXJ0TWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBfdmFyaWFudCA9ICdkZWZhdWx0JztcblxuICAgIEBPdXRwdXQoKSBldWltQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBldWltTGFiZWxUcnVuY2F0ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaGFzSWNvbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNDbG9zZWFibGUgPSBmYWxzZTtcblxuICAgIGlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhcmlhbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRWYXJpYW50cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5ldWltSW5mbykge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFudCA9ICdpbmZvJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbVN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnc3VjY2Vzcyc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmV1aW1EYW5nZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnZGFuZ2VyJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbVByaW1hcnkpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhcmlhbnQgPSAncHJpbWFyeSc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmV1aW1EYXJrKSB7XG4gICAgICAgICAgICB0aGlzLl92YXJpYW50ID0gJ2RhcmsnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5ldWltV2FybmluZykge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFudCA9ICd3YXJuaW5nJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbUxpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLl92YXJpYW50ID0gJ2xpZ2h0JztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbUNsZWFyKSB7XG4gICAgICAgICAgICB0aGlzLl92YXJpYW50ID0gJ2NsZWFyJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5fdmFyaWFudCkge1xuICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1jaXJjbGUtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Nsb3NlLWNpcmNsZS1zaGFycCc7XG4gICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2NoZWNrbWFyay1jaXJjbGUtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbmZvcm1hdGlvbi1jaXJjbGUtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAncHJpbWFyeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzZWFyY2gtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnZGFyayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzZWFyY2gtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc2VhcmNoLXNoYXJwJztcbiAgICAgICAgICAgIGNhc2UgJ2NsZWFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3NlYXJjaC1zaGFycCc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0Q3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmdldENzc0NsYXNzZXMoJ2V1aW0tYWxlcnQtbWVzc2FnZScpLFxuICAgICAgICAgICAgdGhpcy5fdmFyaWFudCA/IGBldWltLWFsZXJ0LW1lc3NhZ2UtLSR7dGhpcy5fdmFyaWFudH1gIDogJycsXG4gICAgICAgICAgICAhdGhpcy5pc1Zpc2libGUgPyAnZXVpbS1hbGVydC1tZXNzYWdlLS1oaWRkZW4nIDogJycsXG5cbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXVpbUNsb3NlLmVtaXQoKTtcbiAgICB9XG59XG4iLCJAaWYgKGhhc0ljb24gJiYgaXNWaXNpYmxlKSB7XG4gIDxkaXYgY2xhc3M9XCJldWltLWFsZXJ0LW1lc3NhZ2VfX3dyYXBwZXJpY29uXCI+XG4gICAgQGlmIChoYXNJY29uKSB7XG4gICAgICA8aW9uLWljb24gW25hbWVdPVwiaWNvblwiIGNsYXNzPVwiZXVpbS1hbGVydC1tZXNzYWdlX19pY29uXCI+PC9pb24taWNvbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuQGlmIChpc1Zpc2libGUpIHtcbiAgPGRpdiBjbGFzcz1cImV1aW0tYWxlcnQtbWVzc2FnZV9fd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzbG90U3RhcnRcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90U3RhcnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZXVpbUxhYmVsIFtldWltTGFiZWxUcnVuY2F0ZV09XCJldWltTGFiZWxUcnVuY2F0ZVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzbG90RW5kXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdEVuZF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuXG5AaWYgKGlzQ2xvc2VhYmxlICYmIGlzVmlzaWJsZSkge1xuICA8YSByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNsb3NlIEljb24gQnV0dG9uXCIgY2xhc3M9XCJldWltLWFsZXJ0LW1lc3NhZ2VfX2Nsb3NlXCJcbiAgICAoY2xpY2spPVwib25DbG9zZSgkZXZlbnQpXCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1zaGFycFwiIGNsYXNzPVwiZXVpbS1hbGVydC1tZXNzYWdlX19jbG9zZUljb25cIj48L2lvbi1pY29uPlxuICA8L2E+XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1hbGVydC1tZXNzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1hbGVydC1tZXNzYWdlL2V1aW0tYWxlcnQtbWVzc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tYWxlcnQtbWVzc2FnZS9ldWltLWFsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLE1BQU0sRUFFTixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBMEIvRCxNQUFNLE9BQU8seUJBQXlCO0lBaUJsQyxZQUFtQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWYzRCxhQUFRLEdBQUcsU0FBUyxDQUFDO1FBRVgsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHL0Msc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQUU2QyxDQUFDO0lBRS9ELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztTQUMxQjthQUFNLElBQUks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Q2IsT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjt3RkFPUyxTQUFTO3NCQUFsQixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsT0FBTztzQkFETixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBeUQzQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIE9uSW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLWFsZXJ0LW1lc3NhZ2UnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWltLWFsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICAgICAgJ2V1aW1JbmZvJyxcbiAgICAgICAgICAgICAgICAnZXVpbVN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICdldWltV2FybmluZycsXG4gICAgICAgICAgICAgICAgJ2V1aW1EYW5nZXInLFxuICAgICAgICAgICAgICAgICdldWltUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgJ2V1aW1EYXJrJyxcbiAgICAgICAgICAgICAgICAnZXVpbUxpZ2h0JyxcbiAgICAgICAgICAgICAgICAnZXVpbUNsZWFyJyxcbiAgICAgICAgICAgICAgICAnZXVpbVZhcmlhbnQnLFxuICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF0sXG5cbn0pXG5leHBvcnQgY2xhc3MgRXVpbUFsZXJ0TWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBfdmFyaWFudCA9ICdkZWZhdWx0JztcblxuICAgIEBPdXRwdXQoKSBldWltQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBldWltTGFiZWxUcnVuY2F0ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaGFzSWNvbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNDbG9zZWFibGUgPSBmYWxzZTtcblxuICAgIGlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhcmlhbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRWYXJpYW50cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5ldWltSW5mbykge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFudCA9ICdpbmZvJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbVN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnc3VjY2Vzcyc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmV1aW1EYW5nZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhcmlhbnQgPSAnZGFuZ2VyJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbVByaW1hcnkpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhcmlhbnQgPSAncHJpbWFyeSc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmV1aW1EYXJrKSB7XG4gICAgICAgICAgICB0aGlzLl92YXJpYW50ID0gJ2RhcmsnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5ldWltV2FybmluZykge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFudCA9ICd3YXJuaW5nJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbUxpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLl92YXJpYW50ID0gJ2xpZ2h0JztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZXVpbUNsZWFyKSB7XG4gICAgICAgICAgICB0aGlzLl92YXJpYW50ID0gJ2NsZWFyJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5fdmFyaWFudCkge1xuICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1jaXJjbGUtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Nsb3NlLWNpcmNsZS1zaGFycCc7XG4gICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2NoZWNrbWFyay1jaXJjbGUtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbmZvcm1hdGlvbi1jaXJjbGUtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAncHJpbWFyeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzZWFyY2gtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnZGFyayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzZWFyY2gtc2hhcnAnO1xuICAgICAgICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc2VhcmNoLXNoYXJwJztcbiAgICAgICAgICAgIGNhc2UgJ2NsZWFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3NlYXJjaC1zaGFycCc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0Q3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmdldENzc0NsYXNzZXMoJ2V1aW0tYWxlcnQtbWVzc2FnZScpLFxuICAgICAgICAgICAgdGhpcy5fdmFyaWFudCA/IGBldWltLWFsZXJ0LW1lc3NhZ2UtLSR7dGhpcy5fdmFyaWFudH1gIDogJycsXG4gICAgICAgICAgICAhdGhpcy5pc1Zpc2libGUgPyAnZXVpbS1hbGVydC1tZXNzYWdlLS1oaWRkZW4nIDogJycsXG5cbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXVpbUNsb3NlLmVtaXQoKTtcbiAgICB9XG59XG4iLCJAaWYgKGhhc0ljb24gJiYgaXNWaXNpYmxlKSB7XG4gIDxkaXYgY2xhc3M9XCJldWltLWFsZXJ0LW1lc3NhZ2VfX3dyYXBwZXJpY29uXCI+XG4gICAgQGlmIChoYXNJY29uKSB7XG4gICAgICA8aW9uLWljb24gW25hbWVdPVwiaWNvblwiIGNsYXNzPVwiZXVpbS1hbGVydC1tZXNzYWdlX19pY29uXCI+PC9pb24taWNvbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuQGlmIChpc1Zpc2libGUpIHtcbiAgPGRpdiBjbGFzcz1cImV1aW0tYWxlcnQtbWVzc2FnZV9fd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzbG90U3RhcnRcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90U3RhcnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZXVpbUxhYmVsIFtldWltTGFiZWxUcnVuY2F0ZV09XCJldWltTGFiZWxUcnVuY2F0ZVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzbG90RW5kXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdEVuZF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuXG5AaWYgKGlzQ2xvc2VhYmxlICYmIGlzVmlzaWJsZSkge1xuICA8YSByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNsb3NlIEljb24gQnV0dG9uXCIgY2xhc3M9XCJldWltLWFsZXJ0LW1lc3NhZ2VfX2Nsb3NlXCJcbiAgICAoY2xpY2spPVwib25DbG9zZSgkZXZlbnQpXCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1zaGFycFwiIGNsYXNzPVwiZXVpbS1hbGVydC1tZXNzYWdlX19jbG9zZUljb25cIj48L2lvbi1pY29uPlxuICA8L2E+XG59XG4iXX0=
@@ -5,11 +5,11 @@ export class EuimAvatarComponent {
5
5
  this.className = 'euim-avatar';
6
6
  }
7
7
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimAvatarComponent, selector: "euim-avatar", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimAvatarComponent, selector: "euim-avatar", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar__sub-icon .euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimAvatarComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'euim-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"] }]
12
+ args: [{ selector: 'euim-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar__sub-icon .euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"] }]
13
13
  }], propDecorators: { className: [{
14
14
  type: HostBinding,
15
15
  args: ['class']
@@ -15,7 +15,7 @@ export class EuimBadgeComponent {
15
15
  ].join(' ').trim();
16
16
  }
17
17
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimBadgeComponent, deps: [{ token: i1.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
18
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimBadgeComponent, selector: "euim-badge", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euimDanger", "euimDanger", "euimWarning", "euimWarning", "euimInfo", "euimInfo", "euimSuccess", "euimSuccess", "euimDefault", "euimDefault", "euimPositionTopEnd", "euimPositionTopEnd", "color", "color"] }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimBadgeComponent, selector: "euim-badge", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euimDanger", "euimDanger", "euimWarning", "euimWarning", "euimInfo", "euimInfo", "euimSuccess", "euimSuccess", "euimDefault", "euimDefault", "euimPositionTopEnd", "euimPositionTopEnd", "euimSizeM", "euimSizeM", "euimSizeS", "euimSizeS", "euimSizeL", "euimSizeL", "color", "color"] }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}.euim-badge--size-s{min-width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m);padding:0 var(--eui-base-spacing-2xs);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-m{min-width:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-2xs) / 2) calc(var(--eui-base-spacing-s) / 2);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-l{height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimBadgeComponent, decorators: [{
21
21
  type: Component,
@@ -29,12 +29,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
29
29
  'euimSuccess',
30
30
  'euimDefault',
31
31
  'euimPositionTopEnd',
32
+ 'euimSizeM',
33
+ 'euimSizeS',
34
+ 'euimSizeL',
32
35
  'color',
33
36
  ],
34
37
  },
35
- ], template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}\n"] }]
38
+ ], template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}.euim-badge--size-s{min-width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m);padding:0 var(--eui-base-spacing-2xs);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-m{min-width:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-2xs) / 2) calc(var(--eui-base-spacing-s) / 2);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-l{height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important}\n"] }]
36
39
  }], ctorParameters: () => [{ type: i1.BaseStatesDirective }], propDecorators: { cssClasses: [{
37
40
  type: HostBinding,
38
41
  args: ['class']
39
42
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1iYWRnZS9ldWltLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWJhZGdlL2V1aW0tYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQXVCL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW1CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUUvRCxhQUFhO1FBQ1QsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1NBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7aUlBYlEsa0JBQWtCO3FIQUFsQixrQkFBa0IsdVhDeEIvQiw2QkFDQTs7MkZEdUJhLGtCQUFrQjtrQkFyQjlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUU7Z0NBQ0osWUFBWTtnQ0FDWixhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsYUFBYTtnQ0FDYixhQUFhO2dDQUNiLG9CQUFvQjtnQ0FDcEIsT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjt3RkFLVSxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tYmFkZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAgICAnZXVpbURhbmdlcicsXG4gICAgICAgICAgICAgICAgJ2V1aW1XYXJuaW5nJyxcbiAgICAgICAgICAgICAgICAnZXVpbUluZm8nLFxuICAgICAgICAgICAgICAgICdldWltU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ2V1aW1EZWZhdWx0JyxcbiAgICAgICAgICAgICAgICAnZXVpbVBvc2l0aW9uVG9wRW5kJyxcbiAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltQmFkZ2VDb21wb25lbnQge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENzc0NsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSkge31cblxuICAgIGdldENzc0NsYXNzZXMoKSA6c3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWltLWJhZGdlJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1iYWRnZS9ldWltLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWJhZGdlL2V1aW0tYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQTBCL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW1CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUUvRCxhQUFhO1FBQ1QsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1NBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7aUlBYlEsa0JBQWtCO3FIQUFsQixrQkFBa0IscWNDM0IvQiw2QkFDQTs7MkZEMEJhLGtCQUFrQjtrQkF4QjlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUU7Z0NBQ0osWUFBWTtnQ0FDWixhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsYUFBYTtnQ0FDYixhQUFhO2dDQUNiLG9CQUFvQjtnQ0FDcEIsV0FBVztnQ0FDWCxXQUFXO2dDQUNYLFdBQVc7Z0NBQ1gsT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjt3RkFLVSxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tYmFkZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAgICAnZXVpbURhbmdlcicsXG4gICAgICAgICAgICAgICAgJ2V1aW1XYXJuaW5nJyxcbiAgICAgICAgICAgICAgICAnZXVpbUluZm8nLFxuICAgICAgICAgICAgICAgICdldWltU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ2V1aW1EZWZhdWx0JyxcbiAgICAgICAgICAgICAgICAnZXVpbVBvc2l0aW9uVG9wRW5kJyxcbiAgICAgICAgICAgICAgICAnZXVpbVNpemVNJyxcbiAgICAgICAgICAgICAgICAnZXVpbVNpemVTJyxcbiAgICAgICAgICAgICAgICAnZXVpbVNpemVMJyxcbiAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltQmFkZ2VDb21wb25lbnQge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENzc0NsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSkge31cblxuICAgIGdldENzc0NsYXNzZXMoKSA6c3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWltLWJhZGdlJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -24,6 +24,7 @@ export class EuimChipSelectorComponent {
24
24
  this.filteredData = [...this.sourceData];
25
25
  this.filterConditions = [];
26
26
  this.searchInput = '';
27
+ this.isEmitEvent = true;
27
28
  this.clickEventHandled = false;
28
29
  }
29
30
  get cssClasses() {
@@ -47,15 +48,22 @@ export class EuimChipSelectorComponent {
47
48
  this.euimChipSelectorItemSubscription.unsubscribe();
48
49
  }
49
50
  this.euimChipSelectorItemSubscription = this.euimChipSelectorItemComponent.changes.subscribe(() => {
50
- this.updateChipsAndFilters();
51
51
  this.setCssItemClasses();
52
+ this.updateChipsAndFilterDataAfterInit(this.isEmitEvent = false);
53
+ this.updateChipsAndFilters();
52
54
  });
53
55
  }
54
56
  ngOnChanges(changes) {
55
57
  if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
56
58
  changes.selectedChips.currentValue && changes.selectedChips.currentValue.length === 1 &&
57
- changes.selectedChips.currentValue.every((value, index) => value === '0')) {
59
+ changes.selectedChips.currentValue.every((value) => value === '0')) {
58
60
  this.clearFiltersAndSelectAll();
61
+ return;
62
+ }
63
+ if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
64
+ changes.selectedChips.currentValue && !changes.selectedChips.currentValue.every((value) => value === '0')) {
65
+ this.updateChipsAndFilterDataAfterInit();
66
+ return;
59
67
  }
60
68
  }
61
69
  getCssClasses() {
@@ -110,43 +118,23 @@ export class EuimChipSelectorComponent {
110
118
  }
111
119
  });
112
120
  }
113
- clickEventHandler(chip) {
114
- if (!this.clickEventHandled) {
115
- this.clickEventHandled = true;
116
- this.euimChipSelectorItemComponent.forEach(innerChip => {
117
- if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
118
- this.removeSelectedStyles(innerChip.el.nativeElement);
119
- }
120
- });
121
- this.addSelectedStyles(chip.el.nativeElement);
122
- this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
123
- this.filterData.emit(this.filteredData);
124
- this.clickItems.emit(this.selectedChips);
125
- this.clickEventHandled = false;
126
- }
127
- }
128
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
- handleChange(event) {
130
- this.searchInput = event.detail.value.toLowerCase();
131
- if (!this.euimKeepSelection)
132
- return;
133
- let filteredDataWithSearch = [];
134
- if (this.selectedChips[0] !== '0' && this.isMultiSelectionMode) {
135
- filteredDataWithSearch = [...this.sourceData].filter(item => this.selectedChips.includes(item.filterId));
136
- this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
137
- this.filterData.emit(this.filteredData);
138
- return;
139
- }
140
- if (this.selectedChips[0] !== '0') {
141
- filteredDataWithSearch = [...this.sourceData].filter(item => {
142
- return item.filterId === this.selectedChips[0];
143
- });
144
- this.filteredData = filteredDataWithSearch.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
121
+ applyFilter(filterCondition, isAllFilter, multipleFilterConditions) {
122
+ let filteredData = [...this.sourceData];
123
+ if (isAllFilter) {
124
+ filteredData = this.filterBySearch(filteredData, this.searchInput);
145
125
  }
146
126
  else {
147
- this.filteredData = [...this.sourceData].filter(obj => obj.title.toLowerCase().includes(this.searchInput));
127
+ if (this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
128
+ filteredData = this.filterByMultipleConditions(filteredData, multipleFilterConditions);
129
+ }
130
+ else {
131
+ filteredData = this.filterByCondition(filteredData, filterCondition);
132
+ }
133
+ if (this.euimKeepSelection && this.searchInput !== '') {
134
+ filteredData = this.filterBySearch(filteredData, this.searchInput);
135
+ }
148
136
  }
149
- this.filterData.emit(this.filteredData);
137
+ this.filteredData = filteredData;
150
138
  }
151
139
  clearFiltersAndSelectAll() {
152
140
  this.clearAllSelections();
@@ -160,14 +148,14 @@ export class EuimChipSelectorComponent {
160
148
  this.filterData.emit(this.sourceData);
161
149
  this.clickItems.emit(this.selectedChips);
162
150
  }
163
- updateChipsAndFilterDataAfterInit() {
151
+ updateChipsAndFilterDataAfterInit(isEmitEvent) {
164
152
  this.euimChipSelectorItemComponent.forEach(chip => {
165
153
  this.removeSelectedStyles(chip.el.nativeElement);
166
154
  if (chip.id === undefined && chip.euimChipSelectorAll) {
167
155
  chip.id = 0;
168
156
  }
169
157
  const chipId = chip.id;
170
- if (chipId && this.selectedChips.includes(chipId)) {
158
+ if (chipId && this.selectedChips.includes(chipId.toString())) {
171
159
  this.addSelectedStyles(chip.el.nativeElement);
172
160
  this.applyFilter(null, chip.euimChipSelectorAll, this.selectedChips);
173
161
  this.filterData.emit(this.filteredData);
@@ -178,13 +166,10 @@ export class EuimChipSelectorComponent {
178
166
  this.filterData.emit(this.sourceData);
179
167
  }
180
168
  });
181
- if (this.selectedChips.length > 0) {
182
- this.emitEvents();
169
+ if (isEmitEvent !== false) {
170
+ this.clickItems.emit(this.selectedChips);
183
171
  }
184
172
  }
185
- emitEvents() {
186
- this.clickItems.emit(this.selectedChips);
187
- }
188
173
  onFilterChange(filterCondition, isFilterAll, item) {
189
174
  if (this.isMultiSelectionMode) {
190
175
  this.handleMultiSelectionMode(filterCondition, isFilterAll, item);
@@ -195,30 +180,19 @@ export class EuimChipSelectorComponent {
195
180
  this.applyFilter(filterCondition, isFilterAll, this.filterConditions);
196
181
  this.filterData.emit(this.filteredData);
197
182
  }
198
- applyFilter(filterCondition, isAllFilter, multipleFilterConditions) {
199
- if (isAllFilter && multipleFilterConditions.length === 0) {
200
- this.filteredData = [...this.sourceData];
201
- return;
202
- }
203
- if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter && this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
204
- const filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
205
- this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
206
- return;
207
- }
208
- if (this.isMultiSelectionMode || multipleFilterConditions.length > 0) {
209
- this.filteredData = [...this.sourceData].filter(item => multipleFilterConditions.includes(item.filterId));
210
- return;
183
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
184
+ handleChange(event) {
185
+ this.searchInput = event.detail.value.toLowerCase();
186
+ let filteredData = [...this.sourceData];
187
+ if (this.euimKeepSelection) {
188
+ filteredData = this.filterByChips(filteredData, this.selectedChips);
189
+ filteredData = this.filterBySearch(filteredData, this.searchInput);
211
190
  }
212
- if (this.euimKeepSelection && this.searchInput !== '' && !isAllFilter) {
213
- const filteredData = [...this.sourceData].filter(item => {
214
- return item.filterId === filterCondition;
215
- });
216
- this.filteredData = filteredData.filter(obj => obj.title.toLowerCase().includes(this.searchInput));
217
- return;
191
+ else {
192
+ filteredData = this.filterBySearch(filteredData, this.searchInput);
218
193
  }
219
- this.filteredData = [...this.sourceData].filter(item => {
220
- return item.filterId === filterCondition;
221
- });
194
+ this.filteredData = filteredData;
195
+ this.filterData.emit(this.filteredData);
222
196
  }
223
197
  addSelectedStyles(item) {
224
198
  item.classList.add(`euim-chip-selector__item-selected--color-${this.chipSelectedColor}`);
@@ -261,6 +235,24 @@ export class EuimChipSelectorComponent {
261
235
  this.filterConditions = [];
262
236
  this.selectedChips = ['0'];
263
237
  }
238
+ filterBySearch(data, searchInput) {
239
+ if (!searchInput)
240
+ return data;
241
+ return data.filter(obj => obj.title.toLowerCase().includes(searchInput));
242
+ }
243
+ filterByChips(data, selectedChips) {
244
+ if (selectedChips[0] === '0')
245
+ return data;
246
+ return data.filter(item => selectedChips.includes(item.filterId));
247
+ }
248
+ filterByCondition(data, filterCondition) {
249
+ return data.filter(item => item.filterId === filterCondition);
250
+ }
251
+ filterByMultipleConditions(data, multipleFilterConditions) {
252
+ if (multipleFilterConditions.length === 0)
253
+ return data;
254
+ return data.filter(item => multipleFilterConditions.includes(item.filterId));
255
+ }
264
256
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimChipSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
257
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: ["isMultiSelectionMode", "isMultiSelectionMode", booleanAttribute], euimKeepSelection: ["euimKeepSelection", "euimKeepSelection", booleanAttribute], hasSearchbar: ["hasSearchbar", "hasSearchbar", booleanAttribute] }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (hasSearchbar) {\n <ion-searchbar (ionChange)=\"handleChange($event)\"\n class=\"euim-chip-selector__searchbar\"></ion-searchbar>\n}\n<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;justify-content:center;flex-direction:column}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector ion-searchbar{padding-inline-start:0;padding-top:0;padding-bottom:var(--eui-base-spacing-s)}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: i1.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i2.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
266
258
  }
@@ -301,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
301
293
  type: ContentChildren,
302
294
  args: [EuimChipSelectorItemDirective, { descendants: true }]
303
295
  }] } });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBSVQsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFFZixXQUFXLEVBQ1gsS0FBSyxFQUNMLGlCQUFpQixFQUVqQixNQUFNLEVBQ04sWUFBWSxFQUVaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7OztBQVc1RyxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBVWEsb0JBQWUsR0FBOEIsU0FBUyxDQUFDO1FBQ2hFOzs7V0FHRztRQUNNLGNBQVMsR0FBeUYsT0FBTyxDQUFDO1FBQzFHLFVBQUssR0FBeUYsT0FBTyxDQUFDO1FBQ3RHLHNCQUFpQixHQUFxQixPQUFPLENBQUM7UUFDOUMsYUFBUSxHQUFnRSxTQUFTLENBQUM7UUFDbEYsZUFBVSxHQUFtQixFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFNUIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBRTdCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNYLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQVVwRCxpQkFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFD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QUdILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQU1wQiw2QkFBNkI7c0JBRDVCLGVBQWU7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgUXVlcnlMaXN0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0vZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tY2hpcC1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdldWltLWNoaXAtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cbn0pXG5leHBvcnQgY2xhc3MgRXVpbUNoaXBTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogJ3ByaW1hcnknIHwgICd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjE3LlxuICAgICAqIFBsZWFzZSB1c2Uge0BsaW5rIGNvbG9yfSBwcm9wZXJ0eSBpbnN0ZWFkXG4gICAgICovXG4gICAgQElucHV0KCkgY2hpcENvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBTZWxlY3RlZENvbG9yOiAnZGFyaycgfCAnd2hpdGUnID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwRmlsbDogJ2RlZmF1bHQnIHwgJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdvdXRsaW5lLXNvbGlkJyB8ICdzb2xpZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc291cmNlRGF0YTogRmlsdGVyZWREYXRhW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENoaXBzID0gW107XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNNdWx0aVNlbGVjdGlvbk1vZGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBldWltS2VlcFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGhhc1NlYXJjaGJhciA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50OiBRdWVyeUxpc3Q8RXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgZmlsdGVyQ29uZGl0aW9ucyA9IFtdXG4gICAgc2VhcmNoSW5wdXQgPSAnJztcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIGNsaWNrRXZlbnRIYW5kbGVkID0gZmFsc2U7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9DaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdWJzY3JpYmVUb0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uID0gdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50ICYmIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZSAmJiBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJztcbiAgICAgICAgLy8gaWYgY29sb3IgcHJvcGVydHkgaXMgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBvbmUgKHdoaXRlKSB0aGFuIHVzZSBjaGlwIGNvbG9yXG4gICAgICAgIC8vIG1lYW5zIHVzaW5nIHRoZSBkZXByZWNhdGVkIGNoaXBDb2xvciBwcm9wZXJ0eSxcbiAgICAgICAgLy8gbmVlZGVkIGFzIGluIFYxOCB3aWxsIGJlIHJlbW92ZWQgY2hpcENvbG9yXG4gICAgICAgIGlmICh0aGlzLmNoaXBDb2xvciA9PT0gJ3doaXRlJyAmJiB0aGlzLmNvbG9yICE9ICd3aGl0ZScpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmICghY2hpcC5jbGlja0V2ZW50QWRkZWQpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jbGlja0V2ZW50SGFuZGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50SGFuZGxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChpbm5lckNoaXAgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSAmJiBpbm5lckNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhpbm5lckNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZShjaGlwLmlkPy50b1N0cmluZygpLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjaGlwLmNsaWNrRXZlbnRBZGRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsaWNrRXZlbnRIYW5kbGVyKGNoaXApOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNsaWNrRXZlbnRIYW5kbGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGlubmVyQ2hpcCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8ICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlICYmIGlubmVyQ2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGlubmVyQ2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGNoaXAuaWQ/LnRvU3RyaW5nKCksIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dCA9IGV2ZW50LmRldGFpbC52YWx1ZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIGlmICghdGhpcy5ldWltS2VlcFNlbGVjdGlvbikgcmV0dXJuO1xuXG4gICAgICAgIGxldCBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwc1swXSAhPT0gJzAnICYmIHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YVdpdGhTZWFyY2ggPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB0aGlzLnNlbGVjdGVkQ2hpcHMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dCkpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwc1swXSAhPT0gJzAnKXtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YVdpdGhTZWFyY2ggPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZmlsdGVySWQgPT09IHRoaXMuc2VsZWN0ZWRDaGlwc1swXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBmaWx0ZXJlZERhdGFXaXRoU2VhcmNoLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hJbnB1dCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIob2JqID0+IG9iai50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoSW5wdXQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICB9XG5cbiAgICBjbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgIGxldCBpc0ZpcnN0RWxlbWVudCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRmlyc3RFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlzRmlyc3RFbGVtZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuc291cmNlRGF0YSk7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmIChjaGlwLmlkID09PSB1bmRlZmluZWQgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgY2hpcC5pZCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjaGlwSWQgPSBjaGlwLmlkO1xuXG4gICAgICAgICAgICBpZiAoY2hpcElkICYmIHRoaXMuc2VsZWN0ZWRDaGlwcy5pbmNsdWRlcyhjaGlwSWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIobnVsbCwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCB0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwcy5sZW5ndGggPT09IDAgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuc291cmNlRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRFdmVudHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXRFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCB0aGlzLmZpbHRlckNvbmRpdGlvbnMpO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzQWxsRmlsdGVyOiBCb29sZWFuSW5wdXQsIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9uczogc3RyaW5nW10pOiB2b2lkIHtcblxuICAgICAgICBpZiAoaXNBbGxGaWx0ZXIgJiYgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmV1aW1LZWVwU2VsZWN0aW9uICYmIHRoaXMuc2VhcmNoSW5wdXQgIT09ICcnICYmICFpc0FsbEZpbHRlciAmJiB0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8IG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBmaWx0ZXJlZERhdGEuZmlsdGVyKG9iaiA9PiBvYmoudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaElucHV0KSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSB8fCBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZXVpbUtlZXBTZWxlY3Rpb24gJiYgdGhpcy5zZWFyY2hJbnB1dCAhPT0gJycgJiYgIWlzQWxsRmlsdGVyKSB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZmlsdGVySWQgPT09IGZpbHRlckNvbmRpdGlvbjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBmaWx0ZXJlZERhdGEuZmlsdGVyKG9iaiA9PiBvYmoudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaElucHV0KSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmZpbHRlcklkID09PSBmaWx0ZXJDb25kaXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5zZXRBdHRyaWJ1dGUoJ3NlbGVjdGVkJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICByZW1vdmVTZWxlY3RlZFN0eWxlcyhpdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZShgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLXNlbGVjdGVkLS1jb2xvci0ke3RoaXMuY2hpcFNlbGVjdGVkQ29sb3J9YCk7XG4gICAgICAgIGl0ZW0ucmVtb3ZlQXR0cmlidXRlKCdzZWxlY3RlZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0LCBpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNGaWx0ZXJBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyA9IHRoaXMuc2VsZWN0ZWRDaGlwcztcbiAgICAgICAgICAgIGlmICghdGhpcy5maWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGZpbHRlckNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMucHVzaChmaWx0ZXJDb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihjaGlwID0+IGNoaXAgIT09IGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5maWx0ZXIoZWwgPT4gZWwgIT09ICcwJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQWxsU2VsZWN0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlU2VsZWN0aW9uTW9kZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNGaWx0ZXJBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gW2ZpbHRlckNvbmRpdGlvbl07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyQWxsU2VsZWN0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGlwcyA9IFsnMCddO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEZpbHRlcmVkRGF0YSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIiwiQGlmIChoYXNTZWFyY2hiYXIpIHtcbiAgPGlvbi1zZWFyY2hiYXIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gIGNsYXNzPVwiZXVpbS1jaGlwLXNlbGVjdG9yX19zZWFyY2hiYXJcIj48L2lvbi1zZWFyY2hiYXI+XG59XG48ZXVpbS1zY3JvbGxlci14PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cblxuIl19
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBSVQsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFFZixXQUFXLEVBQ1gsS0FBSyxFQUNMLGlCQUFpQixFQUVqQixNQUFNLEVBQ04sWUFBWSxFQUVaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7OztBQVc1RyxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBVWEsb0JBQWUsR0FBOEIsU0FBUyxDQUFDO1FBQ2hFOzs7V0FHRztRQUNNLGNBQVMsR0FBeUYsT0FBTyxDQUFDO1FBQzFHLFVBQUssR0FBeUYsT0FBTyxDQUFDO1FBQ3RHLHNCQUFpQixHQUFxQixPQUFPLENBQUM7UUFDOUMsYUFBUSxHQUFnRSxTQUFTLENBQUM7UUFDbEYsZUFBVSxHQUFtQixFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFNUIseUJBQW9CLEdBQWlCLEtBQUssQ0FBQztRQUUzQyxzQkFBaUIsR0FBaUIsS0FBSyxDQUFDO1FBRXhDLGlCQUFZLEdBQWlCLEtBQUssQ0FBQztRQUN6QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDaEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFVcEQsaUJBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFD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LENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7aUlBalNRLHlCQUF5QjtxSEFBekIseUJBQXlCLHVUQWFkLGdCQUFnQixpRUFFaEIsZ0JBQWdCLGtEQUVoQixnQkFBZ0Isa01BVW5CLDZCQUE2QixxRUN4RGxELG9OQVFBOzsyRkRxQmEseUJBQXlCO2tCQVJyQyxTQUFTOytCQUNJLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUt0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFTixvQkFBb0I7c0JBRG5CLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBR3RDLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHdEMsWUFBWTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBR0gsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTXBCLDZCQUE2QjtzQkFENUIsZUFBZTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBRdWVyeUxpc3QsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uRGVzdHJveSxcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0vZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tY2hpcC1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdldWltLWNoaXAtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cbn0pXG5leHBvcnQgY2xhc3MgRXVpbUNoaXBTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogJ3ByaW1hcnknIHwgICd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjE3LlxuICAgICAqIFBsZWFzZSB1c2Uge0BsaW5rIGNvbG9yfSBwcm9wZXJ0eSBpbnN0ZWFkXG4gICAgICovXG4gICAgQElucHV0KCkgY2hpcENvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBTZWxlY3RlZENvbG9yOiAnZGFyaycgfCAnd2hpdGUnID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwRmlsbDogJ2RlZmF1bHQnIHwgJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdvdXRsaW5lLXNvbGlkJyB8ICdzb2xpZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc291cmNlRGF0YTogRmlsdGVyZWREYXRhW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENoaXBzID0gW107XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaXNNdWx0aVNlbGVjdGlvbk1vZGU6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGV1aW1LZWVwU2VsZWN0aW9uOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBoYXNTZWFyY2hiYXI6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50OiBRdWVyeUxpc3Q8RXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgZmlsdGVyQ29uZGl0aW9ucyA9IFtdXG4gICAgc2VhcmNoSW5wdXQgPSAnJztcbiAgICBpc0VtaXRFdmVudCA9IHRydWU7XG4gICAgZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBjbGlja0V2ZW50SGFuZGxlZCA9IGZhbHNlO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlVG9DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbiA9IHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQodGhpcy5pc0VtaXRFdmVudCA9IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQgJiYgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlICYmIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlLmV2ZXJ5KCh2YWx1ZSkgPT4gdmFsdWUgPT09ICcwJykpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzQW5kU2VsZWN0QWxsKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudCAmJiB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIGNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZXMuc2VsZWN0ZWRDaGlwcy5jdXJyZW50VmFsdWUuZXZlcnkoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJztcbiAgICAgICAgLy8gaWYgY29sb3IgcHJvcGVydHkgaXMgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBvbmUgKHdoaXRlKSB0aGFuIHVzZSBjaGlwIGNvbG9yXG4gICAgICAgIC8vIG1lYW5zIHVzaW5nIHRoZSBkZXByZWNhdGVkIGNoaXBDb2xvciBwcm9wZXJ0eSxcbiAgICAgICAgLy8gbmVlZGVkIGFzIGluIFYxOCB3aWxsIGJlIHJlbW92ZWQgY2hpcENvbG9yXG4gICAgICAgIGlmICh0aGlzLmNoaXBDb2xvciA9PT0gJ3doaXRlJyAmJiB0aGlzLmNvbG9yICE9ICd3aGl0ZScpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmICghY2hpcC5jbGlja0V2ZW50QWRkZWQpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNsaWNrRXZlbnRIYW5kbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGlubmVyQ2hpcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8ICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlICYmIGlubmVyQ2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGlubmVyQ2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGNoaXAuaWQ/LnRvU3RyaW5nKCksIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNoaXAuY2xpY2tFdmVudEFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzQWxsRmlsdGVyOiBCb29sZWFuSW5wdXQsIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9uczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuXG4gICAgICAgIGlmIChpc0FsbEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeVNlYXJjaChmaWx0ZXJlZERhdGEsIHRoaXMuc2VhcmNoSW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlckJ5TXVsdGlwbGVDb25kaXRpb25zKGZpbHRlcmVkRGF0YSwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeUNvbmRpdGlvbihmaWx0ZXJlZERhdGEsIGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbiAmJiB0aGlzLnNlYXJjaElucHV0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIGNsZWFyRmlsdGVyc0FuZFNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgbGV0IGlzRmlyc3RFbGVtZW50ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNGaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaXNGaXJzdEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoaXNFbWl0RXZlbnQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGNoaXAuaWQgPT09IHVuZGVmaW5lZCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmlkID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNoaXBJZCA9IGNoaXAuaWQ7XG5cbiAgICAgICAgICAgIGlmIChjaGlwSWQgJiYgdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGNoaXBJZC50b1N0cmluZygpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKG51bGwsIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID09PSAwICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaXNFbWl0RXZlbnQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCB0aGlzLmZpbHRlckNvbmRpdGlvbnMpO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcblxuICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeUNoaXBzKGZpbHRlcmVkRGF0YSwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5yZW1vdmVBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENoaXBzO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoZmlsdGVyQ29uZGl0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5wdXNoKGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGNoaXAgPT4gY2hpcCAhPT0gZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihlbCA9PiBlbCAhPT0gJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbZmlsdGVyQ29uZGl0aW9uXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJBbGxTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeVNlYXJjaChkYXRhOiBGaWx0ZXJlZERhdGFbXSwgc2VhcmNoSW5wdXQ6IHN0cmluZyk6IEZpbHRlcmVkRGF0YVtdIHtcbiAgICAgICAgaWYgKCFzZWFyY2hJbnB1dCkgcmV0dXJuIGRhdGE7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoSW5wdXQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckJ5Q2hpcHMoZGF0YTogRmlsdGVyZWREYXRhW10sIHNlbGVjdGVkQ2hpcHM6IHN0cmluZ1tdKTogRmlsdGVyZWREYXRhW10ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRDaGlwc1swXSA9PT0gJzAnKSByZXR1cm4gZGF0YTtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4gc2VsZWN0ZWRDaGlwcy5pbmNsdWRlcyhpdGVtLmZpbHRlcklkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeUNvbmRpdGlvbihkYXRhOiBGaWx0ZXJlZERhdGFbXSwgZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcpOiBGaWx0ZXJlZERhdGFbXSB7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uZmlsdGVySWQgPT09IGZpbHRlckNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeU11bHRpcGxlQ29uZGl0aW9ucyhkYXRhOiBGaWx0ZXJlZERhdGFbXSwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zOiBzdHJpbmdbXSk6IEZpbHRlcmVkRGF0YVtdIHtcbiAgICAgICAgaWYgKG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBkYXRhO1xuICAgICAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEZpbHRlcmVkRGF0YSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIiwiQGlmIChoYXNTZWFyY2hiYXIpIHtcbiAgPGlvbi1zZWFyY2hiYXIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gIGNsYXNzPVwiZXVpbS1jaGlwLXNlbGVjdG9yX19zZWFyY2hiYXJcIj48L2lvbi1zZWFyY2hiYXI+XG59XG48ZXVpbS1zY3JvbGxlci14PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2V1aW0tc2Nyb2xsZXIteD5cblxuIl19