@taiga-ui/addon-commerce 4.7.0 → 4.8.1-canary.d818d28
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/components/input-card/index.d.ts +1 -1
- package/components/input-card/{input-card.directive.d.ts → input-card.component.d.ts} +4 -4
- package/esm2022/components/input-card/index.mjs +2 -2
- package/esm2022/components/input-card/input-card.component.mjs +78 -0
- package/esm2022/components/input-card-group/input-card-group.component.mjs +5 -4
- package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs +4 -3
- package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs +34 -28
- package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs.map +1 -1
- package/package.json +141 -141
- package/esm2022/components/input-card/input-card.directive.mjs +0 -73
package/package.json
CHANGED
|
@@ -1,144 +1,144 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
2
|
+
"name": "@taiga-ui/addon-commerce",
|
|
3
|
+
"version": "4.8.1-canary.d818d28",
|
|
4
|
+
"description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"angular",
|
|
7
|
+
"component",
|
|
8
|
+
"kit",
|
|
9
|
+
"commerce",
|
|
10
|
+
"card",
|
|
11
|
+
"payment"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/taiga-family/taiga-ui",
|
|
14
|
+
"repository": "https://github.com/taiga-family/taiga-ui",
|
|
15
|
+
"license": "Apache-2.0",
|
|
16
|
+
"peerDependencies": {
|
|
17
|
+
"@angular/common": ">=16.0.0",
|
|
18
|
+
"@angular/core": ">=16.0.0",
|
|
19
|
+
"@angular/forms": ">=16.0.0",
|
|
20
|
+
"@maskito/angular": "^3.0.2",
|
|
21
|
+
"@maskito/core": "^3.0.2",
|
|
22
|
+
"@maskito/kit": "^3.0.2",
|
|
23
|
+
"@ng-web-apis/common": "^4.6.3",
|
|
24
|
+
"@taiga-ui/cdk": "^4.8.1-canary.d818d28",
|
|
25
|
+
"@taiga-ui/core": "^4.8.1-canary.d818d28",
|
|
26
|
+
"@taiga-ui/i18n": "^4.8.1-canary.d818d28",
|
|
27
|
+
"@taiga-ui/kit": "^4.8.1-canary.d818d28",
|
|
28
|
+
"@taiga-ui/polymorpheus": "^4.7.3",
|
|
29
|
+
"rxjs": ">=7.0.0"
|
|
30
|
+
},
|
|
31
|
+
"module": "fesm2022/taiga-ui-addon-commerce.mjs",
|
|
32
|
+
"typings": "index.d.ts",
|
|
33
|
+
"exports": {
|
|
34
|
+
"./package.json": {
|
|
35
|
+
"default": "./package.json"
|
|
36
|
+
},
|
|
37
|
+
".": {
|
|
38
|
+
"types": "./index.d.ts",
|
|
39
|
+
"esm2022": "./esm2022/taiga-ui-addon-commerce.mjs",
|
|
40
|
+
"esm": "./esm2022/taiga-ui-addon-commerce.mjs",
|
|
41
|
+
"default": "./fesm2022/taiga-ui-addon-commerce.mjs"
|
|
42
|
+
},
|
|
43
|
+
"./components": {
|
|
44
|
+
"types": "./components/index.d.ts",
|
|
45
|
+
"esm2022": "./esm2022/components/taiga-ui-addon-commerce-components.mjs",
|
|
46
|
+
"esm": "./esm2022/components/taiga-ui-addon-commerce-components.mjs",
|
|
47
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components.mjs"
|
|
48
|
+
},
|
|
49
|
+
"./constants": {
|
|
50
|
+
"types": "./constants/index.d.ts",
|
|
51
|
+
"esm2022": "./esm2022/constants/taiga-ui-addon-commerce-constants.mjs",
|
|
52
|
+
"esm": "./esm2022/constants/taiga-ui-addon-commerce-constants.mjs",
|
|
53
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-constants.mjs"
|
|
54
|
+
},
|
|
55
|
+
"./pipes": {
|
|
56
|
+
"types": "./pipes/index.d.ts",
|
|
57
|
+
"esm2022": "./esm2022/pipes/taiga-ui-addon-commerce-pipes.mjs",
|
|
58
|
+
"esm": "./esm2022/pipes/taiga-ui-addon-commerce-pipes.mjs",
|
|
59
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-pipes.mjs"
|
|
60
|
+
},
|
|
61
|
+
"./tokens": {
|
|
62
|
+
"types": "./tokens/index.d.ts",
|
|
63
|
+
"esm2022": "./esm2022/tokens/taiga-ui-addon-commerce-tokens.mjs",
|
|
64
|
+
"esm": "./esm2022/tokens/taiga-ui-addon-commerce-tokens.mjs",
|
|
65
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-tokens.mjs"
|
|
66
|
+
},
|
|
67
|
+
"./types": {
|
|
68
|
+
"types": "./types/index.d.ts",
|
|
69
|
+
"esm2022": "./esm2022/types/taiga-ui-addon-commerce-types.mjs",
|
|
70
|
+
"esm": "./esm2022/types/taiga-ui-addon-commerce-types.mjs",
|
|
71
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-types.mjs"
|
|
72
|
+
},
|
|
73
|
+
"./utils": {
|
|
74
|
+
"types": "./utils/index.d.ts",
|
|
75
|
+
"esm2022": "./esm2022/utils/taiga-ui-addon-commerce-utils.mjs",
|
|
76
|
+
"esm": "./esm2022/utils/taiga-ui-addon-commerce-utils.mjs",
|
|
77
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-utils.mjs"
|
|
78
|
+
},
|
|
79
|
+
"./validators": {
|
|
80
|
+
"types": "./validators/index.d.ts",
|
|
81
|
+
"esm2022": "./esm2022/validators/taiga-ui-addon-commerce-validators.mjs",
|
|
82
|
+
"esm": "./esm2022/validators/taiga-ui-addon-commerce-validators.mjs",
|
|
83
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-validators.mjs"
|
|
84
|
+
},
|
|
85
|
+
"./components/input-card": {
|
|
86
|
+
"types": "./components/input-card/index.d.ts",
|
|
87
|
+
"esm2022": "./esm2022/components/input-card/taiga-ui-addon-commerce-components-input-card.mjs",
|
|
88
|
+
"esm": "./esm2022/components/input-card/taiga-ui-addon-commerce-components-input-card.mjs",
|
|
89
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components-input-card.mjs"
|
|
90
|
+
},
|
|
91
|
+
"./components/input-card-group": {
|
|
92
|
+
"types": "./components/input-card-group/index.d.ts",
|
|
93
|
+
"esm2022": "./esm2022/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.mjs",
|
|
94
|
+
"esm": "./esm2022/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.mjs",
|
|
95
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs"
|
|
96
|
+
},
|
|
97
|
+
"./components/input-cvc": {
|
|
98
|
+
"types": "./components/input-cvc/index.d.ts",
|
|
99
|
+
"esm2022": "./esm2022/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.mjs",
|
|
100
|
+
"esm": "./esm2022/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.mjs",
|
|
101
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components-input-cvc.mjs"
|
|
102
|
+
},
|
|
103
|
+
"./components/input-expire": {
|
|
104
|
+
"types": "./components/input-expire/index.d.ts",
|
|
105
|
+
"esm2022": "./esm2022/components/input-expire/taiga-ui-addon-commerce-components-input-expire.mjs",
|
|
106
|
+
"esm": "./esm2022/components/input-expire/taiga-ui-addon-commerce-components-input-expire.mjs",
|
|
107
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components-input-expire.mjs"
|
|
108
|
+
},
|
|
109
|
+
"./components/thumbnail-card": {
|
|
110
|
+
"types": "./components/thumbnail-card/index.d.ts",
|
|
111
|
+
"esm2022": "./esm2022/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.mjs",
|
|
112
|
+
"esm": "./esm2022/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.mjs",
|
|
113
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs"
|
|
114
|
+
},
|
|
115
|
+
"./pipes/amount": {
|
|
116
|
+
"types": "./pipes/amount/index.d.ts",
|
|
117
|
+
"esm2022": "./esm2022/pipes/amount/taiga-ui-addon-commerce-pipes-amount.mjs",
|
|
118
|
+
"esm": "./esm2022/pipes/amount/taiga-ui-addon-commerce-pipes-amount.mjs",
|
|
119
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs"
|
|
120
|
+
},
|
|
121
|
+
"./pipes/currency": {
|
|
122
|
+
"types": "./pipes/currency/index.d.ts",
|
|
123
|
+
"esm2022": "./esm2022/pipes/currency/taiga-ui-addon-commerce-pipes-currency.mjs",
|
|
124
|
+
"esm": "./esm2022/pipes/currency/taiga-ui-addon-commerce-pipes-currency.mjs",
|
|
125
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-pipes-currency.mjs"
|
|
126
|
+
},
|
|
127
|
+
"./pipes/decimal": {
|
|
128
|
+
"types": "./pipes/decimal/index.d.ts",
|
|
129
|
+
"esm2022": "./esm2022/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.mjs",
|
|
130
|
+
"esm": "./esm2022/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.mjs",
|
|
131
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs"
|
|
132
|
+
},
|
|
133
|
+
"./pipes/format-card": {
|
|
134
|
+
"types": "./pipes/format-card/index.d.ts",
|
|
135
|
+
"esm2022": "./esm2022/pipes/format-card/taiga-ui-addon-commerce-pipes-format-card.mjs",
|
|
136
|
+
"esm": "./esm2022/pipes/format-card/taiga-ui-addon-commerce-pipes-format-card.mjs",
|
|
137
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-pipes-format-card.mjs"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"sideEffects": false,
|
|
141
|
+
"dependencies": {
|
|
142
|
+
"tslib": "^2.7.0"
|
|
138
143
|
}
|
|
139
|
-
},
|
|
140
|
-
"sideEffects": false,
|
|
141
|
-
"dependencies": {
|
|
142
|
-
"tslib": "^2.7.0"
|
|
143
|
-
}
|
|
144
144
|
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, inject, Input, Output } from '@angular/core';
|
|
3
|
-
import { DefaultValueAccessor, NgControl } from '@angular/forms';
|
|
4
|
-
import { MaskitoDirective } from '@maskito/angular';
|
|
5
|
-
import { TUI_MASK_CARD } from '@taiga-ui/addon-commerce/constants';
|
|
6
|
-
import { TUI_PAYMENT_SYSTEM_ICONS } from '@taiga-ui/addon-commerce/tokens';
|
|
7
|
-
import { tuiControlValue } from '@taiga-ui/cdk/observables';
|
|
8
|
-
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
9
|
-
import { tuiInjectIconResolver } from '@taiga-ui/core/tokens';
|
|
10
|
-
import { tuiMaskito } from '@taiga-ui/kit/utils';
|
|
11
|
-
import { distinctUntilChanged, map, skip, startWith, switchMap, timer } from 'rxjs';
|
|
12
|
-
import { TUI_INPUT_CARD_OPTIONS } from './input-card.options';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@maskito/angular";
|
|
15
|
-
class TuiInputCard {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.icons = inject(TUI_PAYMENT_SYSTEM_ICONS);
|
|
18
|
-
this.options = inject(TUI_INPUT_CARD_OPTIONS);
|
|
19
|
-
this.resolver = tuiInjectIconResolver();
|
|
20
|
-
this.control = inject(NgControl);
|
|
21
|
-
this.accessor = inject(DefaultValueAccessor, {
|
|
22
|
-
self: true,
|
|
23
|
-
optional: true,
|
|
24
|
-
});
|
|
25
|
-
this.mask = tuiMaskito(TUI_MASK_CARD);
|
|
26
|
-
this.autocomplete = this.options.autocomplete;
|
|
27
|
-
this.icon = this.options.icon;
|
|
28
|
-
this.binChange = timer(0).pipe(switchMap(() => tuiControlValue(this.control)), map((value) => (value.length < 6 ? null : value.replace(' ', '').slice(0, 6))), startWith(null), distinctUntilChanged(), skip(1));
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
if (!this.accessor) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const onChanges = this.accessor.onChange.bind(this.accessor);
|
|
35
|
-
this.accessor.onChange = (value) => onChanges(value.replaceAll(' ', ''));
|
|
36
|
-
}
|
|
37
|
-
get backgroundImage() {
|
|
38
|
-
const system = this.getPaymentSystem(this.control.value);
|
|
39
|
-
const icon = system && this.icons[system] && this.resolver(this.icons[system]);
|
|
40
|
-
const url = this.icon || icon;
|
|
41
|
-
return url && this.icon !== '' ? `url(${url})` : null;
|
|
42
|
-
}
|
|
43
|
-
getPaymentSystem(value) {
|
|
44
|
-
return this.options.paymentSystemHandler(value);
|
|
45
|
-
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCard, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputCard, isStandalone: true, selector: "input[tuiInputCard]", inputs: { autocomplete: "autocomplete", icon: "icon" }, outputs: { binChange: "binChange" }, host: { attributes: { "inputmode": "numeric", "placeholder": "0000 0000 0000 0000" }, properties: { "autocomplete": "autocomplete ? \"cc-number\" : \"off\"", "style.background-image": "backgroundImage" } }, hostDirectives: [{ directive: i1.MaskitoDirective }], ngImport: i0 }); }
|
|
48
|
-
}
|
|
49
|
-
__decorate([
|
|
50
|
-
tuiPure
|
|
51
|
-
], TuiInputCard.prototype, "getPaymentSystem", null);
|
|
52
|
-
export { TuiInputCard };
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCard, decorators: [{
|
|
54
|
-
type: Directive,
|
|
55
|
-
args: [{
|
|
56
|
-
standalone: true,
|
|
57
|
-
selector: 'input[tuiInputCard]',
|
|
58
|
-
hostDirectives: [MaskitoDirective],
|
|
59
|
-
host: {
|
|
60
|
-
inputmode: 'numeric',
|
|
61
|
-
placeholder: '0000 0000 0000 0000',
|
|
62
|
-
'[autocomplete]': 'autocomplete ? "cc-number" : "off"',
|
|
63
|
-
'[style.background-image]': 'backgroundImage',
|
|
64
|
-
},
|
|
65
|
-
}]
|
|
66
|
-
}], propDecorators: { autocomplete: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], icon: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], binChange: [{
|
|
71
|
-
type: Output
|
|
72
|
-
}], getPaymentSystem: [] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQvaW5wdXQtY2FyZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVsRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRTVELE1BV2EsWUFBWTtJQVh6QjtRQVlxQixVQUFLLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDekMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FB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WyJpbXBvcnQgdHlwZSB7T25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEZWZhdWx0VmFsdWVBY2Nlc3NvciwgTmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHtUVUlfTUFTS19DQVJEfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX1BBWU1FTlRfU1lTVEVNX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHt0dWlDb250cm9sVmFsdWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlJbmplY3RJY29uUmVzb2x2ZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBza2lwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9DQVJEX09QVElPTlN9IGZyb20gJy4vaW5wdXQtY2FyZC5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0Q2FyZF0nLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbTWFza2l0b0RpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBpbnB1dG1vZGU6ICdudW1lcmljJyxcbiAgICAgICAgcGxhY2Vob2xkZXI6ICcwMDAwIDAwMDAgMDAwMCAwMDAwJyxcbiAgICAgICAgJ1thdXRvY29tcGxldGVdJzogJ2F1dG9jb21wbGV0ZSA/IFwiY2MtbnVtYmVyXCIgOiBcIm9mZlwiJyxcbiAgICAgICAgJ1tzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXSc6ICdiYWNrZ3JvdW5kSW1hZ2UnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2FyZCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfUEFZTUVOVF9TWVNURU1fSUNPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfQ0FSRF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVyID0gdHVpSW5qZWN0SWNvblJlc29sdmVyKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvciA9IGluamVjdChEZWZhdWx0VmFsdWVBY2Nlc3Nvciwge1xuICAgICAgICBzZWxmOiB0cnVlLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhUVUlfTUFTS19DQVJEKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF1dG9jb21wbGV0ZSA9IHRoaXMub3B0aW9ucy5hdXRvY29tcGxldGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uID0gdGhpcy5vcHRpb25zLmljb247XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgYmluQ2hhbmdlID0gdGltZXIoMCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHR1aUNvbnRyb2xWYWx1ZTxzdHJpbmc+KHRoaXMuY29udHJvbCkpLFxuICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUubGVuZ3RoIDwgNiA/IG51bGwgOiB2YWx1ZS5yZXBsYWNlKCcgJywgJycpLnNsaWNlKDAsIDYpKSksXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICApO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYWNjZXNzb3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9uQ2hhbmdlcyA9IHRoaXMuYWNjZXNzb3Iub25DaGFuZ2UuYmluZCh0aGlzLmFjY2Vzc29yKTtcblxuICAgICAgICB0aGlzLmFjY2Vzc29yLm9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IG9uQ2hhbmdlcyh2YWx1ZS5yZXBsYWNlQWxsKCcgJywgJycpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGJhY2tncm91bmRJbWFnZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc3lzdGVtID0gdGhpcy5nZXRQYXltZW50U3lzdGVtKHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGljb24gPSBzeXN0ZW0gJiYgdGhpcy5pY29uc1tzeXN0ZW1dICYmIHRoaXMucmVzb2x2ZXIodGhpcy5pY29uc1tzeXN0ZW1dKTtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5pY29uIHx8IGljb247XG5cbiAgICAgICAgcmV0dXJuIHVybCAmJiB0aGlzLmljb24gIT09ICcnID8gYHVybCgke3VybH0pYCA6IG51bGw7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFBheW1lbnRTeXN0ZW0odmFsdWU6IHN0cmluZyk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wYXltZW50U3lzdGVtSGFuZGxlcih2YWx1ZSk7XG4gICAgfVxufVxuIl19
|