merchi_checkout 0.0.0-a

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 (54) hide show
  1. package/README.md +69 -0
  2. package/lib/actions/confirm.js +83 -0
  3. package/lib/actions/customer.js +59 -0
  4. package/lib/actions/domain.js +69 -0
  5. package/lib/actions/files.js +38 -0
  6. package/lib/actions/helpers.js +125 -0
  7. package/lib/actions/invoice.js +120 -0
  8. package/lib/actions/shipping.js +33 -0
  9. package/lib/actions/user.js +64 -0
  10. package/lib/components/Alerts.js +89 -0
  11. package/lib/components/Collapse.js +34 -0
  12. package/lib/components/DraftImageUploaded.js +54 -0
  13. package/lib/components/FooterButtons.js +25 -0
  14. package/lib/components/InvoiceInfo.js +34 -0
  15. package/lib/components/JobInfoContent.js +276 -0
  16. package/lib/components/MerchiCheckout.js +29 -0
  17. package/lib/components/MerchiCheckoutProvider.js +357 -0
  18. package/lib/components/MerchiCheckoutTabs.js +50 -0
  19. package/lib/components/TabPane.js +21 -0
  20. package/lib/components/TabPaneAddress.js +28 -0
  21. package/lib/components/TabPaneConfirm.js +281 -0
  22. package/lib/components/TabPaneContainer.js +13 -0
  23. package/lib/components/TabPaneCustomer.js +102 -0
  24. package/lib/components/TabPaneDrafting.js +117 -0
  25. package/lib/components/TabPaneNewDomain.js +39 -0
  26. package/lib/components/TabPanePayment.js +41 -0
  27. package/lib/components/TabPaneSubmitted.js +79 -0
  28. package/lib/components/TitleStep.js +23 -0
  29. package/lib/components/buttons/ButtonInvoiceDownload.js +92 -0
  30. package/lib/components/buttons/ButtonNext.js +40 -0
  31. package/lib/components/buttons/ButtonPrevious.js +31 -0
  32. package/lib/components/buttons/index.js +4 -0
  33. package/lib/components/currency.js +223 -0
  34. package/lib/components/forms/CheckboxBillingAddressSameAsShippingAddress.js +23 -0
  35. package/lib/components/forms/FormAddresses.js +200 -0
  36. package/lib/components/forms/FormCustomerNew.js +197 -0
  37. package/lib/components/forms/FormCustomerReturning.js +144 -0
  38. package/lib/components/forms/FormDomainNew.js +146 -0
  39. package/lib/components/forms/InputAcceptUserTermsAndConditions.js +39 -0
  40. package/lib/components/forms/InputCheckStoreName.js +168 -0
  41. package/lib/components/forms/InputError.js +18 -0
  42. package/lib/components/forms/InputFileUpload.js +191 -0
  43. package/lib/components/forms/InputSelect.js +52 -0
  44. package/lib/components/forms/InputText.js +60 -0
  45. package/lib/components/forms/InputsAddress.js +227 -0
  46. package/lib/components/forms/index.js +5 -0
  47. package/lib/components/lists/ListShipmentQuoteOptions.js +139 -0
  48. package/lib/components/lists/index.js +3 -0
  49. package/lib/index.js +6 -0
  50. package/lib/styles/globals.scss +2236 -0
  51. package/lib/tabs_utils.js +126 -0
  52. package/lib/types.js +39 -0
  53. package/lib/utils.js +462 -0
  54. package/package.json +83 -0
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+
3
+ import { useMerchiCheckboutContext } from '../MerchiCheckoutProvider';
4
+ import { FaArrowLeft } from 'react-icons/fa';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ function ButtonPrevious(_ref) {
8
+ var _ref$buttonText = _ref.buttonText,
9
+ buttonText = _ref$buttonText === void 0 ? '' : _ref$buttonText,
10
+ onClick = _ref.onClick;
11
+ var _useMerchiCheckboutCo = useMerchiCheckboutContext(),
12
+ activeTabIndex = _useMerchiCheckboutCo.activeTabIndex,
13
+ classNameMerchiCheckoutButtonPrimary = _useMerchiCheckboutCo.classNameMerchiCheckoutButtonPrimary,
14
+ setActiveTabIndex = _useMerchiCheckboutCo.setActiveTabIndex,
15
+ toggleMerchiCheckout = _useMerchiCheckboutCo.toggleMerchiCheckout;
16
+ return /*#__PURE__*/_jsxs("button", {
17
+ className: classNameMerchiCheckoutButtonPrimary + ' btn-lg',
18
+ onClick: onClick ? onClick : function () {
19
+ if (activeTabIndex) {
20
+ setActiveTabIndex((activeTabIndex || 0) - 1);
21
+ } else {
22
+ toggleMerchiCheckout();
23
+ }
24
+ },
25
+ children: [buttonText, /*#__PURE__*/_jsx(FaArrowLeft, {
26
+ fontSize: "1.1rem"
27
+ })]
28
+ });
29
+ }
30
+ export default ButtonPrevious;
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IiwiRmFBcnJvd0xlZnQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQnV0dG9uUHJldmlvdXMiLCJfcmVmIiwiX3JlZiRidXR0b25UZXh0IiwiYnV0dG9uVGV4dCIsIm9uQ2xpY2siLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28iLCJhY3RpdmVUYWJJbmRleCIsImNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uUHJpbWFyeSIsInNldEFjdGl2ZVRhYkluZGV4IiwidG9nZ2xlTWVyY2hpQ2hlY2tvdXQiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImZvbnRTaXplIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYnV0dG9ucy9CdXR0b25QcmV2aW91cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4uL01lcmNoaUNoZWNrb3V0UHJvdmlkZXInO1xuaW1wb3J0IHsgRmFBcnJvd0xlZnQgfSBmcm9tICdyZWFjdC1pY29ucy9mYSc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiBCdXR0b25QcmV2aW91cyh7IGJ1dHRvblRleHQgPSAnJywgb25DbGljayB9OiBQcm9wcykge1xuICBjb25zdCB7XG4gICAgYWN0aXZlVGFiSW5kZXgsXG4gICAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25QcmltYXJ5LFxuICAgIHNldEFjdGl2ZVRhYkluZGV4LFxuICAgIHRvZ2dsZU1lcmNoaUNoZWNrb3V0LFxuICB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25QcmltYXJ5ICsgJyBidG4tbGcnfVxuICAgICAgb25DbGljaz17XG4gICAgICAgIG9uQ2xpY2tcbiAgICAgICAgICA/IG9uQ2xpY2tcbiAgICAgICAgICA6ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGFjdGl2ZVRhYkluZGV4KSB7XG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlVGFiSW5kZXgoKGFjdGl2ZVRhYkluZGV4IHx8IDApIC0gMSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlTWVyY2hpQ2hlY2tvdXQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgfVxuICAgID5cbiAgICAgIHtidXR0b25UZXh0fVxuICAgICAgPEZhQXJyb3dMZWZ0IGZvbnRTaXplPScxLjFyZW0nIC8+XG4gICAgPC9idXR0b24+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvblByZXZpb3VzO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUNaLFNBQVNBLHlCQUF5QixRQUFRLDJCQUEyQjtBQUNyRSxTQUFTQyxXQUFXLFFBQVEsZ0JBQWdCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBQUEsU0FBQUMsSUFBQSxJQUFBQyxLQUFBO0FBTzdDLFNBQVNDLGNBQWNBLENBQUFDLElBQUEsRUFBc0M7RUFBQSxJQUFBQyxlQUFBLEdBQUFELElBQUEsQ0FBbkNFLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxlQUFBLGNBQUcsRUFBRSxHQUFBQSxlQUFBO0lBQUVFLE9BQU8sR0FBQUgsSUFBQSxDQUFQRyxPQUFPO0VBQ2hELElBQUFDLHFCQUFBLEdBS0lYLHlCQUF5QixDQUFDLENBQUM7SUFKN0JZLGNBQWMsR0FBQUQscUJBQUEsQ0FBZEMsY0FBYztJQUNkQyxvQ0FBb0MsR0FBQUYscUJBQUEsQ0FBcENFLG9DQUFvQztJQUNwQ0MsaUJBQWlCLEdBQUFILHFCQUFBLENBQWpCRyxpQkFBaUI7SUFDakJDLG9CQUFvQixHQUFBSixxQkFBQSxDQUFwQkksb0JBQW9CO0VBRXRCLG9CQUNFVixLQUFBO0lBQ0VXLFNBQVMsRUFBRUgsb0NBQW9DLEdBQUcsU0FBVTtJQUM1REgsT0FBTyxFQUNMQSxPQUFPLEdBQ0hBLE9BQU8sR0FDUCxZQUFNO01BQ0osSUFBSUUsY0FBYyxFQUFFO1FBQ2xCRSxpQkFBaUIsQ0FBQyxDQUFDRixjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztNQUM5QyxDQUFDLE1BQU07UUFDTEcsb0JBQW9CLENBQUMsQ0FBQztNQUN4QjtJQUNGLENBQ0w7SUFBQUUsUUFBQSxHQUVBUixVQUFVLGVBQ1hOLElBQUEsQ0FBQ0YsV0FBVztNQUFDaUIsUUFBUSxFQUFDO0lBQVEsQ0FBRSxDQUFDO0VBQUEsQ0FDM0IsQ0FBQztBQUViO0FBRUEsZUFBZVosY0FBYyJ9
@@ -0,0 +1,4 @@
1
+ import ButtonNext from './ButtonNext';
2
+ import ButtonPrevious from './ButtonPrevious';
3
+ export { ButtonNext, ButtonPrevious };
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdXR0b25OZXh0IiwiQnV0dG9uUHJldmlvdXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9idXR0b25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdXR0b25OZXh0IGZyb20gJy4vQnV0dG9uTmV4dCc7XG5pbXBvcnQgQnV0dG9uUHJldmlvdXMgZnJvbSAnLi9CdXR0b25QcmV2aW91cyc7XG5cbmV4cG9ydCB7IEJ1dHRvbk5leHQsIEJ1dHRvblByZXZpb3VzIH07XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVUsTUFBTSxjQUFjO0FBQ3JDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFFN0MsU0FBU0QsVUFBVSxFQUFFQyxjQUFjIn0=
@@ -0,0 +1,223 @@
1
+ export var currencyMap = {
2
+ ALL: 'L',
3
+ AFN: '؋',
4
+ ARS: '$',
5
+ AWG: 'ƒ',
6
+ AUD: '$',
7
+ AZN: '₼',
8
+ BSD: '$',
9
+ BBD: '$',
10
+ BYR: 'p.',
11
+ BZD: 'BZ$',
12
+ BMD: '$',
13
+ BOB: 'Bs.',
14
+ BAM: 'KM',
15
+ BWP: 'P',
16
+ BGN: 'лв',
17
+ BRL: 'R$',
18
+ BND: '$',
19
+ KHR: '៛',
20
+ CAD: '$',
21
+ KYD: '$',
22
+ CLP: '$',
23
+ CNY: '¥',
24
+ COP: '$',
25
+ CRC: '₡',
26
+ HRK: 'kn',
27
+ CUP: '₱',
28
+ CZK: 'Kč',
29
+ DKK: 'kr',
30
+ DOP: 'RD$',
31
+ XCD: '$',
32
+ EGP: '£',
33
+ SVC: '$',
34
+ EEK: 'kr',
35
+ EUR: '€',
36
+ FKP: '£',
37
+ FJD: '$',
38
+ GHC: '₵',
39
+ GIP: '£',
40
+ GTQ: 'Q',
41
+ GGP: '£',
42
+ GYD: '$',
43
+ HNL: 'L',
44
+ HKD: '$',
45
+ HUF: 'Ft',
46
+ ISK: 'kr',
47
+ INR: '₹',
48
+ IDR: 'Rp',
49
+ IRR: '﷼',
50
+ IMP: '£',
51
+ ILS: '₪',
52
+ JMD: '`J$',
53
+ JPY: '¥',
54
+ JEP: '£',
55
+ KES: 'KSh',
56
+ KZT: 'лв',
57
+ KPW: '₩',
58
+ KRW: '₩',
59
+ KGS: 'лв',
60
+ LAK: '₭',
61
+ LVL: 'Ls',
62
+ LBP: '£',
63
+ LRD: '$',
64
+ LTL: 'Lt',
65
+ MKD: 'ден',
66
+ MYR: 'RM',
67
+ MUR: '₨',
68
+ MXN: '$',
69
+ MNT: '₮',
70
+ MZN: 'MT',
71
+ NAD: '$',
72
+ NPR: '₨',
73
+ ANG: 'ƒ',
74
+ NZD: '$',
75
+ NIO: 'C$',
76
+ NGN: '₦',
77
+ NOK: 'kr',
78
+ OMR: '﷼',
79
+ PKR: '₨',
80
+ PAB: 'B/.',
81
+ PYG: 'Gs',
82
+ PEN: 'S/.',
83
+ PHP: '₱',
84
+ PLN: 'zł',
85
+ QAR: '﷼',
86
+ RON: 'lei',
87
+ RUB: '₽',
88
+ RMB: '¥',
89
+ SHP: '£',
90
+ SAR: '﷼',
91
+ RSD: 'Дин.',
92
+ SCR: '₨',
93
+ SGD: '$',
94
+ SBD: '$',
95
+ SOS: 'S',
96
+ ZAR: 'R',
97
+ LKR: '₨',
98
+ SEK: 'kr',
99
+ CHF: 'CHF',
100
+ SRD: '$',
101
+ SYP: '£',
102
+ TZS: 'TSh',
103
+ TWD: 'NT$',
104
+ THB: '฿',
105
+ TTD: 'TT$',
106
+ TRY: '₺',
107
+ TRL: '₤',
108
+ TVD: '$',
109
+ UGX: 'USh',
110
+ UAH: '₴',
111
+ GBP: '£',
112
+ USD: '$',
113
+ UYU: '$U',
114
+ UZS: 'лв',
115
+ VEF: 'Bs',
116
+ VND: '₫',
117
+ YER: '﷼',
118
+ ZWD: 'Z$'
119
+ };
120
+ export function formatCurrency(amount, options) {
121
+ /*
122
+ * Example usage:
123
+ formatCurrency(-222.123456, {currency: 'EGP',
124
+ showCodeIfNoSymbol: true,
125
+ financialNegative: true,
126
+ decimalPlaces: 3})
127
+ --> '(£222.123)'
128
+ */
129
+
130
+ var symbol;
131
+ var negative = false;
132
+ var result;
133
+ options = options || {};
134
+ options.currency = options.currency || 'AUD';
135
+ options.showCodeIfNoSymbol = options.showCodeIfNoSymbol || true;
136
+ options.symbolAfterAmount = options.symbolAfterAmount || false;
137
+ options.financialNegative = options.financialNegative || false;
138
+ options.codeAfterSymbol = options.codeAfterSymbol || false;
139
+ options.codeBeforeSymbol = options.codeBeforeSymbol || false;
140
+ options.spaceBetweenSymbol = options.spaceBetweenSymbol || false;
141
+ options.decimalPlaces = options.decimalPlaces || 2;
142
+ options.decimalSeperator = options.decimalSeperator || '.';
143
+ options.codeAfterAmount = options.codeAfterAmount || false;
144
+ if (amount < 0.0) {
145
+ negative = true;
146
+ amount *= -1.0; // eslint-disable-line
147
+ }
148
+ if (Object.prototype.hasOwnProperty.call(currencyMap, options.currency)) {
149
+ symbol = currencyMap[options.currency];
150
+ if (options.codeAfterSymbol) {
151
+ symbol += '(' + options.currency + ') ';
152
+ }
153
+ if (options.codeBeforeSymbol) {
154
+ symbol = "(".concat(options.currency, ") ").concat(symbol);
155
+ }
156
+ } else if (options.showCodeIfNoSymbol) {
157
+ symbol = options.currency;
158
+ } else {
159
+ symbol = '';
160
+ }
161
+ amount = amount.toFixed(options.decimalPlaces);
162
+ amount = amount.replace('.', options.decimalSeperator);
163
+ if (options.symbolAfterAmount) {
164
+ result = amount;
165
+ if (options.spaceBetweenSymbol) {
166
+ result += ' ';
167
+ }
168
+ result += symbol;
169
+ } else {
170
+ result = symbol;
171
+ if (options.spaceBetweenSymbol) {
172
+ result += ' ';
173
+ }
174
+ result += amount;
175
+ }
176
+ if (negative) {
177
+ if (options.financialNegative) {
178
+ result = "(".concat(result, ")");
179
+ } else {
180
+ result = "-".concat(result);
181
+ }
182
+ }
183
+ if (options.codeAfterAmount === true) {
184
+ result += " (".concat(options.currency, ")");
185
+ }
186
+ return result;
187
+ }
188
+ function taxPercent(tax) {
189
+ return tax ? "(".concat(tax.taxPercent, "%)") : '';
190
+ }
191
+ function includesTax(tax) {
192
+ return tax && tax.taxPercent > 0 ? " inc ".concat(tax.taxName, " ").concat(taxPercent(tax)) : '';
193
+ }
194
+ export function calculateTotalWithTax(total, tax) {
195
+ var taxMultiplier = 1.0;
196
+ if (tax && tax.taxPercent > 0) {
197
+ taxMultiplier += tax.taxPercent / 100;
198
+ taxMultiplier = parseFloat(taxMultiplier.toFixed(2));
199
+ }
200
+ var grandTotal = total * taxMultiplier;
201
+ return parseFloat(grandTotal.toFixed(2));
202
+ }
203
+ export function currencyTaxAndCost(currency, tax, theCost) {
204
+ var currencyOptions = {
205
+ currency: currency,
206
+ showCodeIfNoSymbol: false
207
+ };
208
+ var totalCost = calculateTotalWithTax(theCost, tax);
209
+ var withCurrency = formatCurrency(totalCost, currencyOptions);
210
+ return "".concat(currency, " ").concat(withCurrency, " ").concat(includesTax(tax));
211
+ }
212
+ export function currencyTotalCostShowIncTax(job) {
213
+ var currency = job.currency,
214
+ taxType = job.taxType,
215
+ totalCost = job.totalCost;
216
+ var currencyOptions = {
217
+ currency: currency,
218
+ showCodeIfNoSymbol: false
219
+ };
220
+ var withCurrency = formatCurrency(totalCost ? totalCost : 0, currencyOptions);
221
+ return "".concat(currency, " ").concat(withCurrency, " ").concat(includesTax(taxType));
222
+ }
223
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW5jeU1hcCIsIkFMTCIsIkFGTiIsIkFSUyIsIkFXRyIsIkFVRCIsIkFaTiIsIkJTRCIsIkJCRCIsIkJZUiIsIkJaRCIsIkJNRCIsIkJPQiIsIkJBTSIsIkJXUCIsIkJHTiIsIkJSTCIsIkJORCIsIktIUiIsIkNBRCIsIktZRCIsIkNMUCIsIkNOWSIsIkNPUCIsIkNSQyIsIkhSSyIsIkNVUCIsIkNaSyIsIkRLSyIsIkRPUCIsIlhDRCIsIkVHUCIsIlNWQyIsIkVFSyIsIkVVUiIsIkZLUCIsIkZKRCIsIkdIQyIsIkdJUCIsIkdUUSIsIkdHUCIsIkdZRCIsIkhOTCIsIkhLRCIsIkhVRiIsIklTSyIsIklOUiIsIklEUiIsIklSUiIsIklNUCIsIklMUyIsIkpNRCIsIkpQWSIsIkpFUCIsIktFUyIsIktaVCIsIktQVyIsIktSVyIsIktHUyIsIkxBSyIsIkxWTCIsIkxCUCIsIkxSRCIsIkxUTCIsIk1LRCIsIk1ZUiIsIk1VUiIsIk1YTiIsIk1OVCIsIk1aTiIsIk5BRCIsIk5QUiIsIkFORyIsIk5aRCIsIk5JTyIsIk5HTiIsIk5PSyIsIk9NUiIsIlBLUiIsIlBBQiIsIlBZRyIsIlBFTiIsIlBIUCIsIlBMTiIsIlFBUiIsIlJPTiIsIlJVQiIsIlJNQiIsIlNIUCIsIlNBUiIsIlJTRCIsIlNDUiIsIlNHRCIsIlNCRCIsIlNPUyIsIlpBUiIsIkxLUiIsIlNFSyIsIkNIRiIsIlNSRCIsIlNZUCIsIlRaUyIsIlRXRCIsIlRIQiIsIlRURCIsIlRSWSIsIlRSTCIsIlRWRCIsIlVHWCIsIlVBSCIsIkdCUCIsIlVTRCIsIlVZVSIsIlVaUyIsIlZFRiIsIlZORCIsIllFUiIsIlpXRCIsImZvcm1hdEN1cnJlbmN5IiwiYW1vdW50Iiwib3B0aW9ucyIsInN5bWJvbCIsIm5lZ2F0aXZlIiwicmVzdWx0IiwiY3VycmVuY3kiLCJzaG93Q29kZUlmTm9TeW1ib2wiLCJzeW1ib2xBZnRlckFtb3VudCIsImZpbmFuY2lhbE5lZ2F0aXZlIiwiY29kZUFmdGVyU3ltYm9sIiwiY29kZUJlZm9yZVN5bWJvbCIsInNwYWNlQmV0d2VlblN5bWJvbCIsImRlY2ltYWxQbGFjZXMiLCJkZWNpbWFsU2VwZXJhdG9yIiwiY29kZUFmdGVyQW1vdW50IiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiY29uY2F0IiwidG9GaXhlZCIsInJlcGxhY2UiLCJ0YXhQZXJjZW50IiwidGF4IiwiaW5jbHVkZXNUYXgiLCJ0YXhOYW1lIiwiY2FsY3VsYXRlVG90YWxXaXRoVGF4IiwidG90YWwiLCJ0YXhNdWx0aXBsaWVyIiwicGFyc2VGbG9hdCIsImdyYW5kVG90YWwiLCJjdXJyZW5jeVRheEFuZENvc3QiLCJ0aGVDb3N0IiwiY3VycmVuY3lPcHRpb25zIiwidG90YWxDb3N0Iiwid2l0aEN1cnJlbmN5IiwiY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4Iiwiam9iIiwidGF4VHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2N1cnJlbmN5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBjdXJyZW5jeU1hcDogYW55ID1cbiAge0FMTDogJ0wnLFxuICAgIEFGTjogJ9iLJyxcbiAgICBBUlM6ICckJyxcbiAgICBBV0c6ICfGkicsXG4gICAgQVVEOiAnJCcsXG4gICAgQVpOOiAn4oK8JyxcbiAgICBCU0Q6ICckJyxcbiAgICBCQkQ6ICckJyxcbiAgICBCWVI6ICdwLicsXG4gICAgQlpEOiAnQlokJyxcbiAgICBCTUQ6ICckJyxcbiAgICBCT0I6ICdCcy4nLFxuICAgIEJBTTogJ0tNJyxcbiAgICBCV1A6ICdQJyxcbiAgICBCR046ICfQu9CyJyxcbiAgICBCUkw6ICdSJCcsXG4gICAgQk5EOiAnJCcsXG4gICAgS0hSOiAn4Z+bJyxcbiAgICBDQUQ6ICckJyxcbiAgICBLWUQ6ICckJyxcbiAgICBDTFA6ICckJyxcbiAgICBDTlk6ICfCpScsXG4gICAgQ09QOiAnJCcsXG4gICAgQ1JDOiAn4oKhJyxcbiAgICBIUks6ICdrbicsXG4gICAgQ1VQOiAn4oKxJyxcbiAgICBDWks6ICdLxI0nLFxuICAgIERLSzogJ2tyJyxcbiAgICBET1A6ICdSRCQnLFxuICAgIFhDRDogJyQnLFxuICAgIEVHUDogJ8KjJyxcbiAgICBTVkM6ICckJyxcbiAgICBFRUs6ICdrcicsXG4gICAgRVVSOiAn4oKsJyxcbiAgICBGS1A6ICfCoycsXG4gICAgRkpEOiAnJCcsXG4gICAgR0hDOiAn4oK1JyxcbiAgICBHSVA6ICfCoycsXG4gICAgR1RROiAnUScsXG4gICAgR0dQOiAnwqMnLFxuICAgIEdZRDogJyQnLFxuICAgIEhOTDogJ0wnLFxuICAgIEhLRDogJyQnLFxuICAgIEhVRjogJ0Z0JyxcbiAgICBJU0s6ICdrcicsXG4gICAgSU5SOiAn4oK5JyxcbiAgICBJRFI6ICdScCcsXG4gICAgSVJSOiAn77e8JyxcbiAgICBJTVA6ICfCoycsXG4gICAgSUxTOiAn4oKqJyxcbiAgICBKTUQ6ICdgSiQnLFxuICAgIEpQWTogJ8KlJyxcbiAgICBKRVA6ICfCoycsXG4gICAgS0VTOiAnS1NoJyxcbiAgICBLWlQ6ICfQu9CyJyxcbiAgICBLUFc6ICfigqknLFxuICAgIEtSVzogJ+KCqScsXG4gICAgS0dTOiAn0LvQsicsXG4gICAgTEFLOiAn4oKtJyxcbiAgICBMVkw6ICdMcycsXG4gICAgTEJQOiAnwqMnLFxuICAgIExSRDogJyQnLFxuICAgIExUTDogJ0x0JyxcbiAgICBNS0Q6ICfQtNC10L0nLFxuICAgIE1ZUjogJ1JNJyxcbiAgICBNVVI6ICfigqgnLFxuICAgIE1YTjogJyQnLFxuICAgIE1OVDogJ+KCricsXG4gICAgTVpOOiAnTVQnLFxuICAgIE5BRDogJyQnLFxuICAgIE5QUjogJ+KCqCcsXG4gICAgQU5HOiAnxpInLFxuICAgIE5aRDogJyQnLFxuICAgIE5JTzogJ0MkJyxcbiAgICBOR046ICfigqYnLFxuICAgIE5PSzogJ2tyJyxcbiAgICBPTVI6ICfvt7wnLFxuICAgIFBLUjogJ+KCqCcsXG4gICAgUEFCOiAnQi8uJyxcbiAgICBQWUc6ICdHcycsXG4gICAgUEVOOiAnUy8uJyxcbiAgICBQSFA6ICfigrEnLFxuICAgIFBMTjogJ3rFgicsXG4gICAgUUFSOiAn77e8JyxcbiAgICBST046ICdsZWknLFxuICAgIFJVQjogJ+KCvScsXG4gICAgUk1COiAn77+lJyxcbiAgICBTSFA6ICfCoycsXG4gICAgU0FSOiAn77e8JyxcbiAgICBSU0Q6ICfQlNC40L0uJyxcbiAgICBTQ1I6ICfigqgnLFxuICAgIFNHRDogJyQnLFxuICAgIFNCRDogJyQnLFxuICAgIFNPUzogJ1MnLFxuICAgIFpBUjogJ1InLFxuICAgIExLUjogJ+KCqCcsXG4gICAgU0VLOiAna3InLFxuICAgIENIRjogJ0NIRicsXG4gICAgU1JEOiAnJCcsXG4gICAgU1lQOiAnwqMnLFxuICAgIFRaUzogJ1RTaCcsXG4gICAgVFdEOiAnTlQkJyxcbiAgICBUSEI6ICfguL8nLFxuICAgIFRURDogJ1RUJCcsXG4gICAgVFJZOiAn4oK6JyxcbiAgICBUUkw6ICfigqQnLFxuICAgIFRWRDogJyQnLFxuICAgIFVHWDogJ1VTaCcsXG4gICAgVUFIOiAn4oK0JyxcbiAgICBHQlA6ICfCoycsXG4gICAgVVNEOiAnJCcsXG4gICAgVVlVOiAnJFUnLFxuICAgIFVaUzogJ9C70LInLFxuICAgIFZFRjogJ0JzJyxcbiAgICBWTkQ6ICfigqsnLFxuICAgIFlFUjogJ++3vCcsXG4gICAgWldEOiAnWiQnfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEN1cnJlbmN5KGFtb3VudDogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgLypcbiAgICAqICAgRXhhbXBsZSB1c2FnZTpcblxuICAgICAgICAgICAgZm9ybWF0Q3VycmVuY3koLTIyMi4xMjM0NTYsIHtjdXJyZW5jeTogJ0VHUCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2RlSWZOb1N5bWJvbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYW5jaWFsTmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxQbGFjZXM6IDN9KVxuXG4gICAgICAgICAgICAtLT4gJyjCozIyMi4xMjMpJ1xuICAgICovXG5cbiAgbGV0IHN5bWJvbDtcbiAgbGV0IG5lZ2F0aXZlID0gZmFsc2U7XG4gIGxldCByZXN1bHQ7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBvcHRpb25zLmN1cnJlbmN5ID0gb3B0aW9ucy5jdXJyZW5jeSB8fCAnQVVEJztcbiAgb3B0aW9ucy5zaG93Q29kZUlmTm9TeW1ib2wgPSBvcHRpb25zLnNob3dDb2RlSWZOb1N5bWJvbCB8fCB0cnVlO1xuICBvcHRpb25zLnN5bWJvbEFmdGVyQW1vdW50ID0gb3B0aW9ucy5zeW1ib2xBZnRlckFtb3VudCB8fCBmYWxzZTtcbiAgb3B0aW9ucy5maW5hbmNpYWxOZWdhdGl2ZSA9IG9wdGlvbnMuZmluYW5jaWFsTmVnYXRpdmUgfHwgZmFsc2U7XG4gIG9wdGlvbnMuY29kZUFmdGVyU3ltYm9sID0gb3B0aW9ucy5jb2RlQWZ0ZXJTeW1ib2wgfHwgZmFsc2U7XG4gIG9wdGlvbnMuY29kZUJlZm9yZVN5bWJvbCA9IG9wdGlvbnMuY29kZUJlZm9yZVN5bWJvbCB8fCBmYWxzZTtcbiAgb3B0aW9ucy5zcGFjZUJldHdlZW5TeW1ib2wgPSBvcHRpb25zLnNwYWNlQmV0d2VlblN5bWJvbCB8fCBmYWxzZTtcbiAgb3B0aW9ucy5kZWNpbWFsUGxhY2VzID0gb3B0aW9ucy5kZWNpbWFsUGxhY2VzIHx8IDI7XG4gIG9wdGlvbnMuZGVjaW1hbFNlcGVyYXRvciA9IG9wdGlvbnMuZGVjaW1hbFNlcGVyYXRvciB8fCAnLic7XG4gIG9wdGlvbnMuY29kZUFmdGVyQW1vdW50ID0gb3B0aW9ucy5jb2RlQWZ0ZXJBbW91bnQgfHwgZmFsc2U7XG4gIGlmIChhbW91bnQgPCAwLjApIHtcbiAgICBuZWdhdGl2ZSA9IHRydWU7XG4gICAgICAgIGFtb3VudCAqPSAtMS4wOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gIH1cbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjdXJyZW5jeU1hcCwgb3B0aW9ucy5jdXJyZW5jeSkpIHtcbiAgICBzeW1ib2wgPSBjdXJyZW5jeU1hcFtvcHRpb25zLmN1cnJlbmN5XTtcbiAgICBpZiAob3B0aW9ucy5jb2RlQWZ0ZXJTeW1ib2wpIHtcbiAgICAgIHN5bWJvbCArPSAnKCcgKyBvcHRpb25zLmN1cnJlbmN5ICsgJykgJztcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuY29kZUJlZm9yZVN5bWJvbCkge1xuICAgICAgc3ltYm9sID0gYCgke29wdGlvbnMuY3VycmVuY3l9KSAke3N5bWJvbH1gO1xuICAgIH1cbiAgfSBlbHNlIGlmIChvcHRpb25zLnNob3dDb2RlSWZOb1N5bWJvbCkge1xuICAgIHN5bWJvbCA9IG9wdGlvbnMuY3VycmVuY3k7XG4gIH0gZWxzZSB7XG4gICAgc3ltYm9sID0gJyc7XG4gIH1cbiAgICBhbW91bnQgPSBhbW91bnQudG9GaXhlZChvcHRpb25zLmRlY2ltYWxQbGFjZXMpO1xuICAgIGFtb3VudCA9IGFtb3VudC5yZXBsYWNlKCcuJywgb3B0aW9ucy5kZWNpbWFsU2VwZXJhdG9yKTtcbiAgaWYgKG9wdGlvbnMuc3ltYm9sQWZ0ZXJBbW91bnQpIHtcbiAgICByZXN1bHQgPSBhbW91bnQ7XG4gICAgaWYgKG9wdGlvbnMuc3BhY2VCZXR3ZWVuU3ltYm9sKSB7XG4gICAgICByZXN1bHQgKz0gJyAnO1xuICAgIH1cbiAgICByZXN1bHQgKz0gc3ltYm9sO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IHN5bWJvbDtcbiAgICBpZiAob3B0aW9ucy5zcGFjZUJldHdlZW5TeW1ib2wpIHtcbiAgICAgIHJlc3VsdCArPSAnICc7XG4gICAgfVxuICAgIHJlc3VsdCArPSBhbW91bnQ7XG4gIH1cbiAgaWYgKG5lZ2F0aXZlKSB7XG4gICAgaWYgKG9wdGlvbnMuZmluYW5jaWFsTmVnYXRpdmUpIHtcbiAgICAgIHJlc3VsdCA9IGAoJHtyZXN1bHR9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGAtJHtyZXN1bHR9YDtcbiAgICB9XG4gIH1cbiAgaWYgKG9wdGlvbnMuY29kZUFmdGVyQW1vdW50ID09PSB0cnVlKSB7XG4gICAgcmVzdWx0ICs9IGAgKCR7b3B0aW9ucy5jdXJyZW5jeX0pYDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB0YXhQZXJjZW50KHRheDogYW55KSB7XG4gIHJldHVybiB0YXggPyBgKCR7dGF4LnRheFBlcmNlbnR9JSlgIDogJyc7XG59XG5cbmZ1bmN0aW9uIGluY2x1ZGVzVGF4KHRheDogYW55KSB7XG4gIHJldHVybiB0YXggJiYgdGF4LnRheFBlcmNlbnQgPiAwID9cbiAgICBgIGluYyAke3RheC50YXhOYW1lfSAke3RheFBlcmNlbnQodGF4KX1gIDogJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVUb3RhbFdpdGhUYXgodG90YWw6IG51bWJlciwgdGF4OiBhbnkpIHtcbiAgbGV0IHRheE11bHRpcGxpZXIgPSAxLjA7XG4gIGlmICh0YXggJiYgdGF4LnRheFBlcmNlbnQgPiAwKSB7XG4gICAgdGF4TXVsdGlwbGllciArPSB0YXgudGF4UGVyY2VudCAvIDEwMDtcbiAgICB0YXhNdWx0aXBsaWVyID0gcGFyc2VGbG9hdCh0YXhNdWx0aXBsaWVyLnRvRml4ZWQoMikpO1xuICB9XG4gIGxldCBncmFuZFRvdGFsID0gdG90YWwgKiB0YXhNdWx0aXBsaWVyO1xuICByZXR1cm4gcGFyc2VGbG9hdChncmFuZFRvdGFsLnRvRml4ZWQoMikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VycmVuY3lUYXhBbmRDb3N0KGN1cnJlbmN5OiBzdHJpbmcsIHRheDogYW55LCB0aGVDb3N0OiBudW1iZXIpIHtcbiAgY29uc3QgY3VycmVuY3lPcHRpb25zID0ge2N1cnJlbmN5OiBjdXJyZW5jeSwgc2hvd0NvZGVJZk5vU3ltYm9sOiBmYWxzZX07XG4gIGNvbnN0IHRvdGFsQ29zdCA9IGNhbGN1bGF0ZVRvdGFsV2l0aFRheCh0aGVDb3N0LCB0YXgpO1xuICBjb25zdCB3aXRoQ3VycmVuY3kgPSBmb3JtYXRDdXJyZW5jeSh0b3RhbENvc3QsIGN1cnJlbmN5T3B0aW9ucyk7XG4gIHJldHVybiBgJHtjdXJyZW5jeX0gJHt3aXRoQ3VycmVuY3l9ICR7aW5jbHVkZXNUYXgodGF4KX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4KGpvYjogYW55KSB7XG4gIGNvbnN0IHsgY3VycmVuY3ksIHRheFR5cGUsIHRvdGFsQ29zdCB9ID0gam9iO1xuICBjb25zdCBjdXJyZW5jeU9wdGlvbnMgPSB7Y3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2V9O1xuICBjb25zdCB3aXRoQ3VycmVuY3kgPSBmb3JtYXRDdXJyZW5jeShcbiAgICB0b3RhbENvc3QgPyB0b3RhbENvc3QgOiAwLFxuICAgIGN1cnJlbmN5T3B0aW9uc1xuICApO1xuICByZXR1cm4gYCR7Y3VycmVuY3l9ICR7d2l0aEN1cnJlbmN5fSAke2luY2x1ZGVzVGF4KHRheFR5cGUpfWA7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBTUEsV0FBZ0IsR0FDM0I7RUFBQ0MsR0FBRyxFQUFFLEdBQUc7RUFDUEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLE1BQU07RUFDWEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMs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
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { jsxs as _jsxs } from "react/jsx-runtime";
5
+ export default function CheckboxBillingAddressSameAsShippingAddress(_ref) {
6
+ var billingAddressSameAsShippingAddress = _ref.billingAddressSameAsShippingAddress,
7
+ setBillingAddressSameAsShippingAddress = _ref.setBillingAddressSameAsShippingAddress;
8
+ function toggleBillingAddressSameAsShippingAddress() {
9
+ setBillingAddressSameAsShippingAddress(!billingAddressSameAsShippingAddress);
10
+ }
11
+ return /*#__PURE__*/_jsx("div", {
12
+ className: "checkbox cursor-pointer mb-4",
13
+ children: /*#__PURE__*/_jsxs("label", {
14
+ children: [/*#__PURE__*/_jsx("input", {
15
+ className: "mr-2 me-2",
16
+ type: "checkbox",
17
+ defaultChecked: billingAddressSameAsShippingAddress,
18
+ onChange: toggleBillingAddressSameAsShippingAddress
19
+ }), "Billing address is the same as delivery address"]
20
+ })
21
+ });
22
+ }
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hlY2tib3hCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcyIsIl9yZWYiLCJiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcyIsInNldEJpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmdBZGRyZXNzIiwidG9nZ2xlQmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3MiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsInR5cGUiLCJkZWZhdWx0Q2hlY2tlZCIsIm9uQ2hhbmdlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZm9ybXMvQ2hlY2tib3hCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzczogYm9vbGVhbjtcbiAgc2V0QmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3M6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hlY2tib3hCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcyh7XG4gIGJpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmdBZGRyZXNzLFxuICBzZXRCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzc1xufTogUHJvcHMpIHtcbiAgZnVuY3Rpb24gdG9nZ2xlQmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3MoKSB7XG4gICAgc2V0QmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3MoIWJpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmdBZGRyZXNzKTtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdjaGVja2JveCBjdXJzb3ItcG9pbnRlciBtYi00Jz5cbiAgICAgIDxsYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPSdtci0yIG1lLTInXG4gICAgICAgICAgdHlwZT0nY2hlY2tib3gnXG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2JpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmdBZGRyZXNzfVxuICAgICAgICAgIG9uQ2hhbmdlPXt0b2dnbGVCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzc31cbiAgICAgICAgLz5cbiAgICAgICAgQmlsbGluZyBhZGRyZXNzIGlzIHRoZSBzYW1lIGFzIGRlbGl2ZXJ5IGFkZHJlc3NcbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsR0FBQSxJQUFBQyxJQUFBO0FBQUEsU0FBQUMsSUFBQSxJQUFBQyxLQUFBO0FBT2IsZUFBZSxTQUFTQywyQ0FBMkNBLENBQUFDLElBQUEsRUFHekQ7RUFBQSxJQUZSQyxtQ0FBbUMsR0FBQUQsSUFBQSxDQUFuQ0MsbUNBQW1DO0lBQ25DQyxzQ0FBc0MsR0FBQUYsSUFBQSxDQUF0Q0Usc0NBQXNDO0VBRXRDLFNBQVNDLHlDQUF5Q0EsQ0FBQSxFQUFHO0lBQ25ERCxzQ0FBc0MsQ0FBQyxDQUFDRCxtQ0FBbUMsQ0FBQztFQUM5RTtFQUNBLG9CQUNFTCxJQUFBO0lBQUtRLFNBQVMsRUFBQyw4QkFBOEI7SUFBQUMsUUFBQSxlQUMzQ1AsS0FBQTtNQUFBTyxRQUFBLGdCQUNFVCxJQUFBO1FBQ0VRLFNBQVMsRUFBQyxXQUFXO1FBQ3JCRSxJQUFJLEVBQUMsVUFBVTtRQUNmQyxjQUFjLEVBQUVOLG1DQUFvQztRQUNwRE8sUUFBUSxFQUFFTDtNQUEwQyxDQUNyRCxDQUFDLG1EQUVKO0lBQUEsQ0FBTztFQUFDLENBQ0wsQ0FBQztBQUVWIn0=
@@ -0,0 +1,200 @@
1
+ 'use client';
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
5
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
6
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ import { debounce } from 'lodash';
19
+ import { useState } from 'react';
20
+ import { useForm } from 'react-hook-form';
21
+ import { useMerchiCheckboutContext } from '../MerchiCheckoutProvider';
22
+ import InputsAddress from './InputsAddress';
23
+ import CheckboxBillingAddressSameAsShippingAddress from './CheckboxBillingAddressSameAsShippingAddress';
24
+ import { fetchShippingOptions } from '../../actions/shipping';
25
+ import InputError from './InputError';
26
+ import { ListShipmentQuoteOptions } from '../lists';
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ import { Fragment as _Fragment } from "react/jsx-runtime";
30
+ var ShippingAddressInputs = function ShippingAddressInputs(props) {
31
+ return /*#__PURE__*/_jsx(InputsAddress, _objectSpread(_objectSpread({}, props), {}, {
32
+ name: "shippingAddress"
33
+ }));
34
+ };
35
+ var BillingAddressInputs = function BillingAddressInputs(props) {
36
+ return /*#__PURE__*/_jsx(InputsAddress, _objectSpread(_objectSpread({}, props), {}, {
37
+ name: "billingAddress"
38
+ }));
39
+ };
40
+ function FormAddresses(_ref) {
41
+ var formId = _ref.formId;
42
+ var _useMerchiCheckboutCo = useMerchiCheckboutContext(),
43
+ job = _useMerchiCheckboutCo.job,
44
+ nextTab = _useMerchiCheckboutCo.nextTab,
45
+ setJob = _useMerchiCheckboutCo.setJob;
46
+ var _useState = useState(true),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ billingAddressSameAsShippingAddress = _useState2[0],
49
+ setBillingAddressSameAsShippingAddress = _useState2[1];
50
+ var _useState3 = useState(false),
51
+ _useState4 = _slicedToArray(_useState3, 2),
52
+ loading = _useState4[0],
53
+ setLoading = _useState4[1];
54
+ var _useState5 = useState(null),
55
+ _useState6 = _slicedToArray(_useState5, 2),
56
+ error = _useState6[0],
57
+ setError = _useState6[1];
58
+ var _useState7 = useState([]),
59
+ _useState8 = _slicedToArray(_useState7, 2),
60
+ shipmentOptions = _useState8[0],
61
+ setShipmentOptions = _useState8[1];
62
+ var hookForm = useForm();
63
+ var errors = hookForm.formState.errors,
64
+ getValues = hookForm.getValues,
65
+ handleSubmit = hookForm.handleSubmit,
66
+ reset = hookForm.reset;
67
+ var debouncedFetchShippingOptions = debounce( /*#__PURE__*/function () {
68
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(address) {
69
+ var r, shipmentsJson;
70
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
71
+ while (1) switch (_context.prev = _context.next) {
72
+ case 0:
73
+ _context.prev = 0;
74
+ onSelectShipment(null);
75
+ setError(null);
76
+ setLoading(true);
77
+ _context.next = 6;
78
+ return fetchShippingOptions(address, job);
79
+ case 6:
80
+ r = _context.sent;
81
+ if (!r.ok) {
82
+ _context.next = 14;
83
+ break;
84
+ }
85
+ _context.next = 10;
86
+ return r.json();
87
+ case 10:
88
+ shipmentsJson = _context.sent;
89
+ setShipmentOptions(shipmentsJson.shipments);
90
+ _context.next = 15;
91
+ break;
92
+ case 14:
93
+ setError({
94
+ message: 'Unable to fetch shipment options'
95
+ });
96
+ case 15:
97
+ setLoading(false);
98
+ _context.next = 22;
99
+ break;
100
+ case 18:
101
+ _context.prev = 18;
102
+ _context.t0 = _context["catch"](0);
103
+ setError(_context.t0);
104
+ setLoading(false);
105
+ case 22:
106
+ case "end":
107
+ return _context.stop();
108
+ }
109
+ }, _callee, null, [[0, 18]]);
110
+ }));
111
+ return function (_x) {
112
+ return _ref2.apply(this, arguments);
113
+ };
114
+ }(), 1000);
115
+ function _updateAddress2(_x2, _x3, _x4) {
116
+ return _updateAddress.apply(this, arguments);
117
+ }
118
+ function _updateAddress() {
119
+ _updateAddress = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, fetch, address) {
120
+ var values;
121
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
122
+ while (1) switch (_context2.prev = _context2.next) {
123
+ case 0:
124
+ values = getValues();
125
+ values[name] = address;
126
+ reset(values);
127
+ if (fetch) {
128
+ debouncedFetchShippingOptions(address);
129
+ }
130
+ case 4:
131
+ case "end":
132
+ return _context2.stop();
133
+ }
134
+ }, _callee2);
135
+ }));
136
+ return _updateAddress.apply(this, arguments);
137
+ }
138
+ function onSelectShipment(shipment) {
139
+ setJob(_objectSpread(_objectSpread({}, job), {}, {
140
+ shipment: shipment
141
+ }));
142
+ }
143
+ function onSubmit(_x5) {
144
+ return _onSubmit.apply(this, arguments);
145
+ }
146
+ function _onSubmit() {
147
+ _onSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(values) {
148
+ var address, newJob;
149
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
150
+ while (1) switch (_context3.prev = _context3.next) {
151
+ case 0:
152
+ address = values.shippingAddress;
153
+ newJob = _objectSpread({}, job);
154
+ newJob.shipping = address;
155
+ newJob.billing = billingAddressSameAsShippingAddress ? address : values.billingAddress;
156
+ setJob(newJob);
157
+ nextTab();
158
+ case 6:
159
+ case "end":
160
+ return _context3.stop();
161
+ }
162
+ }, _callee3);
163
+ }));
164
+ return _onSubmit.apply(this, arguments);
165
+ }
166
+ return /*#__PURE__*/_jsx(_Fragment, {
167
+ children: /*#__PURE__*/_jsxs("form", {
168
+ id: formId,
169
+ onSubmit: handleSubmit(onSubmit),
170
+ children: [/*#__PURE__*/_jsx(ShippingAddressInputs, {
171
+ defaultAddress: job.shipping,
172
+ hookForm: hookForm,
173
+ name: "shippingAddress",
174
+ updateAddress: function updateAddress(addr) {
175
+ return _updateAddress2('shippingAddress', true, addr);
176
+ }
177
+ }), /*#__PURE__*/_jsx(CheckboxBillingAddressSameAsShippingAddress, {
178
+ billingAddressSameAsShippingAddress: billingAddressSameAsShippingAddress,
179
+ setBillingAddressSameAsShippingAddress: setBillingAddressSameAsShippingAddress
180
+ }), !billingAddressSameAsShippingAddress && /*#__PURE__*/_jsx(BillingAddressInputs, {
181
+ defaultAddress: job.billing,
182
+ hookForm: hookForm,
183
+ labelGeoSuggest: "Billing Address",
184
+ name: "billingAddress",
185
+ updateAddress: function updateAddress(addr) {
186
+ return _updateAddress2('billingAddress', false, addr);
187
+ }
188
+ }), /*#__PURE__*/_jsx(InputError, {
189
+ error: error || {}
190
+ }), /*#__PURE__*/_jsx(ListShipmentQuoteOptions, {
191
+ doSelectShipmentOption: onSelectShipment,
192
+ loading: loading,
193
+ selectedOption: job.shipment,
194
+ shipmentOptions: shipmentOptions
195
+ })]
196
+ })
197
+ });
198
+ }
199
+ export default FormAddresses;
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwibiIsImhhc093blByb3BlcnR5IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJhIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImlzQXJyYXkiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJ0b1ByaW1pdGl2ZSIsIk51bWJlciIsImRlYm91bmNlIiwidXNlU3RhdGUiLCJ1c2VGb3JtIiwidXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCIsIklucHV0c0FkZHJlc3MiLCJDaGVja2JveEJpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmdBZGRyZXNzIiwiZmV0Y2hTaGlwcGluZ09wdGlvbnMiLCJJbnB1dEVycm9yIiwiTGlzdFNoaXBtZW50UXVvdGVPcHRpb25zIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiU2hpcHBpbmdBZGRyZXNzSW5wdXRzIiwicHJvcHMiLCJCaWxsaW5nQWRkcmVzc0lucHV0cyIsIkZvcm1BZGRyZXNzZXMiLCJfcmVmIiwiZm9ybUlkIiwiX3VzZU1lcmNoaUNoZWNrYm91dENvIiwiam9iIiwibmV4dFRhYiIsInNldEpvYiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcyIsInNldEJpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmdBZGRyZXNzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2V0RXJyb3IiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNoaXBtZW50T3B0aW9ucyIsInNldFNoaXBtZW50T3B0aW9ucyIsImhvb2tGb3JtIiwiZXJyb3JzIiwiZm9ybVN0YXRlIiwiZ2V0VmFsdWVzIiwiaGFuZGxlU3VibWl0IiwiZGVib3VuY2VkRmV0Y2hTaGlwcGluZ09wdGlvbnMiLCJfcmVmMiIsIl9jYWxsZWUiLCJhZGRyZXNzIiwic2hpcG1lbnRzSnNvbiIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJvblNlbGVjdFNoaXBtZW50Iiwib2siLCJqc29uIiwic2hpcG1lbnRzIiwibWVzc2FnZSIsInQwIiwiX3giLCJ1cGRhdGVBZGRyZXNzIiwiX3gyIiwiX3gzIiwiX3g0IiwiX3VwZGF0ZUFkZHJlc3MiLCJfY2FsbGVlMiIsImZldGNoIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwic2hpcG1lbnQiLCJvblN1Ym1pdCIsIl94NSIsIl9vblN1Ym1pdCIsIl9jYWxsZWUzIiwibmV3Sm9iIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwic2hpcHBpbmdBZGRyZXNzIiwic2hpcHBpbmciLCJiaWxsaW5nIiwiYmlsbGluZ0FkZHJlc3MiLCJjaGlsZHJlbiIsImlkIiwiZGVmYXVsdEFkZHJlc3MiLCJhZGRyIiwibGFiZWxHZW9TdWdnZXN0IiwiZG9TZWxlY3RTaGlwbWVudE9wdGlvbiIsInNlbGVjdGVkT3B0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZm9ybXMvRm9ybUFkZHJlc3Nlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQgfSBmcm9tICcuLi9NZXJjaGlDaGVja291dFByb3ZpZGVyJztcbmltcG9ydCBJbnB1dHNBZGRyZXNzIGZyb20gJy4vSW5wdXRzQWRkcmVzcyc7XG5pbXBvcnQgQ2hlY2tib3hCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcyBmcm9tICcuL0NoZWNrYm94QmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3MnO1xuaW1wb3J0IHsgZmV0Y2hTaGlwcGluZ09wdGlvbnMgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3NoaXBwaW5nJztcbmltcG9ydCBJbnB1dEVycm9yIGZyb20gJy4vSW5wdXRFcnJvcic7XG5pbXBvcnQgeyBMaXN0U2hpcG1lbnRRdW90ZU9wdGlvbnMgfSBmcm9tICcuLi9saXN0cyc7XG5cbmludGVyZmFjZSBQcm9wc0FkZHJlc3Mge1xuICBkZWZhdWx0QWRkcmVzcz86IGFueTtcbiAgbGFiZWxHZW9TdWdnZXN0Pzogc3RyaW5nO1xuICBob29rRm9ybTogYW55O1xuICBuYW1lPzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgdXBkYXRlQWRkcmVzczogKGFkZHJlc3M6IGFueSkgPT4gdm9pZDtcbn1cblxuY29uc3QgU2hpcHBpbmdBZGRyZXNzSW5wdXRzID0gKHByb3BzOiBQcm9wc0FkZHJlc3MpID0+IChcbiAgPElucHV0c0FkZHJlc3Mgey4uLnByb3BzfSBuYW1lPSdzaGlwcGluZ0FkZHJlc3MnIC8+XG4pO1xuY29uc3QgQmlsbGluZ0FkZHJlc3NJbnB1dHMgPSAocHJvcHM6IFByb3BzQWRkcmVzcykgPT4gKFxuICA8SW5wdXRzQWRkcmVzcyB7Li4ucHJvcHN9IG5hbWU9J2JpbGxpbmdBZGRyZXNzJyAvPlxuKTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZm9ybUlkOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIEZvcm1BZGRyZXNzZXMoeyBmb3JtSWQgfTogUHJvcHMpIHtcbiAgY29uc3QgeyBqb2IsIG5leHRUYWIsIHNldEpvYiB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCBbXG4gICAgYmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3MsXG4gICAgc2V0QmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3MsXG4gIF0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbc2hpcG1lbnRPcHRpb25zLCBzZXRTaGlwbWVudE9wdGlvbnNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBob29rRm9ybSA9IHVzZUZvcm0oKTtcbiAgY29uc3Qge1xuICAgIGZvcm1TdGF0ZTogeyBlcnJvcnMgfSxcbiAgICBnZXRWYWx1ZXMsXG4gICAgaGFuZGxlU3VibWl0LFxuICAgIHJlc2V0LFxuICB9ID0gaG9va0Zvcm07XG4gIGNvbnN0IGRlYm91bmNlZEZldGNoU2hpcHBpbmdPcHRpb25zID0gZGVib3VuY2UoYXN5bmMgKGFkZHJlc3M6IGFueSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBvblNlbGVjdFNoaXBtZW50KG51bGwpO1xuICAgICAgc2V0RXJyb3IobnVsbCk7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgY29uc3QgciA9IGF3YWl0IGZldGNoU2hpcHBpbmdPcHRpb25zKGFkZHJlc3MsIGpvYik7XG4gICAgICBpZiAoci5vaykge1xuICAgICAgICBjb25zdCBzaGlwbWVudHNKc29uID0gYXdhaXQgci5qc29uKCk7XG4gICAgICAgIHNldFNoaXBtZW50T3B0aW9ucyhzaGlwbWVudHNKc29uLnNoaXBtZW50cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRFcnJvcih7IG1lc3NhZ2U6ICdVbmFibGUgdG8gZmV0Y2ggc2hpcG1lbnQgb3B0aW9ucycgfSBhcyBhbnkpO1xuICAgICAgfVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBzZXRFcnJvcihlKTtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgMTAwMCk7XG4gIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFkZHJlc3MobmFtZTogc3RyaW5nLCBmZXRjaDogYm9vbGVhbiwgYWRkcmVzczogYW55KSB7XG4gICAgY29uc3QgdmFsdWVzID0gZ2V0VmFsdWVzKCk7XG4gICAgdmFsdWVzW25hbWVdID0gYWRkcmVzcztcbiAgICByZXNldCh2YWx1ZXMpO1xuICAgIGlmIChmZXRjaCkge1xuICAgICAgZGVib3VuY2VkRmV0Y2hTaGlwcGluZ09wdGlvbnMoYWRkcmVzcyk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIG9uU2VsZWN0U2hpcG1lbnQoc2hpcG1lbnQ6IGFueSkge1xuICAgIHNldEpvYih7IC4uLmpvYiwgc2hpcG1lbnQgfSk7XG4gIH1cbiAgYXN5bmMgZnVuY3Rpb24gb25TdWJtaXQodmFsdWVzOiBhbnkpIHtcbiAgICBjb25zdCBhZGRyZXNzID0gdmFsdWVzLnNoaXBwaW5nQWRkcmVzcztcbiAgICBjb25zdCBuZXdKb2IgPSB7IC4uLmpvYiB9O1xuICAgIG5ld0pvYi5zaGlwcGluZyA9IGFkZHJlc3M7XG4gICAgbmV3Sm9iLmJpbGxpbmcgPSBiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzc1xuICAgICAgPyBhZGRyZXNzXG4gICAgICA6IHZhbHVlcy5iaWxsaW5nQWRkcmVzcztcbiAgICBzZXRKb2IobmV3Sm9iKTtcbiAgICBuZXh0VGFiKCk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGZvcm0gaWQ9e2Zvcm1JZH0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdChvblN1Ym1pdCl9PlxuICAgICAgICA8U2hpcHBpbmdBZGRyZXNzSW5wdXRzXG4gICAgICAgICAgZGVmYXVsdEFkZHJlc3M9e2pvYi5zaGlwcGluZ31cbiAgICAgICAgICBob29rRm9ybT17aG9va0Zvcm19XG4gICAgICAgICAgbmFtZT0nc2hpcHBpbmdBZGRyZXNzJ1xuICAgICAgICAgIHVwZGF0ZUFkZHJlc3M9eyhhZGRyOiBhbnkpID0+XG4gICAgICAgICAgICB1cGRhdGVBZGRyZXNzKCdzaGlwcGluZ0FkZHJlc3MnLCB0cnVlLCBhZGRyKVxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICAgPENoZWNrYm94QmlsbGluZ0FkZHJlc3NTYW1lQXNTaGlwcGluZ0FkZHJlc3NcbiAgICAgICAgICBiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcz17XG4gICAgICAgICAgICBiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcz17XG4gICAgICAgICAgICBzZXRCaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzc1xuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICAgeyFiaWxsaW5nQWRkcmVzc1NhbWVBc1NoaXBwaW5nQWRkcmVzcyAmJiAoXG4gICAgICAgICAgPEJpbGxpbmdBZGRyZXNzSW5wdXRzXG4gICAgICAgICAgICBkZWZhdWx0QWRkcmVzcz17am9iLmJpbGxpbmd9XG4gICAgICAgICAgICBob29rRm9ybT17aG9va0Zvcm19XG4gICAgICAgICAgICBsYWJlbEdlb1N1Z2dlc3Q9J0JpbGxpbmcgQWRkcmVzcydcbiAgICAgICAgICAgIG5hbWU9J2JpbGxpbmdBZGRyZXNzJ1xuICAgICAgICAgICAgdXBkYXRlQWRkcmVzcz17KGFkZHI6IGFueSkgPT5cbiAgICAgICAgICAgICAgdXBkYXRlQWRkcmVzcygnYmlsbGluZ0FkZHJlc3MnLCBmYWxzZSwgYWRkcilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8SW5wdXRFcnJvciBlcnJvcj17ZXJyb3IgfHwge319IC8+XG4gICAgICAgIDxMaXN0U2hpcG1lbnRRdW90ZU9wdGlvbnNcbiAgICAgICAgICBkb1NlbGVjdFNoaXBtZW50T3B0aW9uPXtvblNlbGVjdFNoaXBtZW50fVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgc2VsZWN0ZWRPcHRpb249e2pvYi5zaGlwbWVudH1cbiAgICAgICAgICBzaGlwbWVudE9wdGlvbnM9e3NoaXBtZW50T3B0aW9uc31cbiAgICAgICAgLz5cbiAgICAgIDwvZm9ybT5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRm9ybUFkZHJlc3NlcztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMs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