@taiga-ui/addon-commerce 2.28.0 → 2.32.0

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.
Files changed (50) hide show
  1. package/README.md +4 -5
  2. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +7 -4
  3. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  4. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-addon-commerce-components-money.umd.js +2 -2
  7. package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +1 -1
  9. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-commerce-enums.umd.js +284 -1
  11. package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +1 -1
  13. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-commerce-utils.umd.js +1 -1
  15. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +1 -1
  17. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
  18. package/components/input-card-grouped/input-card-grouped.component.d.ts +2 -1
  19. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
  20. package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
  21. package/enums/currency-code.d.ts +141 -0
  22. package/enums/currency.d.ts +142 -1
  23. package/enums/taiga-ui-addon-commerce-enums.metadata.json +1 -1
  24. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +9 -6
  25. package/esm2015/components/money/money.component.js +3 -3
  26. package/esm2015/enums/currency-code.js +142 -1
  27. package/esm2015/enums/currency.js +143 -2
  28. package/esm2015/utils/create-auto-corrected-expire-pipe.js +2 -2
  29. package/esm5/components/input-card-grouped/input-card-grouped.component.js +9 -6
  30. package/esm5/components/money/money.component.js +3 -3
  31. package/esm5/enums/currency-code.js +142 -1
  32. package/esm5/enums/currency.js +143 -2
  33. package/esm5/utils/create-auto-corrected-expire-pipe.js +2 -2
  34. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
  35. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  36. package/fesm2015/taiga-ui-addon-commerce-components-money.js +2 -2
  37. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  38. package/fesm2015/taiga-ui-addon-commerce-enums.js +283 -1
  39. package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
  40. package/fesm2015/taiga-ui-addon-commerce-utils.js +1 -1
  41. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  42. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
  43. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  44. package/fesm5/taiga-ui-addon-commerce-components-money.js +2 -2
  45. package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
  46. package/fesm5/taiga-ui-addon-commerce-enums.js +283 -1
  47. package/fesm5/taiga-ui-addon-commerce-enums.js.map +1 -1
  48. package/fesm5/taiga-ui-addon-commerce-utils.js +1 -1
  49. package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
  50. package/package.json +9 -9
@@ -1,23 +1,164 @@
1
+ /**
2
+ * **Active ISO 4217 alphabetic currency codes**
3
+ *
4
+ * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.
5
+ * @description Alphabetic code is also called "alfa-3".
6
+ *
7
+ * @link https://en.wikipedia.org/wiki/ISO_4217
8
+ */
1
9
  export var TuiCurrency;
2
10
  (function (TuiCurrency) {
11
+ /**
12
+ * Russian ruble
13
+ *
14
+ * @description Numeric code: 643
15
+ * @description Alphabetic code: RUB
16
+ * @description Countries and territories: Russia
17
+ */
3
18
  TuiCurrency["Ruble"] = "RUB";
19
+ /**
20
+ * Euro
21
+ *
22
+ * @description Numeric code: 978
23
+ * @description Alphabetic code: EUR
24
+ * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)
25
+ */
4
26
  TuiCurrency["Euro"] = "EUR";
27
+ /**
28
+ * United States dollar
29
+ *
30
+ * @description Numeric code: 840
31
+ * @description Alphabetic code: USD
32
+ * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)
33
+ */
5
34
  TuiCurrency["Dollar"] = "USD";
35
+ /**
36
+ * Pound sterling
37
+ *
38
+ * @description Numeric code: 826
39
+ * @description Alphabetic code: GBP
40
+ * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)
41
+ */
6
42
  TuiCurrency["Pound"] = "GBP";
43
+ /**
44
+ * Thai baht
45
+ *
46
+ * @description Numeric code: 764
47
+ * @description Alphabetic code: THB
48
+ * @description Countries and territories: Thailand
49
+ */
7
50
  TuiCurrency["Baht"] = "THB";
51
+ /**
52
+ * Turkish lira
53
+ *
54
+ * @description Numeric code: 949
55
+ * @description Alphabetic code: TRY
56
+ * @description Countries and territories: Turkey
57
+ */
8
58
  TuiCurrency["TurkishLira"] = "TRY";
59
+ /**
60
+ * Chinese yuan
61
+ *
62
+ * @description Numeric code: 156
63
+ * @description Alphabetic code: CNY
64
+ * @description Countries and territories: China
65
+ */
9
66
  TuiCurrency["YuanRenminbi"] = "CNY";
67
+ /**
68
+ * Kazakhstani tenge
69
+ *
70
+ * @description Numeric code: 398
71
+ * @description Alphabetic code: KZT
72
+ * @description Countries and territories: Kazakhstan
73
+ */
10
74
  TuiCurrency["Tenge"] = "KZT";
75
+ /**
76
+ * Israeli new shekel
77
+ *
78
+ * @description Numeric code: 376
79
+ * @description Alphabetic code: ILS
80
+ * @description Countries and territories: Israel
81
+ */
11
82
  TuiCurrency["IsraeliShekel"] = "ILS";
83
+ /**
84
+ * Indian rupee
85
+ *
86
+ * @description Numeric code: 356
87
+ * @description Alphabetic code: INR
88
+ * @description Countries and territories: India, Bhutan
89
+ */
12
90
  TuiCurrency["IndianRupee"] = "INR";
91
+ /**
92
+ * Japanese yen
93
+ *
94
+ * @description Numeric code: 392
95
+ * @description Alphabetic code: JPY
96
+ * @description Countries and territories: Japan
97
+ */
13
98
  TuiCurrency["Yen"] = "JPY";
99
+ /**
100
+ * South Korean won
101
+ *
102
+ * @description Numeric code: 410
103
+ * @description Alphabetic code: KRW
104
+ * @description Countries and territories: South Korea
105
+ */
106
+ TuiCurrency["Won"] = "KRW";
107
+ /**
108
+ * Swiss franc
109
+ *
110
+ * @description Numeric code: 756
111
+ * @description Alphabetic code: CHF
112
+ * @description Countries and territories: Switzerland, Liechtenstein (LI)
113
+ */
14
114
  TuiCurrency["SwissFranc"] = "CHF";
115
+ /**
116
+ * Singapore dollar
117
+ *
118
+ * @description Numeric code: 702
119
+ * @description Alphabetic code: SGD
120
+ * @description Countries and territories: Singapore
121
+ */
15
122
  TuiCurrency["SingaporeDollar"] = "SGD";
123
+ /**
124
+ * Australian dollar
125
+ *
126
+ * @description Numeric code: 036
127
+ * @description Alphabetic code: AUD
128
+ * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)
129
+ */
16
130
  TuiCurrency["AustralianDollar"] = "AUD";
131
+ /**
132
+ * Hong Kong dollar
133
+ *
134
+ * @description Numeric code: 344
135
+ * @description Alphabetic code: HKD
136
+ * @description Countries and territories: Hong Kong
137
+ */
17
138
  TuiCurrency["HongKong_dollar"] = "HKD";
139
+ /**
140
+ * Canadian dollar
141
+ *
142
+ * @description Numeric code: 124
143
+ * @description Alphabetic code: CAD
144
+ * @description Countries and territories: Canada
145
+ */
18
146
  TuiCurrency["CanadianDollar"] = "CAD";
147
+ /**
148
+ * Armenian dram
149
+ *
150
+ * @description Numeric code: 051
151
+ * @description Alphabetic code: AMD
152
+ * @description Countries and territories: Armenia
153
+ */
19
154
  TuiCurrency["ArmenianDram"] = "AMD";
20
- TuiCurrency["Won"] = "KRW";
155
+ /**
156
+ * Ukrainian hryvnia
157
+ *
158
+ * @description Numeric code: 980
159
+ * @description Alphabetic code: UAH
160
+ * @description Countries and territories: Ukraine
161
+ */
21
162
  TuiCurrency["Hryvnia"] = "UAH";
22
163
  })(TuiCurrency || (TuiCurrency = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMvIiwic291cmNlcyI6WyJjdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBa0IsV0FvQmpCO0FBcEJELFdBQWtCLFdBQVc7SUFDekIsNEJBQWEsQ0FBQTtJQUNiLDJCQUFZLENBQUE7SUFDWiw2QkFBYyxDQUFBO0lBQ2QsNEJBQWEsQ0FBQTtJQUNiLDJCQUFZLENBQUE7SUFDWixrQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBb0IsQ0FBQTtJQUNwQiw0QkFBYSxDQUFBO0lBQ2Isb0NBQXFCLENBQUE7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsMEJBQVcsQ0FBQTtJQUNYLGlDQUFrQixDQUFBO0lBQ2xCLHNDQUF1QixDQUFBO0lBQ3ZCLHVDQUF3QixDQUFBO0lBQ3hCLHNDQUF1QixDQUFBO0lBQ3ZCLHFDQUFzQixDQUFBO0lBQ3RCLG1DQUFvQixDQUFBO0lBQ3BCLDBCQUFXLENBQUE7SUFDWCw4QkFBZSxDQUFBO0FBQ25CLENBQUMsRUFwQmlCLFdBQVcsS0FBWCxXQUFXLFFBb0I1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnVtIFR1aUN1cnJlbmN5IHtcbiAgICBSdWJsZSA9ICdSVUInLFxuICAgIEV1cm8gPSAnRVVSJyxcbiAgICBEb2xsYXIgPSAnVVNEJyxcbiAgICBQb3VuZCA9ICdHQlAnLFxuICAgIEJhaHQgPSAnVEhCJyxcbiAgICBUdXJraXNoTGlyYSA9ICdUUlknLFxuICAgIFl1YW5SZW5taW5iaSA9ICdDTlknLFxuICAgIFRlbmdlID0gJ0taVCcsXG4gICAgSXNyYWVsaVNoZWtlbCA9ICdJTFMnLFxuICAgIEluZGlhblJ1cGVlID0gJ0lOUicsXG4gICAgWWVuID0gJ0pQWScsXG4gICAgU3dpc3NGcmFuYyA9ICdDSEYnLFxuICAgIFNpbmdhcG9yZURvbGxhciA9ICdTR0QnLFxuICAgIEF1c3RyYWxpYW5Eb2xsYXIgPSAnQVVEJyxcbiAgICBIb25nS29uZ19kb2xsYXIgPSAnSEtEJyxcbiAgICBDYW5hZGlhbkRvbGxhciA9ICdDQUQnLFxuICAgIEFybWVuaWFuRHJhbSA9ICdBTUQnLFxuICAgIFdvbiA9ICdLUlcnLFxuICAgIEhyeXZuaWEgPSAnVUFIJyxcbn1cbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMvIiwic291cmNlcyI6WyJjdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFOLElBQWtCLFdBMktqQjtBQTNLRCxXQUFrQixXQUFXO0lBQ3pCOzs7Ozs7T0FNRztJQUNILDRCQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCwyQkFBWSxDQUFBO0lBRVo7Ozs7OztPQU1HO0lBQ0gsNkJBQWMsQ0FBQTtJQUVkOzs7Ozs7T0FNRztJQUNILDRCQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCwyQkFBWSxDQUFBO0lBRVo7Ozs7OztPQU1HO0lBQ0gsa0NBQW1CLENBQUE7SUFFbkI7Ozs7OztPQU1HO0lBQ0gsbUNBQW9CLENBQUE7SUFFcEI7Ozs7OztPQU1HO0lBQ0gsNEJBQWEsQ0FBQTtJQUViOzs7Ozs7T0FNRztJQUNILG9DQUFxQixDQUFBO0lBRXJCOzs7Ozs7T0FNRztJQUNILGtDQUFtQixDQUFBO0lBRW5COzs7Ozs7T0FNRztJQUNILDBCQUFXLENBQUE7SUFFWDs7Ozs7O09BTUc7SUFDSCwwQkFBVyxDQUFBO0lBRVg7Ozs7OztPQU1HO0lBQ0gsaUNBQWtCLENBQUE7SUFFbEI7Ozs7OztPQU1HO0lBQ0gsc0NBQXVCLENBQUE7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsdUNBQXdCLENBQUE7SUFFeEI7Ozs7OztPQU1HO0lBQ0gsc0NBQXVCLENBQUE7SUFFdkI7Ozs7OztPQU1HO0lBQ0gscUNBQXNCLENBQUE7SUFFdEI7Ozs7OztPQU1HO0lBQ0gsbUNBQW9CLENBQUE7SUFFcEI7Ozs7OztPQU1HO0lBQ0gsOEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBM0tpQixXQUFXLEtBQVgsV0FBVyxRQTJLNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICoqQWN0aXZlIElTTyA0MjE3IGFscGhhYmV0aWMgY3VycmVuY3kgY29kZXMqKlxuICpcbiAqIEBkZXNjcmlwdGlvbiBUaGUgSVNPIDQyMTcgY2xhc3NpZmljYXRpb24gaXMgdXNlZCB0byBkZXNjcmliZSBhbHBoYWJldGljIGFuZCBudW1lcmljIGN1cnJlbmN5IGNvZGVzLlxuICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZSBpcyBhbHNvIGNhbGxlZCBcImFsZmEtM1wiLlxuICpcbiAqIEBsaW5rIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT180MjE3XG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFR1aUN1cnJlbmN5IHtcbiAgICAvKipcbiAgICAgKiBSdXNzaWFuIHJ1YmxlXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA2NDNcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBSVUJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogUnVzc2lhXG4gICAgICovXG4gICAgUnVibGUgPSAnUlVCJyxcblxuICAgIC8qKlxuICAgICAqIEV1cm9cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDk3OFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEVVUlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiDDhWxhbmQgSXNsYW5kcyAoQVgpLCBFdXJvcGVhbiBVbmlvbiAoRVUpLCBBbmRvcnJhIChBRCksIEF1c3RyaWEgKEFUKSwgQmVsZ2l1bSAoQkUpLCBDeXBydXMgKENZKSwgRXN0b25pYSAoRUUpLCBGaW5sYW5kIChGSSksIEZyYW5jZSAoRlIpLCBGcmVuY2ggU291dGhlcm4gYW5kIEFudGFyY3RpYyBMYW5kcyAoVEYpLCBHZXJtYW55IChERSksIEdyZWVjZSAoR1IpLCBHdWFkZWxvdXBlIChHUCksIElyZWxhbmQgKElFKSwgSXRhbHkgKElUKSwgTGF0dmlhIChMViksIExpdGh1YW5pYSAoTFQpLCBMdXhlbWJvdXJnIChMVSksIE1hbHRhIChNVCksIEZyZW5jaCBHdWlhbmEgKEdGKSwgTWFydGluaXF1ZSAoTVEpLCBNYXlvdHRlIChZVCksIE1vbmFjbyAoTUMpLCBNb250ZW5lZ3JvIChNRSksIE5ldGhlcmxhbmRzIChOTCksIFBvcnR1Z2FsIChQVCksIFLDqXVuaW9uIChSRSksIFNhaW50IEJhcnRow6lsZW15IChCTCksIFNhaW50IE1hcnRpbiAoTUYpLCBTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uIChQTSksIFNhbiBNYXJpbm8gKFNNKSwgU2xvdmFraWEgKFNLKSwgU2xvdmVuaWEgKFNJKSwgU3BhaW4gKEVTKSwgVmF0aWNhbiBDaXR5IChWQSlcbiAgICAgKi9cbiAgICBFdXJvID0gJ0VVUicsXG5cbiAgICAvKipcbiAgICAgKiBVbml0ZWQgU3RhdGVzIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogODQwXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogVVNEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFVuaXRlZCBTdGF0ZXMsIEFtZXJpY2FuIFNhbW9hIChBUyksIEJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSAoSU8pIChhbHNvIHVzZXMgR0JQKSwgQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyAoVkcpLCBDYXJpYmJlYW4gTmV0aGVybGFuZHMgKEJRIOKAkyBCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYSksIEVjdWFkb3IgKEVDKSwgRWwgU2FsdmFkb3IgKFNWKSwgR3VhbSAoR1UpLCBNYXJzaGFsbCBJc2xhbmRzIChNSCksIEZlZGVyYXRlZCBTdGF0ZXMgb2YgTWljcm9uZXNpYSAoRk0pLCBOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMgKE1QKSwgUGFsYXUgKFBXKSwgUGFuYW1hIChQQSkgKGFzIHdlbGwgYXMgUGFuYW1hbmlhbiBCYWxib2EpLCBQdWVydG8gUmljbyAoUFIpLCBUaW1vci1MZXN0ZSAoVEwpLCBUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMgKFRDKSwgVS5TLiBWaXJnaW4gSXNsYW5kcyAoVkkpLCBVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMgKFVNKVxuICAgICAqL1xuICAgIERvbGxhciA9ICdVU0QnLFxuXG4gICAgLyoqXG4gICAgICogUG91bmQgc3RlcmxpbmdcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDgyNlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEdCUFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBVbml0ZWQgS2luZ2RvbSwgSXNsZSBvZiBNYW4gKElNLCBzZWUgTWFueCBwb3VuZCksIEplcnNleSAoSkUsIHNlZSBKZXJzZXkgcG91bmQpLCBHdWVybnNleSAoR0csIHNlZSBHdWVybnNleSBwb3VuZCksIFRyaXN0YW4gZGEgQ3VuaGEgKFNILVRBKVxuICAgICAqL1xuICAgIFBvdW5kID0gJ0dCUCcsXG5cbiAgICAvKipcbiAgICAgKiBUaGFpIGJhaHRcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDc2NFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IFRIQlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBUaGFpbGFuZFxuICAgICAqL1xuICAgIEJhaHQgPSAnVEhCJyxcblxuICAgIC8qKlxuICAgICAqIFR1cmtpc2ggbGlyYVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogOTQ5XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogVFJZXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFR1cmtleVxuICAgICAqL1xuICAgIFR1cmtpc2hMaXJhID0gJ1RSWScsXG5cbiAgICAvKipcbiAgICAgKiBDaGluZXNlIHl1YW5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDE1NlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IENOWVxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBDaGluYVxuICAgICAqL1xuICAgIFl1YW5SZW5taW5iaSA9ICdDTlknLFxuXG4gICAgLyoqXG4gICAgICogS2F6YWtoc3RhbmkgdGVuZ2VcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDM5OFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEtaVFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBLYXpha2hzdGFuXG4gICAgICovXG4gICAgVGVuZ2UgPSAnS1pUJyxcblxuICAgIC8qKlxuICAgICAqIElzcmFlbGkgbmV3IHNoZWtlbFxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzc2XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSUxTXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IElzcmFlbFxuICAgICAqL1xuICAgIElzcmFlbGlTaGVrZWwgPSAnSUxTJyxcblxuICAgIC8qKlxuICAgICAqIEluZGlhbiBydXBlZVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzU2XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSU5SXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IEluZGlhLCBCaHV0YW5cbiAgICAgKi9cbiAgICBJbmRpYW5SdXBlZSA9ICdJTlInLFxuXG4gICAgLyoqXG4gICAgICogSmFwYW5lc2UgeWVuXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAzOTJcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBKUFlcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogSmFwYW5cbiAgICAgKi9cbiAgICBZZW4gPSAnSlBZJyxcblxuICAgIC8qKlxuICAgICAqIFNvdXRoIEtvcmVhbiB3b25cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDQxMFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEtSV1xuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBTb3V0aCBLb3JlYVxuICAgICAqL1xuICAgIFdvbiA9ICdLUlcnLFxuXG4gICAgLyoqXG4gICAgICogU3dpc3MgZnJhbmNcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDc1NlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IENIRlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBTd2l0emVybGFuZCwgTGllY2h0ZW5zdGVpbiAoTEkpXG4gICAgICovXG4gICAgU3dpc3NGcmFuYyA9ICdDSEYnLFxuXG4gICAgLyoqXG4gICAgICogU2luZ2Fwb3JlIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogNzAyXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogU0dEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFNpbmdhcG9yZVxuICAgICAqL1xuICAgIFNpbmdhcG9yZURvbGxhciA9ICdTR0QnLFxuXG4gICAgLyoqXG4gICAgICogQXVzdHJhbGlhbiBkb2xsYXJcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDAzNlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEFVRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBBdXN0cmFsaWEsIENocmlzdG1hcyBJc2xhbmQgKENYKSwgQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMgKENDKSwgSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIChITSksIEtpcmliYXRpIChLSSksIE5hdXJ1IChOUiksIE5vcmZvbGsgSXNsYW5kIChORiksIFR1dmFsdSAoVFYpXG4gICAgICovXG4gICAgQXVzdHJhbGlhbkRvbGxhciA9ICdBVUQnLFxuXG4gICAgLyoqXG4gICAgICogSG9uZyBLb25nIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzQ0XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSEtEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IEhvbmcgS29uZ1xuICAgICAqL1xuICAgIEhvbmdLb25nX2RvbGxhciA9ICdIS0QnLFxuXG4gICAgLyoqXG4gICAgICogQ2FuYWRpYW4gZG9sbGFyXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAxMjRcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBDQURcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogQ2FuYWRhXG4gICAgICovXG4gICAgQ2FuYWRpYW5Eb2xsYXIgPSAnQ0FEJyxcblxuICAgIC8qKlxuICAgICAqIEFybWVuaWFuIGRyYW1cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDA1MVxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEFNRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBBcm1lbmlhXG4gICAgICovXG4gICAgQXJtZW5pYW5EcmFtID0gJ0FNRCcsXG5cbiAgICAvKipcbiAgICAgKiBVa3JhaW5pYW4gaHJ5dm5pYVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogOTgwXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogVUFIXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFVrcmFpbmVcbiAgICAgKi9cbiAgICBIcnl2bmlhID0gJ1VBSCcsXG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { TUI_NON_DIGIT_REGEXP } from '@taiga-ui/core';
2
- const TUI_EXP_YEAR_MONTH = /^\d{2}[\/|.]\d{4}$/;
2
+ const TUI_EXP_YEAR_MONTH = /^\d{2}[/|.]\d{4}$/;
3
3
  const TUI_EXP_SAFARI = /^\d{1,4}.\d{1,2}.\d{1,4}$/;
4
4
  /**
5
5
  * Correct expiration date text allowing only valid months
@@ -36,4 +36,4 @@ export function tuiCreateAutoCorrectedExpirePipe() {
36
36
  };
37
37
  };
38
38
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ2hELE1BQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBRW5EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQztJQUM1QyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRTtRQUNsQyxpQ0FBaUM7UUFDakMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsc0NBQXNDO1FBQ3RDLElBQ0ksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRTtZQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMvQjtZQUNFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztZQUVwRCxjQUFjLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxJQUNwRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzVCLEVBQUUsQ0FBQztTQUNOO1FBRUQsTUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0IsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzNCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU87WUFDSCxLQUFLLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxtQkFBbUI7U0FDdEIsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RVSV9OT05fRElHSVRfUkVHRVhQLCBUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmNvbnN0IFRVSV9FWFBfWUVBUl9NT05USCA9IC9eXFxkezJ9W1xcL3wuXVxcZHs0fSQvO1xuY29uc3QgVFVJX0VYUF9TQUZBUkkgPSAvXlxcZHsxLDR9LlxcZHsxLDJ9LlxcZHsxLDR9JC87XG5cbi8qKlxuICogQ29ycmVjdCBleHBpcmF0aW9uIGRhdGUgdGV4dCBhbGxvd2luZyBvbmx5IHZhbGlkIG1vbnRoc1xuICogQGludGVybmFsXG4gKlxuICogQHJldHVybnMgTU0vWVlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCk6IFR1aVRleHRNYXNrUGlwZUhhbmRsZXIge1xuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWUsIHtyYXdWYWx1ZX0pID0+IHtcbiAgICAgICAgLy8gQXV0b2ZpbGxlZCB3aXRoIE1NL1lZWVkgZm9ybWF0XG4gICAgICAgIGlmIChUVUlfRVhQX1lFQVJfTU9OVEgudGVzdChyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlID0gcmF3VmFsdWUuc3Vic3RyKDAsIDIpICsgJy8nICsgcmF3VmFsdWUuc3Vic3RyKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXV0b2ZpbGxlZCB3aXRoIFNhZmFyaSBjcmF6eSBmb3JtYXRcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmF3VmFsdWUubGVuZ3RoID4gNyAmJlxuICAgICAgICAgICAgcmF3VmFsdWUubGVuZ3RoIDwgMTEgJiZcbiAgICAgICAgICAgIFRVSV9FWFBfU0FGQVJJLnRlc3QocmF3VmFsdWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSByYXdWYWx1ZS5zcGxpdChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgICAgICAgICBjb25zdCBtb250aCA9IGFycmF5WzFdO1xuICAgICAgICAgICAgY29uc3QgeWVhciA9IGFycmF5LmZpbmQoKHtsZW5ndGh9KSA9PiBsZW5ndGggPT09IDQpO1xuXG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSA9IGAkeycwJy5yZXBlYXQoMiAtIG1vbnRoLmxlbmd0aCl9JHttb250aH0vJHtcbiAgICAgICAgICAgICAgICB5ZWFyID8geWVhci5zdWJzdHIoMikgOiAnJ1xuICAgICAgICAgICAgfWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRleGVzT2ZQaXBlZENoYXJzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgICBjb25zdCBjb25mb3JtZWRWYWx1ZUFyciA9IGNvbmZvcm1lZFZhbHVlLnNwbGl0KCcnKTtcblxuICAgICAgICBpZiAocGFyc2VJbnQoY29uZm9ybWVkVmFsdWVBcnJbMF0sIDEwKSA+IDEpIHtcbiAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlQXJyWzJdID0gJy8nO1xuICAgICAgICAgICAgY29uZm9ybWVkVmFsdWVBcnJbMV0gPSBjb25mb3JtZWRWYWx1ZUFyclswXTtcbiAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlQXJyWzBdID0gJzAnO1xuICAgICAgICAgICAgaW5kZXhlc09mUGlwZWRDaGFycy5wdXNoKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBjb25mb3JtZWRWYWx1ZUFyci5qb2luKCcnKSxcbiAgICAgICAgICAgIGluZGV4ZXNPZlBpcGVkQ2hhcnMsXG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBRW5EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQztJQUM1QyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRTtRQUNsQyxpQ0FBaUM7UUFDakMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsc0NBQXNDO1FBQ3RDLElBQ0ksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRTtZQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMvQjtZQUNFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztZQUVwRCxjQUFjLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxJQUNwRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzVCLEVBQUUsQ0FBQztTQUNOO1FBRUQsTUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0IsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzNCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU87WUFDSCxLQUFLLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxtQkFBbUI7U0FDdEIsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RVSV9OT05fRElHSVRfUkVHRVhQLCBUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmNvbnN0IFRVSV9FWFBfWUVBUl9NT05USCA9IC9eXFxkezJ9Wy98Ll1cXGR7NH0kLztcbmNvbnN0IFRVSV9FWFBfU0FGQVJJID0gL15cXGR7MSw0fS5cXGR7MSwyfS5cXGR7MSw0fSQvO1xuXG4vKipcbiAqIENvcnJlY3QgZXhwaXJhdGlvbiBkYXRlIHRleHQgYWxsb3dpbmcgb25seSB2YWxpZCBtb250aHNcbiAqIEBpbnRlcm5hbFxuICpcbiAqIEByZXR1cm5zIE1NL1lZXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSgpOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICByZXR1cm4gKGNvbmZvcm1lZFZhbHVlLCB7cmF3VmFsdWV9KSA9PiB7XG4gICAgICAgIC8vIEF1dG9maWxsZWQgd2l0aCBNTS9ZWVlZIGZvcm1hdFxuICAgICAgICBpZiAoVFVJX0VYUF9ZRUFSX01PTlRILnRlc3QocmF3VmFsdWUpKSB7XG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSA9IHJhd1ZhbHVlLnN1YnN0cigwLCAyKSArICcvJyArIHJhd1ZhbHVlLnN1YnN0cig1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF1dG9maWxsZWQgd2l0aCBTYWZhcmkgY3JhenkgZm9ybWF0XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHJhd1ZhbHVlLmxlbmd0aCA+IDcgJiZcbiAgICAgICAgICAgIHJhd1ZhbHVlLmxlbmd0aCA8IDExICYmXG4gICAgICAgICAgICBUVUlfRVhQX1NBRkFSSS50ZXN0KHJhd1ZhbHVlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGFycmF5ID0gcmF3VmFsdWUuc3BsaXQoVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgY29uc3QgbW9udGggPSBhcnJheVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHllYXIgPSBhcnJheS5maW5kKCh7bGVuZ3RofSkgPT4gbGVuZ3RoID09PSA0KTtcblxuICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUgPSBgJHsnMCcucmVwZWF0KDIgLSBtb250aC5sZW5ndGgpfSR7bW9udGh9LyR7XG4gICAgICAgICAgICAgICAgeWVhciA/IHllYXIuc3Vic3RyKDIpIDogJydcbiAgICAgICAgICAgIH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXhlc09mUGlwZWRDaGFyczogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgY29uc3QgY29uZm9ybWVkVmFsdWVBcnIgPSBjb25mb3JtZWRWYWx1ZS5zcGxpdCgnJyk7XG5cbiAgICAgICAgaWYgKHBhcnNlSW50KGNvbmZvcm1lZFZhbHVlQXJyWzBdLCAxMCkgPiAxKSB7XG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZUFyclsyXSA9ICcvJztcbiAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlQXJyWzFdID0gY29uZm9ybWVkVmFsdWVBcnJbMF07XG4gICAgICAgICAgICBjb25mb3JtZWRWYWx1ZUFyclswXSA9ICcwJztcbiAgICAgICAgICAgIGluZGV4ZXNPZlBpcGVkQ2hhcnMucHVzaCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogY29uZm9ybWVkVmFsdWVBcnIuam9pbignJyksXG4gICAgICAgICAgICBpbmRleGVzT2ZQaXBlZENoYXJzLFxuICAgICAgICB9O1xuICAgIH07XG59XG4iXX0=
@@ -5,7 +5,7 @@ import { NgControl } from '@angular/forms';
5
5
  import { TUI_CARD_MASK, tuiDefaultCardValidator } from '@taiga-ui/addon-commerce/constants';
6
6
  import { getPaymentSystem, tuiCreateAutoCorrectedExpirePipe, } from '@taiga-ui/addon-commerce/utils';
7
7
  import { AbstractTuiNullableControl, isNativeFocused, isNativeFocusedIn, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiPure, tuiRequiredSetter, } from '@taiga-ui/cdk';
8
- import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
8
+ import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TUI_TEXTFIELD_APPEARANCE, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
9
9
  import { Observable } from 'rxjs';
10
10
  import { TUI_INPUT_CARD_GROUPED_TEXTS, } from './input-card-grouped.providers';
11
11
  var STUB = {
@@ -23,11 +23,12 @@ var ICONS = (_a = {},
23
23
  // @dynamic
24
24
  var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
25
25
  __extends(TuiInputCardGroupedComponent, _super);
26
- function TuiInputCardGroupedComponent(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$) {
26
+ function TuiInputCardGroupedComponent(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$, appearance) {
27
27
  var _this = _super.call(this, control, changeDetectorRef) || this;
28
28
  _this.elementRef = elementRef;
29
29
  _this.mode$ = mode$;
30
30
  _this.cardGroupedTexts$ = cardGroupedTexts$;
31
+ _this.appearance = appearance;
31
32
  _this.expireInert = false;
32
33
  _this.autocompleteEnabled = false;
33
34
  _this.cardSrc = null; // TODO(splincode): will be deleted `null` in v3.0
@@ -412,7 +413,8 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
412
413
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
413
414
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
414
415
  { type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
415
- { type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] }
416
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] },
417
+ { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
416
418
  ]; };
417
419
  __decorate([
418
420
  ViewChild('inputCard')
@@ -468,7 +470,7 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
468
470
  TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
469
471
  Component({
470
472
  selector: 'tui-input-card-grouped',
471
- template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n appearance=\"textfield\"\n class=\"t-common-wrapper\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event.currentTarget)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label tuiPreventDefault=\"click\">\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"isCardCollapsed\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [class.t-collapsed_inactive]=\"!isCardCollapsed\"\n [attr.data-before]=\"masked\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
473
+ template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event.currentTarget)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label tuiPreventDefault=\"click\">\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"isCardCollapsed\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [class.t-collapsed_inactive]=\"!isCardCollapsed\"\n [attr.data-before]=\"masked\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
472
474
  changeDetection: ChangeDetectionStrategy.OnPush,
473
475
  providers: [
474
476
  MODE_PROVIDER,
@@ -493,9 +495,10 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
493
495
  __param(1, Inject(ChangeDetectorRef)),
494
496
  __param(2, Inject(ElementRef)),
495
497
  __param(3, Inject(TUI_MODE)),
496
- __param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS))
498
+ __param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS)),
499
+ __param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
497
500
  ], TuiInputCardGroupedComponent);
498
501
  return TuiInputCardGroupedComponent;
499
502
  }(AbstractTuiNullableControl));
500
503
  export { TuiInputCardGroupedComponent };
501
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBRXBCLG9CQUFvQixFQUNwQixvQkFBb0IsR0FHdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFDSCw0QkFBNEIsR0FFL0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxJQUFNLElBQUksR0FBWTtJQUNs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Q0QsSUFBSSxFQUFFO2dCQUNGLG9CQUFvQixFQUFFLE9BQU87Z0JBQzdCLG9CQUFvQixFQUFFLEdBQUc7YUFDNUI7O1NBQ0osQ0FBQztRQWtGTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtPQXhGaEMsNEJBQTRCLENBd1h4QztJQUFELG1DQUFDO0NBQUEsQUF4WEQsQ0FDWSwwQkFBMEIsR0F1WHJDO1NBeFhZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMsXG4gICAgVHVpQ2FyZEdyb3VwZWRUZXh0cyxcbn0gZnJvbSAnLi9pbnB1dC1jYXJkLWdyb3VwZWQucHJvdmlkZXJzJztcblxuY29uc3QgU1RVQjogVHVpQ2FyZCA9IHtcbiAgICBjYXJkOiAnJyxcbiAgICBleHBpcmU6ICcnLFxuICAgIGN2YzogJycsXG59O1xuY29uc3QgSUNPTlMgPSB7XG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWlyXTogJ3R1aUljb25NaXInLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLlZpc2FdOiAndHVpSWNvblZpc2EnLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLkVsZWN0cm9uXTogJ3R1aUljb25FbGVjdHJvbicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFzdGVyY2FyZF06ICd0dWlJY29uTWFzdGVyY2FyZCcsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFlc3Ryb106ICd0dWlJY29uTWFlc3RybycsXG59O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY2FyZC1ncm91cGVkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2FyZC1ncm91cGVkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNhcmQtZ3JvdXBlZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgICAgICdkYXRhLXR1aS1ob3N0LXNpemUnOiAnbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpQ2FyZD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFBhcnRpYWw8VHVpQ2FyZD4+XG57XG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDYXJkJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q2FyZD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dEV4cGlyZScpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dEV4cGlyZT86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dENWQycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENWQz86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIGV4cGlyZUluZXJ0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXV0b2NvbXBsZXRlRW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRTcmM6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsID0gbnVsbDsgLy8gVE9ETyhzcGxpbmNvZGUpOiB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9ICcwMDAwIDAwMDAgMDAwMCAwMDAwJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSAnMCcucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gJzAwMCc7XG5cbiAgICBtYXNrQ1ZDOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSgzKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tDYXJkOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFRVSV9DQVJEX01BU0ssXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgcGlwZTogY29uZm9ybWVkVmFsdWUgPT4gY29uZm9ybWVkVmFsdWUudHJpbSgpLFxuICAgIH07XG5cbiAgICByZWFkb25seSBtYXNrRXhwaXJlOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgJy8nLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlICYmICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0SWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3BheW1lbnRTeXN0ZW19ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gcGF5bWVudFN5c3RlbSAmJiBJQ09OU1twYXltZW50U3lzdGVtXTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRTcmMgPz8gdGhpcy5kZWZhdWx0SWNvbjtcbiAgICB9XG5cbiAgICBnZXQgYmluKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5jYXJkLmxlbmd0aCA8IDZcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlLmNhcmQuc3Vic3RyKDAsIDYpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmICF0aGlzLmNhcmRQcmVmaWxsZWRcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZS5jYXJkXG4gICAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgICAubWFwKChjaGFyLCBpbmRleCkgPT4gKGluZGV4ICYmIGluZGV4ICUgNCA9PT0gMCA/IGAgJHtjaGFyfWAgOiBjaGFyKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jYXJkJztcbiAgICB9XG5cbiAgICBnZXQgaWRFeHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2V4cGlyZSc7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ1ZDKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jdmMnO1xuICAgIH1cblxuICAgIGdldCBpc0NhcmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuY2FyZEZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNhcmQoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY051bWJlclxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlRXhwaXJlKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NFeHBcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNWQygpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjQ3NjXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIC8vIFNhZmFyaSBleHBpcmF0aW9uIGRhdGUgYXV0b2ZpbGwgd29ya2Fyb3VuZFxuICAgIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyAnY2NleHBpcnl5ZWFyJyA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2FyZC5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y1ByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdmMubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjYXJkRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZUluZXJ0O1xuICAgIH1cblxuICAgIGdldCBjdmNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tlZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkUHJlZmlsbGVkID8gYCoke3RoaXMuY2FyZC5zbGljZSgtNCl9YCA6ICcqJztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycpXG4gICAgb25Fc2MoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnMSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgb25BcnJvdyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzRHJvcGRvd247XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRhdGFsaXN0Py5vbktleURvd25BcnJvdyhlbGVtZW50LCBzdGVwKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBQYXJ0aWFsPFR1aUNhcmQ+KSB7XG4gICAgICAgIGNvbnN0IHtjYXJkID0gJycsIGV4cGlyZSA9ICcnLCBjdmMgPSAnJ30gPSBvcHRpb247XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAoIWV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fCB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoe2NhcmQsIGV4cGlyZSwgY3ZjfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISFleHBpcmU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhcmRDaGFuZ2UoY2FyZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgYmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNhcmQuc3BsaXQoJyAnKS5qb2luKCcnKTtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY2FyZCA9PT0gcGFyc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KHBhcnNlZCwgJ2NhcmQnKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcblxuICAgICAgICBpZiAodGhpcy5jYXJkVmFsaWRhdG9yKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhwaXJlQ2hhbmdlKGV4cGlyZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogV29ya2Fyb3VuZCB1bnRpbCBtYXNrIHBpcGUgY2FuIHJlcGxhY2UgY2hhcnMgYW5kIGtlZXAgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgbWFzayBhdCBhbGxcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VJbnQoZXhwaXJlLnN1YnN0cigwLCAyKSwgMTApID4gMTIpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcxMicgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zdWJzdHIoMCwgMikgPT09ICcwMCcpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcwMScgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gZXhwaXJlO1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGV4cGlyZSwgJ2V4cGlyZScpO1xuXG4gICAgICAgIGlmIChleHBpcmUubGVuZ3RoID09PSA1ICYmIHRoaXMuaW5wdXRDVkMpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENWQy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ1ZDQ2hhbmdlKGN2Yzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoY3ZjLCAnY3ZjJyk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm1hdGNoZXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDYXJkKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNhcmRGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmlucHV0Q2FyZCAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGF5bWVudFN5c3RlbSgpOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmIGdldFBheW1lbnRTeXN0ZW0odGhpcy52YWx1ZS5jYXJkKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgaXNGb2N1c2FibGUoY2FyZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAodGhpcy5jYXJkVmFsaWRhdG9yKGNhcmQpIHx8IHRoaXMuY2FyZFByZWZpbGxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW4ob2xkQmluOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBpZiAoYmluICE9PSBvbGRCaW4gJiYgIXRoaXMuY2FyZFByZWZpbGxlZCkge1xuICAgICAgICAgICAgdGhpcy5iaW5DaGFuZ2UuZW1pdChiaW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcm9wZXJ0eShwcm9wVmFsdWU6IHN0cmluZywgcHJvcE5hbWU6ICdjYXJkJyB8ICdleHBpcmUnIHwgJ2N2YycpIHtcbiAgICAgICAgY29uc3Qge2NhcmQsIGV4cGlyZSwgY3ZjfSA9IHRoaXMudmFsdWUgfHwgU1RVQjtcbiAgICAgICAgY29uc3QgbmV3VmFsdWU6IFR1aUNhcmQgPSB7XG4gICAgICAgICAgICBjYXJkLFxuICAgICAgICAgICAgZXhwaXJlLFxuICAgICAgICAgICAgY3ZjLFxuICAgICAgICB9O1xuXG4gICAgICAgIG5ld1ZhbHVlW3Byb3BOYW1lXSA9IHByb3BWYWx1ZTtcblxuICAgICAgICBpZiAoIW5ld1ZhbHVlLmV4cGlyZSAmJiAhbmV3VmFsdWUuY3ZjICYmICFuZXdWYWx1ZS5jYXJkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgKHRoaXMuY2FyZEZvY3VzYWJsZSAmJiB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmV4cGlyZUZvY3VzYWJsZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5pbnB1dENWQz8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
504
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsSUFBTSxJ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QjtvQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsOEJBQTRCLEVBQTVCLENBQTRCLENBQUM7aUJBQzlEO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztnQkFDN0Isb0JBQW9CLEVBQUUsR0FBRzthQUM1Qjs7U0FDSixDQUFDO1FBa0ZPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1FBRXBDLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7T0ExRjVCLDRCQUE0QixDQTBYeEM7SUFBRCxtQ0FBQztDQUFBLEFBMVhELENBQ1ksMEJBQTBCLEdBeVhyQztTQTFYWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUVUlfQ0FSRF9NQVNLLCB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVBheW1lbnRTeXN0ZW19IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcyc7XG5pbXBvcnQge1R1aUNhcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpQ29kZUNWQ0xlbmd0aH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7XG4gICAgZ2V0UGF5bWVudFN5c3RlbSxcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9OT05fRElHSVRfUkVHRVhQLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUyxcbiAgICBUdWlDYXJkR3JvdXBlZFRleHRzLFxufSBmcm9tICcuL2lucHV0LWNhcmQtZ3JvdXBlZC5wcm92aWRlcnMnO1xuXG5jb25zdCBTVFVCOiBUdWlDYXJkID0ge1xuICAgIGNhcmQ6ICcnLFxuICAgIGV4cGlyZTogJycsXG4gICAgY3ZjOiAnJyxcbn07XG5jb25zdCBJQ09OUyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiAndHVpSWNvbk1pcicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uVmlzYV06ICd0dWlJY29uVmlzYScsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uRWxlY3Ryb25dOiAndHVpSWNvbkVsZWN0cm9uJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogJ3R1aUljb25NYXN0ZXJjYXJkJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogJ3R1aUljb25NYWVzdHJvJyxcbn07XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jYXJkLWdyb3VwZWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY2FyZC1ncm91cGVkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICAgICAgJ2RhdGEtdHVpLWhvc3Qtc2l6ZSc6ICdsJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlDYXJkPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8UGFydGlhbDxUdWlDYXJkPj5cbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dENhcmQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDYXJkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RXhwaXJlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RXhwaXJlPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q1ZDJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q1ZDPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSBudWxsOyAvLyBUT0RPKHNwbGluY29kZSk6IHdpbGwgYmUgZGVsZXRlZCBgbnVsbGAgaW4gdjMuMFxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4YW1wbGVUZXh0ID0gJzAwMDAgMDAwMCAwMDAwIDAwMDAnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgY29kZUxlbmd0aChsZW5ndGg6IFR1aUNvZGVDVkNMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5leGFtcGxlVGV4dENWQyA9ICcwJy5yZXBlYXQobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5tYXNrQ1ZDID0ge1xuICAgICAgICAgICAgbWFzazogbmV3IEFycmF5KGxlbmd0aCkuZmlsbChUVUlfRElHSVRfUkVHRVhQKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhdXRvZmlsbGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYmluQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkcm9wZG93bjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdENvbXBvbmVudClcbiAgICByZWFkb25seSBkYXRhbGlzdD86IFR1aURhdGFMaXN0Q29tcG9uZW50PFR1aUNhcmQ+O1xuXG4gICAgZXhhbXBsZVRleHRDVkMgPSAnMDAwJztcblxuICAgIG1hc2tDVkM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICAnLycsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUoKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBjYXJkR3JvdXBlZFRleHRzJDogT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRDYXJkID8gdGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4gfHwgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBjYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5jYXJkID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBleHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmV4cGlyZSA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgY3ZjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5jdmMgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWUgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFNyYyA/PyB0aGlzLmRlZmF1bHRJY29uO1xuICAgIH1cblxuICAgIGdldCBiaW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmNhcmQubGVuZ3RoIDwgNlxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUuY2FyZC5zdWJzdHIoMCwgNik7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCAhIXRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZFxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlLmNhcmRcbiAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGNoYXIsIGluZGV4KSA9PiAoaW5kZXggJiYgaW5kZXggJSA0ID09PSAwID8gYCAke2NoYXJ9YCA6IGNoYXIpKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2NhcmQnO1xuICAgIH1cblxuICAgIGdldCBpZEV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICdfZXhwaXJlJztcbiAgICB9XG5cbiAgICBnZXQgaWRDVkMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2N2Yyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2FyZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5jYXJkRm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ2FyZCgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjTnVtYmVyXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVFeHBpcmUoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0V4cFxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ1ZDKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NDc2NcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjY2V4cGlyeXllYXInIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogJyonO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJylcbiAgICBvbkVzYygpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnLTEnXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSAnJywgZXhwaXJlID0gJycsIGN2YyA9ICcnfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdCgnICcpLmpvaW4oJycpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCAnY2FyZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0RXhwaXJlLm5hdGl2ZUVsZW1lbnQsIHRydWUsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc3Vic3RyKDAsIDIpLCAxMCkgPiAxMikge1xuICAgICAgICAgICAgZXhwaXJlID0gJzEyJyArIGV4cGlyZS5zdWJzdHIoMik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhwaXJlLnN1YnN0cigwLCAyKSA9PT0gJzAwJykge1xuICAgICAgICAgICAgZXhwaXJlID0gJzAxJyArIGV4cGlyZS5zdWJzdHIoMik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlucHV0RXhwaXJlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBleHBpcmU7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoZXhwaXJlLCAnZXhwaXJlJyk7XG5cbiAgICAgICAgaWYgKGV4cGlyZS5sZW5ndGggPT09IDUgJiYgdGhpcy5pbnB1dENWQykge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q1ZDLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DVkNDaGFuZ2UoY3ZjOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShjdmMsICdjdmMnKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmVDaGFuZ2UoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgICAgICB0aGlzLm9wZW4gPSBhY3RpdmUgJiYgdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkubWF0Y2hlcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25TY3JvbGwoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dENhcmQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpQ2FyZCB8IG51bGwpIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISF0aGlzLmV4cGlyZSAmJiB0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FyZEZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaW5wdXRDYXJkICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwYXltZW50U3lzdGVtKCk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgZ2V0UGF5bWVudFN5c3RlbSh0aGlzLnZhbHVlLmNhcmQpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBpc0ZvY3VzYWJsZShjYXJkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICh0aGlzLmNhcmRWYWxpZGF0b3IoY2FyZCkgfHwgdGhpcy5jYXJkUHJlZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJpbihvbGRCaW46IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChiaW4gIT09IG9sZEJpbiAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJpbkNoYW5nZS5lbWl0KGJpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByb3BlcnR5KHByb3BWYWx1ZTogc3RyaW5nLCBwcm9wTmFtZTogJ2NhcmQnIHwgJ2V4cGlyZScgfCAnY3ZjJykge1xuICAgICAgICBjb25zdCB7Y2FyZCwgZXhwaXJlLCBjdmN9ID0gdGhpcy52YWx1ZSB8fCBTVFVCO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZTogVHVpQ2FyZCA9IHtcbiAgICAgICAgICAgIGNhcmQsXG4gICAgICAgICAgICBleHBpcmUsXG4gICAgICAgICAgICBjdmMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbmV3VmFsdWVbcHJvcE5hbWVdID0gcHJvcFZhbHVlO1xuXG4gICAgICAgIGlmICghbmV3VmFsdWUuZXhwaXJlICYmICFuZXdWYWx1ZS5jdmMgJiYgIW5ld1ZhbHVlLmNhcmQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dCgpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAodGhpcy5jYXJkRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRDYXJkPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKHRoaXMuZXhwaXJlRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -115,12 +115,12 @@ var TuiMoneyComponent = /** @class */ (function () {
115
115
  Component({
116
116
  selector: 'tui-money',
117
117
  changeDetection: ChangeDetectionStrategy.OnPush,
118
- template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span automation-id=\"tui-money__currency\" class=\"t-currency\">\n {{ currency | tuiCurrency }}\n </span>\n</span>\n",
119
- styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}"]
118
+ template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span\n automation-id=\"tui-money__currency\"\n class=\"t-currency\"\n [textContent]=\"currency | tuiCurrency\"\n ></span>\n</span>\n",
119
+ styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}.t-currency{padding-left:.2rem}"]
120
120
  }),
121
121
  __param(0, Inject(TUI_NUMBER_FORMAT))
122
122
  ], TuiMoneyComponent);
123
123
  return TuiMoneyComponent;
124
124
  }());
125
125
  export { TuiMoneyComponent };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvIiwic291cmNlcyI6WyJtb25leS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCxZQUFZLEVBRVosaUJBQWlCLEdBRXBCLE1BQU0sZ0JBQWdCLENBQUM7QUFReEI7SUFxRkksMkJBRXFCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQXBGdkQsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUlaLFlBQU8sR0FBZ0IsVUFBVSxDQUFDO1FBSWxDLGFBQVEscUJBQTBDO1FBSWxELFNBQUksR0FBa0IsZUFBZSxDQUFDO1FBSXRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUlkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBNkRqQixDQUFDO0lBM0RKLHNCQUFJLDBDQUFXO2FBQWY7WUFDSSxPQUFPLFlBQVksQ0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2hDLElBQUksRUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUN0QyxDQUFDO1FBQ04sQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBWTthQUFoQjtZQUNVLElBQUEsU0FBdUIsRUFBdEIsb0JBQU8sRUFBRSxnQkFBYSxDQUFDO1lBQzlCLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FB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bXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDdXJyZW5jeX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ3VycmVuY3lWYXJpYW50cywgVHVpTW9uZXlTaWduVH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7Q0hBUl9FTl9EQVNILCB0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUdWlEZWNpbWFsVCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb25leScsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vbmV5LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vbmV5LnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9uZXlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZSA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCA9ICdub3QtemVybyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY3VycmVuY3k6IFR1aUN1cnJlbmN5VmFyaWFudHMgPSBUdWlDdXJyZW5jeS5SdWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaWduOiBUdWlNb25leVNpZ25UID0gJ25lZ2F0aXZlLW9ubHknO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpbmdsZUNvbG9yID0gZmFsc2U7XG5cbiAgICBnZXQgaW50ZWdlclBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlcihcbiAgICAgICAgICAgIE1hdGguZmxvb3IoTWF0aC5hYnModGhpcy52YWx1ZSkpLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZnJhY3Rpb25QYXJ0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHtkZWNpbWFsLCB2YWx1ZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcmFjdGlvbiA9IHZhbHVlLnRvRml4ZWQodGhpcy5wcmVjaXNpb24pLnNwbGl0KCcuJylbMV07XG5cbiAgICAgICAgcmV0dXJuIGRlY2ltYWwgPT09ICduZXZlcicgfHxcbiAgICAgICAgICAgIChwYXJzZUludChmcmFjdGlvbiwgMTApID09PSAwICYmIGRlY2ltYWwgIT09ICdhbHdheXMnKVxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yICsgZnJhY3Rpb247XG4gICAgfVxuXG4gICAgZ2V0IHNpZ25TeW1ib2woKTogJycgfCB0eXBlb2YgQ0hBUl9FTl9EQVNIIHwgJysnIHtcbiAgICAgICAgY29uc3Qge3NpZ24sIHZhbHVlfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHNpZ24gPT09ICduZXZlcicgfHwgIXZhbHVlIHx8IChzaWduID09PSAnbmVnYXRpdmUtb25seScgJiYgdmFsdWUgPiAwKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpZ24gPT09ICdmb3JjZS1uZWdhdGl2ZScgfHwgKHZhbHVlIDwgMCAmJiBzaWduICE9PSAnZm9yY2UtcG9zaXRpdmUnKSkge1xuICAgICAgICAgICAgcmV0dXJuIENIQVJfRU5fREFTSDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnKyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVkJylcbiAgICBnZXQgcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb2xvcmVkICYmXG4gICAgICAgICAgICAodGhpcy5zaWduU3ltYm9sID09PSBDSEFSX0VOX0RBU0ggfHxcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA8IDAgJiYgdGhpcy5zaWduICE9PSAnZm9yY2UtcG9zaXRpdmUnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9ncmVlbicpXG4gICAgZ2V0IGdyZWVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb2xvcmVkICYmXG4gICAgICAgICAgICAodGhpcy5zaWduU3ltYm9sID09PSAnKycgfHxcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA+IDAgJiYgdGhpcy5zaWduICE9PSAnZm9yY2UtbmVnYXRpdmUnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pbmhlcml0LWNvbG9yJylcbiAgICBnZXQgaW5oZXJpdENvbG9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGVDb2xvciB8fCAodGhpcy52YWx1ZSA9PT0gMCAmJiB0aGlzLmNvbG9yZWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgKSB7fVxufVxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvIiwic291cmNlcyI6WyJtb25leS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCxZQUFZLEVBRVosaUJBQWlCLEdBRXBCLE1BQU0sZ0JBQWdCLENBQUM7QUFReEI7SUFxRkksMkJBRXFCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQXBGdkQsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUlaLFlBQU8sR0FBZ0IsVUFBVSxDQUFDO1FBSWxDLGFBQVEscUJBQTBDO1FBSWxELFNBQUksR0FBa0IsZUFBZSxDQUFDO1FBSXRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUlkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBNkRqQixDQUFDO0lBM0RKLHNCQUFJLDBDQUFXO2FBQWY7WUFDSSxPQUFPLFlBQVksQ0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2hDLElBQUksRUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUN0QyxDQUFDO1FBQ04sQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBWTthQUFoQjtZQUNVLElBQUEsU0FBdUIsRUFBdEIsb0JBQU8sRUFBRSxnQkFBYSxDQUFDO1lBQzlCLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FB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bXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDdXJyZW5jeX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ3VycmVuY3lWYXJpYW50cywgVHVpTW9uZXlTaWduVH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7Q0hBUl9FTl9EQVNILCB0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUdWlEZWNpbWFsVCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tb25leScsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vbmV5LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vbmV5LnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9uZXlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZSA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCA9ICdub3QtemVybyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY3VycmVuY3k6IFR1aUN1cnJlbmN5VmFyaWFudHMgPSBUdWlDdXJyZW5jeS5SdWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaWduOiBUdWlNb25leVNpZ25UID0gJ25lZ2F0aXZlLW9ubHknO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpbmdsZUNvbG9yID0gZmFsc2U7XG5cbiAgICBnZXQgaW50ZWdlclBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlcihcbiAgICAgICAgICAgIE1hdGguZmxvb3IoTWF0aC5hYnModGhpcy52YWx1ZSkpLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZnJhY3Rpb25QYXJ0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHtkZWNpbWFsLCB2YWx1ZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcmFjdGlvbiA9IHZhbHVlLnRvRml4ZWQodGhpcy5wcmVjaXNpb24pLnNwbGl0KCcuJylbMV07XG5cbiAgICAgICAgcmV0dXJuIGRlY2ltYWwgPT09ICduZXZlcicgfHxcbiAgICAgICAgICAgIChwYXJzZUludChmcmFjdGlvbiwgMTApID09PSAwICYmIGRlY2ltYWwgIT09ICdhbHdheXMnKVxuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yICsgZnJhY3Rpb247XG4gICAgfVxuXG4gICAgZ2V0IHNpZ25TeW1ib2woKTogJycgfCB0eXBlb2YgQ0hBUl9FTl9EQVNIIHwgJysnIHtcbiAgICAgICAgY29uc3Qge3NpZ24sIHZhbHVlfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHNpZ24gPT09ICduZXZlcicgfHwgIXZhbHVlIHx8IChzaWduID09PSAnbmVnYXRpdmUtb25seScgJiYgdmFsdWUgPiAwKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpZ24gPT09ICdmb3JjZS1uZWdhdGl2ZScgfHwgKHZhbHVlIDwgMCAmJiBzaWduICE9PSAnZm9yY2UtcG9zaXRpdmUnKSkge1xuICAgICAgICAgICAgcmV0dXJuIENIQVJfRU5fREFTSDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnKyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVkJylcbiAgICBnZXQgcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb2xvcmVkICYmXG4gICAgICAgICAgICAodGhpcy5zaWduU3ltYm9sID09PSBDSEFSX0VOX0RBU0ggfHxcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA8IDAgJiYgdGhpcy5zaWduICE9PSAnZm9yY2UtcG9zaXRpdmUnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9ncmVlbicpXG4gICAgZ2V0IGdyZWVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb2xvcmVkICYmXG4gICAgICAgICAgICAodGhpcy5zaWduU3ltYm9sID09PSAnKycgfHxcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA+IDAgJiYgdGhpcy5zaWduICE9PSAnZm9yY2UtbmVnYXRpdmUnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pbmhlcml0LWNvbG9yJylcbiAgICBnZXQgaW5oZXJpdENvbG9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGVDb2xvciB8fCAodGhpcy52YWx1ZSA9PT0gMCAmJiB0aGlzLmNvbG9yZWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgKSB7fVxufVxuIl19