@fundamental-ngx/cdk 0.52.2-rc.2 → 0.52.2-rc.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +14 -4
- package/esm2022/utils/functions/key-util.mjs +4 -3
- package/fesm2022/fundamental-ngx-cdk-utils.mjs +249 -238
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/directives/auto-complete/auto-complete.directive.d.ts +2 -0
|
@@ -3,7 +3,7 @@ import { Directive, ElementRef, EventEmitter, Input, NgZone, Output, inject } fr
|
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { fromEvent, map, switchMap } from 'rxjs';
|
|
5
5
|
import { first } from 'rxjs/operators';
|
|
6
|
-
import { KeyUtil } from '../../functions
|
|
6
|
+
import { KeyUtil } from '../../functions';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class AutoCompleteDirective {
|
|
9
9
|
/** @hidden */
|
|
@@ -25,6 +25,8 @@ export class AutoCompleteDirective {
|
|
|
25
25
|
/** @hidden */
|
|
26
26
|
this._stopKeys = [BACKSPACE, DELETE, ESCAPE];
|
|
27
27
|
/** @hidden */
|
|
28
|
+
this._isComposing = false;
|
|
29
|
+
/** @hidden */
|
|
28
30
|
this._elementRef = inject(ElementRef);
|
|
29
31
|
this._zone = inject(NgZone);
|
|
30
32
|
/** Matcher function for testing the str for a search term */
|
|
@@ -36,14 +38,23 @@ export class AutoCompleteDirective {
|
|
|
36
38
|
*/
|
|
37
39
|
this._zone.runOutsideAngular(() => {
|
|
38
40
|
const keyupEvent = fromEvent(this._elementRef.nativeElement, 'keyup');
|
|
41
|
+
const compositionStartEvent = fromEvent(this._elementRef.nativeElement, 'compositionstart');
|
|
42
|
+
const compositionEndEvent = fromEvent(this._elementRef.nativeElement, 'compositionend');
|
|
39
43
|
keyupEvent
|
|
40
44
|
.pipe(switchMap((evt) => this._zone.onStable.pipe(first(), map(() => evt))), takeUntilDestroyed())
|
|
41
45
|
.subscribe((evt) => this._handleKeyboardEvent(evt));
|
|
46
|
+
compositionStartEvent.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
47
|
+
this._isComposing = true;
|
|
48
|
+
});
|
|
49
|
+
compositionEndEvent.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
50
|
+
this._isComposing = false;
|
|
51
|
+
this.inputText = this._elementRef.nativeElement.value;
|
|
52
|
+
});
|
|
42
53
|
});
|
|
43
54
|
}
|
|
44
55
|
/** @hidden */
|
|
45
56
|
_handleKeyboardEvent(event) {
|
|
46
|
-
if (this.enable) {
|
|
57
|
+
if (this.enable && !this._isComposing) {
|
|
47
58
|
if (KeyUtil.isKeyCode(event, this._stopKeys)) {
|
|
48
59
|
this._elementRef.nativeElement.value = this.inputText;
|
|
49
60
|
}
|
|
@@ -55,7 +66,6 @@ export class AutoCompleteDirective {
|
|
|
55
66
|
this._sendCompleteEvent(false);
|
|
56
67
|
}
|
|
57
68
|
else if (!this._isControlKey(event) && this.inputText) {
|
|
58
|
-
/** Prevention from triggering typeahead, when having crtl/cmd + keys */
|
|
59
69
|
if (!this._triggerTypeAhead()) {
|
|
60
70
|
return;
|
|
61
71
|
}
|
|
@@ -122,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
122
132
|
}], matcher: [{
|
|
123
133
|
type: Input
|
|
124
134
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBV25ELE1BQU0sT0FBTyxxQkFBcUI7SUFnRDlCLGNBQWM7SUFDZCw4REFBOEQ7SUFDOUQ7UUF0Q0EsNERBQTREO1FBRTVELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFZDs7O29EQUc0QztRQUU1QyxjQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVqQyx5REFBeUQ7UUFHaEQsZUFBVSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUU3RixjQUFjO1FBQ0csa0JBQWEsR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELGNBQWM7UUFDRyxjQUFTLEdBQWEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakUsY0FBYztRQUNHLGNB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QXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFJRyxPQUFPO3NCQUROLEtBQUs7Z0JBUU4sU0FBUztzQkFEUixLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBTUcsVUFBVTtzQkFGbEIsTUFBTTtnQkFrRFAsT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkFDS1NQQUNFLCBDT05UUk9MLCBERUxFVEUsIEVOVEVSLCBFU0NBUEUsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2tleS11dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRvQ29tcGxldGVFdmVudCB7XG4gICAgdGVybTogc3RyaW5nO1xuICAgIGZvcmNlQ2xvc2U6IGJvb2xlYW47XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0F1dG9Db21wbGV0ZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlRGlyZWN0aXZlIHtcbiAgICAvKiogVmFsdWVzIHRoYXQgd2lsbCBmaWxsIG1pc3NpbmcgdGV4dCBpbiB0aGUgaW5wdXQuICovXG4gICAgQElucHV0KClcbiAgICBvcHRpb25zOiBhbnlbXTtcblxuICAgIC8qKlxuICAgICAqIElucHV0IHRleHQsIHRoYXQgaXMgdGFrZW4gZnJvbSBuZ01vZGVsIG9mIGZvcm1Db250cm9sLFxuICAgICAqIHRoZXJlIGhhcyB0byBiZSBkaWZmZXJlbmNlIGJldHdlZW4gbmF0aXZlIGlucHV0IHZhbHVlIGFuZCBtb2RlbCB2YWx1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUZXh0OiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgYXV0byBjb21wbGV0ZSBkaXJlY3RpdmUgc2hvdWxkIGJlIGVuYWJsZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGVuYWJsZSA9IHRydWU7XG5cbiAgICAvKiogRGlzcGxheSBmdW5jdGlvbi4gQWNjZXB0cyBhbiBvYmplY3Qgb2YgdGhlIHNhbWUgdHlwZSBhcyB0aGVcbiAgICAgKiBpdGVtcyBwYXNzZWQgdG8gZHJvcGRvd25WYWx1ZXMgYXMgYXJndW1lbnQsIGFuZCBvdXRwdXRzIGEgc3RyaW5nLlxuICAgICAqIEFuIGFycm93IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgKnRoaXMqIGtleXdvcmQgaW4gdGhlIGNhbGxpbmcgY29tcG9uZW50LlxuICAgICAqIFNlZSBzZWFyY2ggaW5wdXQgZXhhbXBsZXMgZm9yIGRldGFpbHMuICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5Rm4gPSB0aGlzLl9kZWZhdWx0RGlzcGxheTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gdGhlIGF1dG8gYWhlYWQgdGV4dCBpcyBhY2NlcHRlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIHJlYWRvbmx5IG9uQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxBdXRvQ29tcGxldGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEF1dG9Db21wbGV0ZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb21wbGV0ZUtleXM6IG51bWJlcltdID0gW0VOVEVSXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmlsbEtleXM6IG51bWJlcltdID0gW0xFRlRfQVJST1csIFJJR0hUX0FSUk9XXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3RvcEtleXM6IG51bWJlcltdID0gW0JBQ0tTUEFDRSwgREVMRVRFLCBFU0NBUEVdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIG9sZFZhbHVlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbGFzdEtleVVwRXZlbnQ6IEtleWJvYXJkRXZlbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF96b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBGaXhlcyAjMTA3MTBcbiAgICAgICAgICogV2l0aCBjaGluZXNlIGNoYXJhY3RlcnMgaW5wdXRUZXh0IHByb3BlcnR5IHVwZGF0ZSB3YXMgdHJpZ2dlcmVkIGFmdGVyIHRoZSBrZXl1cCBldmVudCB0cmlnZ2VyLlxuICAgICAgICAgKiBCeSBlbnN1cmluZyB0aGF0IHdlIHNldCBhbGwgcHJvcGVydGllcyB3ZSBjYW4gcHJvY2VlZCB3aXRoIHN0YWJsZSBkYXRhLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXl1cEV2ZW50ID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2tleXVwJyk7XG4gICAgICAgICAgICBrZXl1cEV2ZW50XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZ0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fem9uZS5vblN0YWJsZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IGV2dClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZ0KSA9PiB0aGlzLl9oYW5kbGVLZXlib2FyZEV2ZW50KGV2dCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogTWF0Y2hlciBmdW5jdGlvbiBmb3IgdGVzdGluZyB0aGUgc3RyIGZvciBhIHNlYXJjaCB0ZXJtICovXG4gICAgQElucHV0KClcbiAgICBtYXRjaGVyID0gKHN0cjogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBib29sZWFuID0+IHN0ci5zdGFydHNXaXRoKHNlYXJjaFRlcm0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmFibGUpIHtcbiAgICAgICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgdGhpcy5fc3RvcEtleXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5pbnB1dFRleHQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCB0aGlzLl9jb21wbGV0ZUtleXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VuZENvbXBsZXRlRXZlbnQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZUluZGljYXRvclRvTGFzdENoYXJhY3RlcigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgdGhpcy5fZmlsbEtleXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VuZENvbXBsZXRlRXZlbnQoZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5faXNDb250cm9sS2V5KGV2ZW50KSAmJiB0aGlzLmlucHV0VGV4dCkge1xuICAgICAgICAgICAgICAgIC8qKiBQcmV2ZW50aW9uIGZyb20gdHJpZ2dlcmluZyB0eXBlYWhlYWQsIHdoZW4gaGF2aW5nIGNydGwvY21kICsga2V5cyAqL1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fdHJpZ2dlclR5cGVBaGVhZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9sZFZhbHVlID0gdGhpcy5pbnB1dFRleHQ7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHRoaXMuZGlzcGxheUZuKG9wdGlvbikudG9Mb2NhbGVMb3dlckNhc2UoKSwgdGhpcy5pbnB1dFRleHQudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHlwZWFoZWFkKHRoaXMuZGlzcGxheUZuKGl0ZW0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYXN0S2V5VXBFdmVudCA9IGV2ZW50O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHlwZWFoZWFkKGRpc3BsYXllZFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gZGlzcGxheWVkVmFsdWU7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0SW5kZXggPSB0aGlzLmlucHV0VGV4dC5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydEluZGV4LCBkaXNwbGF5ZWRWYWx1ZS5sZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNDb250cm9sS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgQ09OVFJPTCkgfHwgZXZlbnQuY3RybEtleTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHREaXNwbGF5KHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmlnZ2VyVHlwZUFoZWFkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIShcbiAgICAgICAgICAgIHRoaXMubGFzdEtleVVwRXZlbnQgJiZcbiAgICAgICAgICAgIEtleVV0aWwuaXNLZXlDb2RlKHRoaXMubGFzdEtleVVwRXZlbnQsIENPTlRST0wpICYmXG4gICAgICAgICAgICB0aGlzLmlucHV0VGV4dCA9PT0gdGhpcy5vbGRWYWx1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VuZENvbXBsZXRlRXZlbnQoZm9yY2VDbG9zZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh7XG4gICAgICAgICAgICB0ZXJtOiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUsXG4gICAgICAgICAgICBmb3JjZUNsb3NlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbW92ZUluZGljYXRvclRvTGFzdENoYXJhY3RlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXRUZXh0TGVuZ3RoID0gdGhpcy5pbnB1dFRleHQ/Lmxlbmd0aCA/PyAwO1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoaW5wdXRUZXh0TGVuZ3RoLCBpbnB1dFRleHRMZW5ndGgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVzFDLE1BQU0sT0FBTyxxQkFBcUI7SUFtRDlCLGNBQWM7SUFDZCw4REFBOEQ7SUFDOUQ7UUF6Q0EsNERBQTREO1FBRTVELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFZDs7O29EQUc0QztRQUU1QyxjQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVqQyx5REFBeUQ7UUFHaEQsZUFBVSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUU3RixjQUFjO1FBQ0csa0JBQWEsR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELGNBQWM7UUFDRyxjQUFTLEdBQWEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakUsY0FBYztRQUNHLGNBQVMsR0FBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFRbkUsY0FBYztRQUNOLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTdCLGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxVQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBeUN4Qyw2REFBNkQ7UUFFN0QsWUFBTyxHQUFHLENBQUMsR0FBVyxFQUFFLFVBQWtCLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUF0Qy9FOzs7O1dBSUc7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM5QixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQWdCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JGLE1BQU0scUJBQXFCLEdBQUcsU0FBUyxDQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDOUIsa0JBQWtCLENBQ3JCLENBQUM7WUFDRixNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBbUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUUxRyxVQUFVO2lCQUNMLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEIsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUNqQixDQUNKLEVBQ0Qsa0JBQWtCLEVBQUUsQ0FDdkI7aUJBQ0EsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUV4RCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUgsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFNRCxjQUFjO0lBQ2Qsb0JBQW9CLENBQUMsS0FBb0I7UUFDckMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzFELENBQUM7aUJBQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7b0JBQzVCLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBRS9CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQy9GLENBQUM7Z0JBRUYsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDMUMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWM7SUFDTixVQUFVLENBQUMsY0FBc0I7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztRQUN0RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsY0FBYztJQUNOLGFBQWEsQ0FBQyxLQUFvQjtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDOUQsQ0FBQztJQUVELGNBQWM7SUFDTixlQUFlLENBQUMsS0FBVTtRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztJQUNOLGlCQUFpQjtRQUNyQixPQUFPLENBQUMsQ0FDSixJQUFJLENBQUMsY0FBYztZQUNuQixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDO1lBQy9DLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FDbkMsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ04sa0JBQWtCLENBQUMsVUFBbUI7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDMUMsVUFBVTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sNkJBQTZCO1FBQ2pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdkYsQ0FBQzs4R0FqS1EscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQUlHLE9BQU87c0JBRE4sS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSztnQkFNRyxVQUFVO3NCQUZsQixNQUFNO2dCQW9FUCxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQUNLU1BBQ0UsIENPTlRST0wsIERFTEVURSwgRU5URVIsIEVTQ0FQRSwgTEVGVF9BUlJPVywgUklHSFRfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Db21wbGV0ZUV2ZW50IHtcbiAgICB0ZXJtOiBzdHJpbmc7XG4gICAgZm9yY2VDbG9zZTogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrQXV0b0NvbXBsZXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVEaXJlY3RpdmUge1xuICAgIC8qKiBWYWx1ZXMgdGhhdCB3aWxsIGZpbGwgbWlzc2luZyB0ZXh0IGluIHRoZSBpbnB1dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG9wdGlvbnM6IGFueVtdO1xuXG4gICAgLyoqXG4gICAgICogSW5wdXQgdGV4dCwgdGhhdCBpcyB0YWtlbiBmcm9tIG5nTW9kZWwgb2YgZm9ybUNvbnRyb2wsXG4gICAgICogdGhlcmUgaGFzIHRvIGJlIGRpZmZlcmVuY2UgYmV0d2VlbiBuYXRpdmUgaW5wdXQgdmFsdWUgYW5kIG1vZGVsIHZhbHVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpbnB1dFRleHQ6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBhdXRvIGNvbXBsZXRlIGRpcmVjdGl2ZSBzaG91bGQgYmUgZW5hYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZW5hYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBEaXNwbGF5IGZ1bmN0aW9uLiBBY2NlcHRzIGFuIG9iamVjdCBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoZVxuICAgICAqIGl0ZW1zIHBhc3NlZCB0byBkcm9wZG93blZhbHVlcyBhcyBhcmd1bWVudCwgYW5kIG91dHB1dHMgYSBzdHJpbmcuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIHNlYXJjaCBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlGbiA9IHRoaXMuX2RlZmF1bHREaXNwbGF5O1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiB0aGUgYXV0byBhaGVhZCB0ZXh0IGlzIGFjY2VwdGVkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPEF1dG9Db21wbGV0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b0NvbXBsZXRlRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBsZXRlS2V5czogbnVtYmVyW10gPSBbRU5URVJdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9maWxsS2V5czogbnVtYmVyW10gPSBbTEVGVF9BUlJPVywgUklHSFRfQVJST1ddO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9wS2V5czogbnVtYmVyW10gPSBbQkFDS1NQQUNFLCBERUxFVEUsIEVTQ0FQRV07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgb2xkVmFsdWU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBsYXN0S2V5VXBFdmVudDogS2V5Ym9hcmRFdmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNDb21wb3NpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZpeGVzICMxMDcxMFxuICAgICAgICAgKiBXaXRoIGNoaW5lc2UgY2hhcmFjdGVycyBpbnB1dFRleHQgcHJvcGVydHkgdXBkYXRlIHdhcyB0cmlnZ2VyZWQgYWZ0ZXIgdGhlIGtleXVwIGV2ZW50IHRyaWdnZXIuXG4gICAgICAgICAqIEJ5IGVuc3VyaW5nIHRoYXQgd2Ugc2V0IGFsbCBwcm9wZXJ0aWVzIHdlIGNhbiBwcm9jZWVkIHdpdGggc3RhYmxlIGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXVwRXZlbnQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvc2l0aW9uU3RhcnRFdmVudCA9IGZyb21FdmVudDxDb21wb3NpdGlvbkV2ZW50PihcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2NvbXBvc2l0aW9uc3RhcnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgY29tcG9zaXRpb25FbmRFdmVudCA9IGZyb21FdmVudDxDb21wb3NpdGlvbkV2ZW50Pih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjb21wb3NpdGlvbmVuZCcpO1xuXG4gICAgICAgICAgICBrZXl1cEV2ZW50XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZ0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fem9uZS5vblN0YWJsZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IGV2dClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZ0KSA9PiB0aGlzLl9oYW5kbGVLZXlib2FyZEV2ZW50KGV2dCkpO1xuXG4gICAgICAgICAgICBjb21wb3NpdGlvblN0YXJ0RXZlbnQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc0NvbXBvc2luZyA9IHRydWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29tcG9zaXRpb25FbmRFdmVudC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzQ29tcG9zaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIE1hdGNoZXIgZnVuY3Rpb24gZm9yIHRlc3RpbmcgdGhlIHN0ciBmb3IgYSBzZWFyY2ggdGVybSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF0Y2hlciA9IChzdHI6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiA9PiBzdHIuc3RhcnRzV2l0aChzZWFyY2hUZXJtKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlICYmICF0aGlzLl9pc0NvbXBvc2luZykge1xuICAgICAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCB0aGlzLl9zdG9wS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmlucHV0VGV4dDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIHRoaXMuX2NvbXBsZXRlS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZW5kQ29tcGxldGVFdmVudCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlSW5kaWNhdG9yVG9MYXN0Q2hhcmFjdGVyKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCB0aGlzLl9maWxsS2V5cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZW5kQ29tcGxldGVFdmVudChmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc0NvbnRyb2xLZXkoZXZlbnQpICYmIHRoaXMuaW5wdXRUZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl90cmlnZ2VyVHlwZUFoZWFkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMub2xkVmFsdWUgPSB0aGlzLmlucHV0VGV4dDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdGNoZXIodGhpcy5kaXNwbGF5Rm4ob3B0aW9uKS50b0xvY2FsZUxvd2VyQ2FzZSgpLCB0aGlzLmlucHV0VGV4dC50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90eXBlYWhlYWQodGhpcy5kaXNwbGF5Rm4oaXRlbSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RLZXlVcEV2ZW50ID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90eXBlYWhlYWQoZGlzcGxheWVkVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBkaXNwbGF5ZWRWYWx1ZTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnRJbmRleCA9IHRoaXMuaW5wdXRUZXh0Lmxlbmd0aDtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0SW5kZXgsIGRpc3BsYXllZFZhbHVlLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0NvbnRyb2xLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBDT05UUk9MKSB8fCBldmVudC5jdHJsS2V5O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdERpc3BsYXkodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RyaWdnZXJUeXBlQWhlYWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhKFxuICAgICAgICAgICAgdGhpcy5sYXN0S2V5VXBFdmVudCAmJlxuICAgICAgICAgICAgS2V5VXRpbC5pc0tleUNvZGUodGhpcy5sYXN0S2V5VXBFdmVudCwgQ09OVFJPTCkgJiZcbiAgICAgICAgICAgIHRoaXMuaW5wdXRUZXh0ID09PSB0aGlzLm9sZFZhbHVlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZW5kQ29tcGxldGVFdmVudChmb3JjZUNsb3NlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHtcbiAgICAgICAgICAgIHRlcm06IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSxcbiAgICAgICAgICAgIGZvcmNlQ2xvc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tb3ZlSW5kaWNhdG9yVG9MYXN0Q2hhcmFjdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dFRleHRMZW5ndGggPSB0aGlzLmlucHV0VGV4dD8ubGVuZ3RoID8/IDA7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShpbnB1dFRleHRMZW5ndGgsIGlucHV0VGV4dExlbmd0aCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A, ALT, BACKSPACE, C, CONTROL, DASH, DELETE, DOWN_ARROW, END, ENTER, ESCAPE, F2, HOME, LEFT_ARROW, MAC_ENTER, META, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, PAGE_DOWN, PAGE_UP, RIGHT_ARROW, SHIFT, SPACE, TAB, UP_ARROW, V, X } from '@angular/cdk/keycodes';
|
|
1
|
+
import { A, ALT, BACKSPACE, C, CONTROL, DASH, DELETE, DOWN_ARROW, END, ENTER, ESCAPE, F2, F7, HOME, LEFT_ARROW, MAC_ENTER, META, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, PAGE_DOWN, PAGE_UP, RIGHT_ARROW, SHIFT, SPACE, TAB, UP_ARROW, V, X } from '@angular/cdk/keycodes';
|
|
2
2
|
import { isDevMode } from '@angular/core';
|
|
3
3
|
/** Map of keyCodes and their corresponding "key" values */
|
|
4
4
|
const keyMap = new Map([
|
|
@@ -37,7 +37,8 @@ const keyMap = new Map([
|
|
|
37
37
|
[NUMPAD_SEVEN, ['NumPad7']],
|
|
38
38
|
[NUMPAD_EIGHT, ['NumPad8']],
|
|
39
39
|
[NUMPAD_NINE, ['NumPad9']],
|
|
40
|
-
[F2, ['F2']]
|
|
40
|
+
[F2, ['F2']],
|
|
41
|
+
[F7, ['F7']]
|
|
41
42
|
]);
|
|
42
43
|
export class KeyUtil {
|
|
43
44
|
/**
|
|
@@ -86,4 +87,4 @@ export class KeyUtil {
|
|
|
86
87
|
return false;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9mdW5jdGlvbnMva2V5LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILENBQUMsRUFDRCxHQUFHLEVBQ0gsU0FBUyxFQUNULENBQUMsRUFDRCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE1BQU0sRUFDTixVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxNQUFNLEVBQ04sRUFBRSxFQUNGLElBQUksRUFDSixVQUFVLEVBQ1YsU0FBUyxFQUNULElBQUksRUFDSixZQUFZLEVBQ1osV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLEtBQUssRUFDTCxLQUFLLEVBQ0wsR0FBRyxFQUNILFFBQVEsRUFDUixDQUFDLEVBQ0QsQ0FBQyxFQUNKLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQywyREFBMkQ7QUFDM0QsTUFBTSxNQUFNLEdBQTBCLElBQUksR0FBRyxDQUFDO0lBQzFDLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDYixDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNiLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QixDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFCLENBQUMsVUFBVSxF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Q25ELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEEsXG4gICAgQUxULFxuICAgIEJBQ0tTUEFDRSxcbiAgICBDLFxuICAgIENPTlRST0wsXG4gICAgREFTSCxcbiAgICBERUxFVEUsXG4gICAgRE9XTl9BUlJPVyxcbiAgICBFTkQsXG4gICAgRU5URVIsXG4gICAgRVNDQVBFLFxuICAgIEYyLFxuICAgIEhPTUUsXG4gICAgTEVGVF9BUlJPVyxcbiAgICBNQUNfRU5URVIsXG4gICAgTUVUQSxcbiAgICBOVU1QQURfRUlHSFQsXG4gICAgTlVNUEFEX0ZJVkUsXG4gICAgTlVNUEFEX0ZPVVIsXG4gICAgTlVNUEFEX01JTlVTLFxuICAgIE5VTVBBRF9OSU5FLFxuICAgIE5VTVBBRF9PTkUsXG4gICAgTlVNUEFEX1NFVkVOLFxuICAgIE5VTVBBRF9TSVgsXG4gICAgTlVNUEFEX1RIUkVFLFxuICAgIE5VTVBBRF9UV08sXG4gICAgTlVNUEFEX1pFUk8sXG4gICAgUEFHRV9ET1dOLFxuICAgIFBBR0VfVVAsXG4gICAgUklHSFRfQVJST1csXG4gICAgU0hJRlQsXG4gICAgU1BBQ0UsXG4gICAgVEFCLFxuICAgIFVQX0FSUk9XLFxuICAgIFYsXG4gICAgWFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKiBNYXAgb2Yga2V5Q29kZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgXCJrZXlcIiB2YWx1ZXMgKi9cbmNvbnN0IGtleU1hcDogTWFwPG51bWJlciwgc3RyaW5nW10+ID0gbmV3IE1hcChbXG4gICAgW1JJR0hUX0FSUk9XLCBbJ0Fycm93UmlnaHQnLCAnUmlnaHQnXV0sXG4gICAgW0RPV05fQVJST1csIFsnQXJyb3dEb3duJywgJ0Rvd24nXV0sXG4gICAgW0xFRlRfQVJST1csIFsnQXJyb3dMZWZ0JywgJ0xlZnQnXV0sXG4gICAgW1VQX0FSUk9XLCBbJ0Fycm93VXAnLCAnVXAnXV0sXG4gICAgW1NQQUNFLCBbJ1NwYWNlJywgJ1NwYWNlYmFyJywgJyAnXV0sXG4gICAgW0VTQ0FQRSwgWydFc2NhcGUnLCAnRXNjJ11dLFxuICAgIFtERUxFVEUsIFsnRGVsZXRlJywgJ0RlbCddXSxcbiAgICBbRU5URVIsIFsnRW50ZXInXV0sXG4gICAgW01BQ19FTlRFUiwgWydFbnRlciddXSxcbiAgICBbVEFCLCBbJ1RhYiddXSxcbiAgICBbSE9NRSwgWydIb21lJ11dLFxuICAgIFtFTkQsIFsnRW5kJ11dLFxuICAgIFtBTFQsIFsnQWx0J11dLFxuICAgIFtDT05UUk9MLCBbJ0N0cmwnLCAnQ29udHJvbCcsICdNZXRhJ11dLFxuICAgIFtNRVRBLCBbJ01ldGEnXV0sXG4gICAgW1NISUZULCBbJ1NoaWZ0J11dLFxuICAgIFtCQUNLU1BBQ0UsIFsnQmFja3NwYWNlJ11dLFxuICAgIFtBLCBbJ0tleUEnXV0sXG4gICAgW0MsIFsnS2V5QyddXSxcbiAgICBbViwgWydLZXlWJ11dLFxuICAgIFtYLCBbJ0tleVgnXV0sXG4gICAgW1BBR0VfVVAsIFsnUGFnZVVwJ11dLFxuICAgIFtQQUdFX0RPV04sIFsnUGFnZURvd24nXV0sXG4gICAgW0RBU0gsIFsnLSddXSxcbiAgICBbTlVNUEFEX01JTlVTLCBbJy0nXV0sXG4gICAgW05VTVBBRF9aRVJPLCBbJ051bVBhZDAnXV0sXG4gICAgW05VTVBBRF9PTkUsIFsnTnVtUGFkMSddXSxcbiAgICBbTlVNUEFEX1RXTywgWydOdW1QYWQyJ11dLFxuICAgIFtOVU1QQURfVEhSRUUsIFsnTnVtUGFkMyddXSxcbiAgICBbTlVNUEFEX0ZPVVIsIFsnTnVtUGFkNCddXSxcbiAgICBbTlVNUEFEX0ZJVkUsIFsnTnVtUGFkNSddXSxcbiAgICBbTlVNUEFEX1NJWCwgWydOdW1QYWQ2J11dLFxuICAgIFtOVU1QQURfU0VWRU4sIFsnTnVtUGFkNyddXSxcbiAgICBbTlVNUEFEX0VJR0hULCBbJ051bVBhZDgnXV0sXG4gICAgW05VTVBBRF9OSU5FLCBbJ051bVBhZDknXV0sXG4gICAgW0YyLCBbJ0YyJ11dXG5dKTtcblxuZXhwb3J0IGNsYXNzIEtleVV0aWwge1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHVzZWQgdG8gdW5pZnkga2V5IGlkZW50aWZpY2F0aW9uIGFjcm9zcyBkaWZmZXJlbnQgYnJvd3NlcnMgdXNpbmcgS2V5Q29kZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCAgICAgLSBLZXlib2FyZEV2ZW50XG4gICAgICogQHBhcmFtIGtleUNvZGUgICAtIGV2ZW50LmtleSBuYW1lIG1hdGNoaW5nIFczQyBzcGVjaWZpY2F0aW9uIC8gKEFTU0NJIGNoYXIuIGNvZGVzKVxuICAgICAqICovXG4gICAgc3RhdGljIGlzS2V5Q29kZShldmVudDogS2V5Ym9hcmRFdmVudCwga2V5Q29kZTogbnVtYmVyIHwgbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Q29kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlDb2RlLnNvbWUoKGtleSkgPT4gdGhpcy5pc0tleUNvZGUoZXZlbnQsIGtleSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ICYmIGtleU1hcC5nZXQoa2V5Q29kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlNYXAuZ2V0KGtleUNvZGUpPy5zb21lKChhbGlhcykgPT4gYWxpYXMgPT09IGV2ZW50LmtleSkgfHwga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBJbnZhbGlkIGZ1bmN0aW9uIGFyZ3VtZW50cy4gQ2hlY2sgaWYgXCJldmVudFwiIGlzIGEgS2V5Ym9hcmRFdmVudCBvciBcImtleVwiIGlzIGRlZmluZWQgaW4ga2V5TWFwYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB1c2VkIHRvIHVuaWZ5IGtleSBpZGVudGlmaWNhdGlvbiBhY3Jvc3MgZGlmZmVyZW50IGJyb3dzZXJzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgICAgIC0gS2V5Ym9hcmRFdmVudFxuICAgICAqIEBwYXJhbSBrZXlUeXBlICAgLSBUeXBlIG9mIGtleVxuICAgICAqICovXG4gICAgc3RhdGljIGlzS2V5VHlwZShldmVudDogS2V5Ym9hcmRFdmVudCwga2V5VHlwZTogJ2FscGhhYmV0aWNhbCcgfCAnbnVtZXJpYycgfCAnY29udHJvbCcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGV2ZW50ICYmIGtleVR5cGUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoa2V5VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ251bWVyaWMnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQuY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBldmVudC5jb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RpZ2l0JylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGV2ZW50LmtleUNvZGUgPj0gNDggJiYgZXZlbnQua2V5Q29kZSA8PSA1NykgfHwgKGV2ZW50LmtleUNvZGUgPj0gOTYgJiYgZXZlbnQua2V5Q29kZSA8PSAxMDUpO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FscGhhYmV0aWNhbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGV2ZW50LmNvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygna2V5JylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXZlbnQua2V5Q29kZSA+PSA2NSAmJiBldmVudC5rZXlDb2RlIDw9IDkwO1xuICAgICAgICAgICAgICAgIC8vIHNvbWUgc2VydmljZSBjb21tYW5kcyBhcyBhbHQsIGN0ciwgaW5zZXJ0LCBwcmludCwgZjQgZXRjLiBBbGwgZXhjZXB0IGxldHRlcnMsIG51bWJlcnMgYW5kIHN5bWJvbHNcbiAgICAgICAgICAgICAgICBjYXNlICdjb250cm9sJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmtleUNvZGUgPCA0OCB8fCAoZXZlbnQua2V5Q29kZSA+PSAxMTIgJiYgZXZlbnQua2V5Q29kZSA8PSAxMjMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZnVuY3Rpb24gYXJndW1lbnRzLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9mdW5jdGlvbnMva2V5LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILENBQUMsRUFDRCxHQUFHLEVBQ0gsU0FBUyxFQUNULENBQUMsRUFDRCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE1BQU0sRUFDTixVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxNQUFNLEVBQ04sRUFBRSxFQUNGLEVBQUUsRUFDRixJQUFJLEVBQ0osVUFBVSxFQUNWLFNBQVMsRUFDVCxJQUFJLEVBQ0osWUFBWSxFQUNaLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFdBQVcsRUFDWCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEdBQUcsRUFDSCxRQUFRLEVBQ1IsQ0FBQyxFQUNELENBQUMsRUFDSixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsMkRBQTJEO0FBQzNELE1BQU0sTUFBTSxHQUEwQixJQUFJLEdBQUcsQ0FBQztJQUMxQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7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LENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQSxcbiAgICBBTFQsXG4gICAgQkFDS1NQQUNFLFxuICAgIEMsXG4gICAgQ09OVFJPTCxcbiAgICBEQVNILFxuICAgIERFTEVURSxcbiAgICBET1dOX0FSUk9XLFxuICAgIEVORCxcbiAgICBFTlRFUixcbiAgICBFU0NBUEUsXG4gICAgRjIsXG4gICAgRjcsXG4gICAgSE9NRSxcbiAgICBMRUZUX0FSUk9XLFxuICAgIE1BQ19FTlRFUixcbiAgICBNRVRBLFxuICAgIE5VTVBBRF9FSUdIVCxcbiAgICBOVU1QQURfRklWRSxcbiAgICBOVU1QQURfRk9VUixcbiAgICBOVU1QQURfTUlOVVMsXG4gICAgTlVNUEFEX05JTkUsXG4gICAgTlVNUEFEX09ORSxcbiAgICBOVU1QQURfU0VWRU4sXG4gICAgTlVNUEFEX1NJWCxcbiAgICBOVU1QQURfVEhSRUUsXG4gICAgTlVNUEFEX1RXTyxcbiAgICBOVU1QQURfWkVSTyxcbiAgICBQQUdFX0RPV04sXG4gICAgUEFHRV9VUCxcbiAgICBSSUdIVF9BUlJPVyxcbiAgICBTSElGVCxcbiAgICBTUEFDRSxcbiAgICBUQUIsXG4gICAgVVBfQVJST1csXG4gICAgVixcbiAgICBYXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIE1hcCBvZiBrZXlDb2RlcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBcImtleVwiIHZhbHVlcyAqL1xuY29uc3Qga2V5TWFwOiBNYXA8bnVtYmVyLCBzdHJpbmdbXT4gPSBuZXcgTWFwKFtcbiAgICBbUklHSFRfQVJST1csIFsnQXJyb3dSaWdodCcsICdSaWdodCddXSxcbiAgICBbRE9XTl9BUlJPVywgWydBcnJvd0Rvd24nLCAnRG93biddXSxcbiAgICBbTEVGVF9BUlJPVywgWydBcnJvd0xlZnQnLCAnTGVmdCddXSxcbiAgICBbVVBfQVJST1csIFsnQXJyb3dVcCcsICdVcCddXSxcbiAgICBbU1BBQ0UsIFsnU3BhY2UnLCAnU3BhY2ViYXInLCAnICddXSxcbiAgICBbRVNDQVBFLCBbJ0VzY2FwZScsICdFc2MnXV0sXG4gICAgW0RFTEVURSwgWydEZWxldGUnLCAnRGVsJ11dLFxuICAgIFtFTlRFUiwgWydFbnRlciddXSxcbiAgICBbTUFDX0VOVEVSLCBbJ0VudGVyJ11dLFxuICAgIFtUQUIsIFsnVGFiJ11dLFxuICAgIFtIT01FLCBbJ0hvbWUnXV0sXG4gICAgW0VORCwgWydFbmQnXV0sXG4gICAgW0FMVCwgWydBbHQnXV0sXG4gICAgW0NPTlRST0wsIFsnQ3RybCcsICdDb250cm9sJywgJ01ldGEnXV0sXG4gICAgW01FVEEsIFsnTWV0YSddXSxcbiAgICBbU0hJRlQsIFsnU2hpZnQnXV0sXG4gICAgW0JBQ0tTUEFDRSwgWydCYWNrc3BhY2UnXV0sXG4gICAgW0EsIFsnS2V5QSddXSxcbiAgICBbQywgWydLZXlDJ11dLFxuICAgIFtWLCBbJ0tleVYnXV0sXG4gICAgW1gsIFsnS2V5WCddXSxcbiAgICBbUEFHRV9VUCwgWydQYWdlVXAnXV0sXG4gICAgW1BBR0VfRE9XTiwgWydQYWdlRG93biddXSxcbiAgICBbREFTSCwgWyctJ11dLFxuICAgIFtOVU1QQURfTUlOVVMsIFsnLSddXSxcbiAgICBbTlVNUEFEX1pFUk8sIFsnTnVtUGFkMCddXSxcbiAgICBbTlVNUEFEX09ORSwgWydOdW1QYWQxJ11dLFxuICAgIFtOVU1QQURfVFdPLCBbJ051bVBhZDInXV0sXG4gICAgW05VTVBBRF9USFJFRSwgWydOdW1QYWQzJ11dLFxuICAgIFtOVU1QQURfRk9VUiwgWydOdW1QYWQ0J11dLFxuICAgIFtOVU1QQURfRklWRSwgWydOdW1QYWQ1J11dLFxuICAgIFtOVU1QQURfU0lYLCBbJ051bVBhZDYnXV0sXG4gICAgW05VTVBBRF9TRVZFTiwgWydOdW1QYWQ3J11dLFxuICAgIFtOVU1QQURfRUlHSFQsIFsnTnVtUGFkOCddXSxcbiAgICBbTlVNUEFEX05JTkUsIFsnTnVtUGFkOSddXSxcbiAgICBbRjIsIFsnRjInXV0sXG4gICAgW0Y3LCBbJ0Y3J11dXG5dKTtcblxuZXhwb3J0IGNsYXNzIEtleVV0aWwge1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHVzZWQgdG8gdW5pZnkga2V5IGlkZW50aWZpY2F0aW9uIGFjcm9zcyBkaWZmZXJlbnQgYnJvd3NlcnMgdXNpbmcgS2V5Q29kZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCAgICAgLSBLZXlib2FyZEV2ZW50XG4gICAgICogQHBhcmFtIGtleUNvZGUgICAtIGV2ZW50LmtleSBuYW1lIG1hdGNoaW5nIFczQyBzcGVjaWZpY2F0aW9uIC8gKEFTU0NJIGNoYXIuIGNvZGVzKVxuICAgICAqICovXG4gICAgc3RhdGljIGlzS2V5Q29kZShldmVudDogS2V5Ym9hcmRFdmVudCwga2V5Q29kZTogbnVtYmVyIHwgbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Q29kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlDb2RlLnNvbWUoKGtleSkgPT4gdGhpcy5pc0tleUNvZGUoZXZlbnQsIGtleSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ICYmIGtleU1hcC5nZXQoa2V5Q29kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlNYXAuZ2V0KGtleUNvZGUpPy5zb21lKChhbGlhcykgPT4gYWxpYXMgPT09IGV2ZW50LmtleSkgfHwga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBJbnZhbGlkIGZ1bmN0aW9uIGFyZ3VtZW50cy4gQ2hlY2sgaWYgXCJldmVudFwiIGlzIGEgS2V5Ym9hcmRFdmVudCBvciBcImtleVwiIGlzIGRlZmluZWQgaW4ga2V5TWFwYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB1c2VkIHRvIHVuaWZ5IGtleSBpZGVudGlmaWNhdGlvbiBhY3Jvc3MgZGlmZmVyZW50IGJyb3dzZXJzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgICAgIC0gS2V5Ym9hcmRFdmVudFxuICAgICAqIEBwYXJhbSBrZXlUeXBlICAgLSBUeXBlIG9mIGtleVxuICAgICAqICovXG4gICAgc3RhdGljIGlzS2V5VHlwZShldmVudDogS2V5Ym9hcmRFdmVudCwga2V5VHlwZTogJ2FscGhhYmV0aWNhbCcgfCAnbnVtZXJpYycgfCAnY29udHJvbCcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGV2ZW50ICYmIGtleVR5cGUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoa2V5VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ251bWVyaWMnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQuY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBldmVudC5jb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RpZ2l0JylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGV2ZW50LmtleUNvZGUgPj0gNDggJiYgZXZlbnQua2V5Q29kZSA8PSA1NykgfHwgKGV2ZW50LmtleUNvZGUgPj0gOTYgJiYgZXZlbnQua2V5Q29kZSA8PSAxMDUpO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FscGhhYmV0aWNhbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGV2ZW50LmNvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygna2V5JylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXZlbnQua2V5Q29kZSA+PSA2NSAmJiBldmVudC5rZXlDb2RlIDw9IDkwO1xuICAgICAgICAgICAgICAgIC8vIHNvbWUgc2VydmljZSBjb21tYW5kcyBhcyBhbHQsIGN0ciwgaW5zZXJ0LCBwcmludCwgZjQgZXRjLiBBbGwgZXhjZXB0IGxldHRlcnMsIG51bWJlcnMgYW5kIHN5bWJvbHNcbiAgICAgICAgICAgICAgICBjYXNlICdjb250cm9sJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LmtleUNvZGUgPCA0OCB8fCAoZXZlbnQua2V5Q29kZSA+PSAxMTIgJiYgZXZlbnQua2V5Q29kZSA8PSAxMjMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZnVuY3Rpb24gYXJndW1lbnRzLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
|