@stigg/react-sdk 6.9.1 → 6.11.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.
- package/dist/components/checkout/CheckoutProvider.d.ts +1 -0
- package/dist/components/checkout/hooks/useCheckoutModel.d.ts +2 -0
- package/dist/components/checkout/steps/payment/PaymentMethods.d.ts +2 -2
- package/dist/components/checkout/steps/payment/PaymentStep.d.ts +1 -1
- package/dist/components/checkout/steps/payment/zuora/ZuoraPaymentForm.d.ts +3 -0
- package/dist/components/checkout/steps/payment/zuora/index.d.ts +3 -0
- package/dist/components/checkout/steps/payment/zuora/useZuoraIntegration.d.ts +5 -0
- package/dist/components/checkout/steps/payment/zuora/useZuoraSubmit.d.ts +11 -0
- package/dist/components/checkout/steps/payment/zuora/zuora.utils.d.ts +34 -0
- package/dist/react-sdk.cjs.development.js +583 -48
- package/dist/react-sdk.cjs.development.js.map +1 -1
- package/dist/react-sdk.cjs.production.min.js +1 -1
- package/dist/react-sdk.cjs.production.min.js.map +1 -1
- package/dist/react-sdk.esm.js +583 -48
- package/dist/react-sdk.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/checkout/CheckoutContainer.tsx +19 -3
- package/src/components/checkout/CheckoutProvider.tsx +2 -0
- package/src/components/checkout/hooks/useCheckoutModel.ts +14 -3
- package/src/components/checkout/steps/payment/PaymentMethods.tsx +15 -2
- package/src/components/checkout/steps/payment/PaymentStep.tsx +8 -1
- package/src/components/checkout/steps/payment/zuora/ZuoraPaymentForm.tsx +128 -0
- package/src/components/checkout/steps/payment/zuora/index.ts +11 -0
- package/src/components/checkout/steps/payment/zuora/useZuoraIntegration.ts +56 -0
- package/src/components/checkout/steps/payment/zuora/useZuoraSubmit.ts +125 -0
- package/src/components/checkout/steps/payment/zuora/zuora.utils.ts +72 -0
- package/src/components/checkout/summary/CheckoutSummary.tsx +71 -44
package/dist/react-sdk.esm.js
CHANGED
|
@@ -4409,7 +4409,7 @@ function mapPaywallData(paywall, showOnlyEligiblePlans, currentSubscriptionOverr
|
|
|
4409
4409
|
};
|
|
4410
4410
|
}
|
|
4411
4411
|
|
|
4412
|
-
var version = "6.
|
|
4412
|
+
var version = "6.11.0";
|
|
4413
4413
|
var name = "@stigg/react-sdk";
|
|
4414
4414
|
|
|
4415
4415
|
var StiggContext = /*#__PURE__*/React__default.createContext(null);
|
|
@@ -7531,12 +7531,14 @@ function useCheckoutState() {
|
|
|
7531
7531
|
_useCheckoutContext$ = _useCheckoutContext[0],
|
|
7532
7532
|
checkout = _useCheckoutContext$.checkout,
|
|
7533
7533
|
widgetState = _useCheckoutContext$.widgetState,
|
|
7534
|
-
checkoutLocalization = _useCheckoutContext$.checkoutLocalization
|
|
7534
|
+
checkoutLocalization = _useCheckoutContext$.checkoutLocalization,
|
|
7535
|
+
checkoutSuccess = _useCheckoutContext$.checkoutSuccess;
|
|
7535
7536
|
|
|
7536
7537
|
return {
|
|
7537
7538
|
checkoutState: checkout,
|
|
7538
7539
|
widgetState: widgetState,
|
|
7539
|
-
checkoutLocalization: checkoutLocalization
|
|
7540
|
+
checkoutLocalization: checkoutLocalization,
|
|
7541
|
+
checkoutSuccess: checkoutSuccess
|
|
7540
7542
|
};
|
|
7541
7543
|
}
|
|
7542
7544
|
|
|
@@ -7562,18 +7564,32 @@ function useSetIsValid() {
|
|
|
7562
7564
|
};
|
|
7563
7565
|
}
|
|
7564
7566
|
|
|
7567
|
+
function useSetCheckoutSuccess() {
|
|
7568
|
+
var _useCheckoutContext4 = useCheckoutContext(),
|
|
7569
|
+
setState = _useCheckoutContext4[1];
|
|
7570
|
+
|
|
7571
|
+
return function (checkoutSuccess) {
|
|
7572
|
+
return setState(function (draft) {
|
|
7573
|
+
draft.checkoutSuccess = checkoutSuccess;
|
|
7574
|
+
});
|
|
7575
|
+
};
|
|
7576
|
+
}
|
|
7577
|
+
|
|
7565
7578
|
function useCheckoutModel() {
|
|
7566
7579
|
var _useCheckoutState = useCheckoutState(),
|
|
7567
7580
|
checkoutState = _useCheckoutState.checkoutState,
|
|
7568
7581
|
widgetState = _useCheckoutState.widgetState,
|
|
7569
|
-
checkoutLocalization = _useCheckoutState.checkoutLocalization
|
|
7582
|
+
checkoutLocalization = _useCheckoutState.checkoutLocalization,
|
|
7583
|
+
checkoutSuccess = _useCheckoutState.checkoutSuccess;
|
|
7570
7584
|
|
|
7571
7585
|
return {
|
|
7572
7586
|
checkoutState: checkoutState,
|
|
7573
7587
|
widgetState: widgetState,
|
|
7574
7588
|
checkoutLocalization: checkoutLocalization,
|
|
7589
|
+
checkoutSuccess: checkoutSuccess,
|
|
7575
7590
|
setWidgetReadOnly: useSetWidgetReadonly(),
|
|
7576
|
-
setIsValid: useSetIsValid()
|
|
7591
|
+
setIsValid: useSetIsValid(),
|
|
7592
|
+
setCheckoutSuccess: useSetCheckoutSuccess()
|
|
7577
7593
|
};
|
|
7578
7594
|
}
|
|
7579
7595
|
|
|
@@ -8596,7 +8612,8 @@ function CheckoutProvider(_ref2) {
|
|
|
8596
8612
|
isValid: true,
|
|
8597
8613
|
isLoadingCheckoutData: isLoading
|
|
8598
8614
|
},
|
|
8599
|
-
isWidgetWatermarkEnabled: isWidgetWatermarkEnabled
|
|
8615
|
+
isWidgetWatermarkEnabled: isWidgetWatermarkEnabled,
|
|
8616
|
+
checkoutSuccess: false
|
|
8600
8617
|
};
|
|
8601
8618
|
return initialState; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8602
8619
|
}, [preferredBillingPeriod, billingCountryCode, checkout, isLoading, skipCheckoutSteps, billingInformation == null ? void 0 : (_billingInformation$t2 = billingInformation.taxDetails) == null ? void 0 : _billingInformation$t2.taxPercentage]);
|
|
@@ -12898,6 +12915,314 @@ function useSubmit(_ref) {
|
|
|
12898
12915
|
};
|
|
12899
12916
|
}
|
|
12900
12917
|
|
|
12918
|
+
function isZuoraLibraryAvailable() {
|
|
12919
|
+
return !!window.Zuora;
|
|
12920
|
+
}
|
|
12921
|
+
function loadZuoraLibrary() {
|
|
12922
|
+
var script = document.createElement('script');
|
|
12923
|
+
script.type = 'text/javascript';
|
|
12924
|
+
script.src = 'https://js.zuora.com/payment/v3/zuora.js';
|
|
12925
|
+
script.async = true;
|
|
12926
|
+
|
|
12927
|
+
script.onerror = function () {
|
|
12928
|
+
throw new Error('Failed to load Zuora library');
|
|
12929
|
+
};
|
|
12930
|
+
|
|
12931
|
+
document.head.appendChild(script);
|
|
12932
|
+
}
|
|
12933
|
+
function createZuoraPaymentFormConfig(createPaymentSession, onComplete, currency, billingCountryCode) {
|
|
12934
|
+
var AUTH_AMOUNT = '1';
|
|
12935
|
+
return {
|
|
12936
|
+
locale: billingCountryCode || 'en',
|
|
12937
|
+
region: (billingCountryCode == null ? void 0 : billingCountryCode.toUpperCase()) || 'US',
|
|
12938
|
+
currency: currency,
|
|
12939
|
+
amount: AUTH_AMOUNT,
|
|
12940
|
+
createPaymentSession: createPaymentSession,
|
|
12941
|
+
onComplete: onComplete
|
|
12942
|
+
};
|
|
12943
|
+
}
|
|
12944
|
+
|
|
12945
|
+
function useZuoraIntegration() {
|
|
12946
|
+
var _useStiggContext = useStiggContext(),
|
|
12947
|
+
stigg = _useStiggContext.stigg;
|
|
12948
|
+
|
|
12949
|
+
var _usePaymentStepModel = usePaymentStepModel(),
|
|
12950
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage;
|
|
12951
|
+
|
|
12952
|
+
var _usePlanStepModel = usePlanStepModel(),
|
|
12953
|
+
billingCountryCode = _usePlanStepModel.billingCountryCode;
|
|
12954
|
+
|
|
12955
|
+
var _useState = useState(false),
|
|
12956
|
+
isInitialized = _useState[0],
|
|
12957
|
+
setIsInitialized = _useState[1];
|
|
12958
|
+
|
|
12959
|
+
var _useCheckoutModel = useCheckoutModel(),
|
|
12960
|
+
checkoutState = _useCheckoutModel.checkoutState;
|
|
12961
|
+
|
|
12962
|
+
var _ref = checkoutState || {},
|
|
12963
|
+
billingIntegration = _ref.billingIntegration;
|
|
12964
|
+
|
|
12965
|
+
var createPaymentSession = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
|
|
12966
|
+
var _yield$stigg$createPa, token;
|
|
12967
|
+
|
|
12968
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
12969
|
+
while (1) {
|
|
12970
|
+
switch (_context.prev = _context.next) {
|
|
12971
|
+
case 0:
|
|
12972
|
+
if (!(!(checkoutState != null && checkoutState.customer.id) || !(checkoutState != null && checkoutState.plan.id))) {
|
|
12973
|
+
_context.next = 2;
|
|
12974
|
+
break;
|
|
12975
|
+
}
|
|
12976
|
+
|
|
12977
|
+
throw new Error('Customer and plan are required');
|
|
12978
|
+
|
|
12979
|
+
case 2:
|
|
12980
|
+
_context.next = 4;
|
|
12981
|
+
return stigg.createPaymentSession({
|
|
12982
|
+
planId: checkoutState.plan.id,
|
|
12983
|
+
billingCountryCode: billingCountryCode
|
|
12984
|
+
});
|
|
12985
|
+
|
|
12986
|
+
case 4:
|
|
12987
|
+
_yield$stigg$createPa = _context.sent;
|
|
12988
|
+
token = _yield$stigg$createPa.token;
|
|
12989
|
+
return _context.abrupt("return", token);
|
|
12990
|
+
|
|
12991
|
+
case 7:
|
|
12992
|
+
case "end":
|
|
12993
|
+
return _context.stop();
|
|
12994
|
+
}
|
|
12995
|
+
}
|
|
12996
|
+
}, _callee);
|
|
12997
|
+
})), [checkoutState, stigg, billingCountryCode]);
|
|
12998
|
+
var initializeZuora = useCallback(function () {
|
|
12999
|
+
try {
|
|
13000
|
+
if (!isZuoraLibraryAvailable()) {
|
|
13001
|
+
loadZuoraLibrary();
|
|
13002
|
+
}
|
|
13003
|
+
|
|
13004
|
+
setIsInitialized(true);
|
|
13005
|
+
} catch (err) {
|
|
13006
|
+
setErrorMessage('Failed to initialize Zuora');
|
|
13007
|
+
}
|
|
13008
|
+
}, [setIsInitialized, setErrorMessage]);
|
|
13009
|
+
useEffect(function () {
|
|
13010
|
+
if (billingIntegration) {
|
|
13011
|
+
var billingIdentifier = billingIntegration.billingIdentifier;
|
|
13012
|
+
|
|
13013
|
+
if (billingIdentifier === BillingVendorIdentifier.Zuora) {
|
|
13014
|
+
void initializeZuora();
|
|
13015
|
+
}
|
|
13016
|
+
}
|
|
13017
|
+
}, [billingIntegration, initializeZuora]);
|
|
13018
|
+
var isZuoraIntegration = (billingIntegration == null ? void 0 : billingIntegration.billingIdentifier) === BillingVendorIdentifier.Zuora;
|
|
13019
|
+
return {
|
|
13020
|
+
isZuoraIntegration: isZuoraIntegration,
|
|
13021
|
+
isInitialized: isInitialized,
|
|
13022
|
+
createPaymentSession: createPaymentSession
|
|
13023
|
+
};
|
|
13024
|
+
}
|
|
13025
|
+
|
|
13026
|
+
var delay$1 = function delay(ms) {
|
|
13027
|
+
return new Promise(function (res) {
|
|
13028
|
+
return setTimeout(res, ms);
|
|
13029
|
+
});
|
|
13030
|
+
};
|
|
13031
|
+
|
|
13032
|
+
function useZuoraSubmit(_ref) {
|
|
13033
|
+
var onCheckout = _ref.onCheckout,
|
|
13034
|
+
onCheckoutCompleted = _ref.onCheckoutCompleted,
|
|
13035
|
+
onSuccess = _ref.onSuccess,
|
|
13036
|
+
disableSuccessAnimation = _ref.disableSuccessAnimation;
|
|
13037
|
+
|
|
13038
|
+
var _useStiggContext = useStiggContext(),
|
|
13039
|
+
stigg = _useStiggContext.stigg;
|
|
13040
|
+
|
|
13041
|
+
var subscriptionState = useSubscriptionState();
|
|
13042
|
+
|
|
13043
|
+
var _useCheckoutModel = useCheckoutModel(),
|
|
13044
|
+
checkoutState = _useCheckoutModel.checkoutState,
|
|
13045
|
+
setWidgetReadOnly = _useCheckoutModel.setWidgetReadOnly,
|
|
13046
|
+
setCheckoutSuccess = _useCheckoutModel.setCheckoutSuccess;
|
|
13047
|
+
|
|
13048
|
+
var _usePaymentStepModel = usePaymentStepModel(),
|
|
13049
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage;
|
|
13050
|
+
|
|
13051
|
+
var handleZuoraSubmit = useCallback( /*#__PURE__*/function () {
|
|
13052
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(paymentMethodId) {
|
|
13053
|
+
var success, errorMessage, currentSubscriptionState, checkoutParams, checkoutAction, externalCheckoutResults, checkoutActionResults;
|
|
13054
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
13055
|
+
while (1) {
|
|
13056
|
+
switch (_context2.prev = _context2.next) {
|
|
13057
|
+
case 0:
|
|
13058
|
+
setWidgetReadOnly(true);
|
|
13059
|
+
success = true;
|
|
13060
|
+
currentSubscriptionState = subscriptionState;
|
|
13061
|
+
|
|
13062
|
+
if (currentSubscriptionState) {
|
|
13063
|
+
_context2.next = 8;
|
|
13064
|
+
break;
|
|
13065
|
+
}
|
|
13066
|
+
|
|
13067
|
+
success = false;
|
|
13068
|
+
errorMessage = 'Unexpected error, please contact support.';
|
|
13069
|
+
_context2.next = 30;
|
|
13070
|
+
break;
|
|
13071
|
+
|
|
13072
|
+
case 8:
|
|
13073
|
+
checkoutParams = _extends({}, currentSubscriptionState, {
|
|
13074
|
+
paymentMethodId: paymentMethodId
|
|
13075
|
+
});
|
|
13076
|
+
|
|
13077
|
+
checkoutAction = /*#__PURE__*/function () {
|
|
13078
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(params) {
|
|
13079
|
+
var applySubscriptionResults;
|
|
13080
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
13081
|
+
while (1) {
|
|
13082
|
+
switch (_context.prev = _context.next) {
|
|
13083
|
+
case 0:
|
|
13084
|
+
_context.prev = 0;
|
|
13085
|
+
_context.next = 3;
|
|
13086
|
+
return stigg.applySubscription(params);
|
|
13087
|
+
|
|
13088
|
+
case 3:
|
|
13089
|
+
applySubscriptionResults = _context.sent;
|
|
13090
|
+
return _context.abrupt("return", {
|
|
13091
|
+
success: true,
|
|
13092
|
+
results: applySubscriptionResults
|
|
13093
|
+
});
|
|
13094
|
+
|
|
13095
|
+
case 7:
|
|
13096
|
+
_context.prev = 7;
|
|
13097
|
+
_context.t0 = _context["catch"](0);
|
|
13098
|
+
console.error(_context.t0);
|
|
13099
|
+
return _context.abrupt("return", {
|
|
13100
|
+
success: false,
|
|
13101
|
+
errorMessage: (_context.t0 == null ? void 0 : _context.t0.message) || 'Failed to apply subscription'
|
|
13102
|
+
});
|
|
13103
|
+
|
|
13104
|
+
case 11:
|
|
13105
|
+
case "end":
|
|
13106
|
+
return _context.stop();
|
|
13107
|
+
}
|
|
13108
|
+
}
|
|
13109
|
+
}, _callee, null, [[0, 7]]);
|
|
13110
|
+
}));
|
|
13111
|
+
|
|
13112
|
+
return function checkoutAction(_x2) {
|
|
13113
|
+
return _ref3.apply(this, arguments);
|
|
13114
|
+
};
|
|
13115
|
+
}();
|
|
13116
|
+
|
|
13117
|
+
_context2.prev = 10;
|
|
13118
|
+
|
|
13119
|
+
if (!onCheckout) {
|
|
13120
|
+
_context2.next = 19;
|
|
13121
|
+
break;
|
|
13122
|
+
}
|
|
13123
|
+
|
|
13124
|
+
_context2.next = 14;
|
|
13125
|
+
return onCheckout({
|
|
13126
|
+
customerId: checkoutState.customer.id,
|
|
13127
|
+
checkoutParams: checkoutParams,
|
|
13128
|
+
checkoutAction: checkoutAction
|
|
13129
|
+
});
|
|
13130
|
+
|
|
13131
|
+
case 14:
|
|
13132
|
+
externalCheckoutResults = _context2.sent;
|
|
13133
|
+
|
|
13134
|
+
if (externalCheckoutResults.errorMessage) {
|
|
13135
|
+
errorMessage = externalCheckoutResults.errorMessage;
|
|
13136
|
+
}
|
|
13137
|
+
|
|
13138
|
+
success = success && externalCheckoutResults.success && !errorMessage;
|
|
13139
|
+
_context2.next = 24;
|
|
13140
|
+
break;
|
|
13141
|
+
|
|
13142
|
+
case 19:
|
|
13143
|
+
_context2.next = 21;
|
|
13144
|
+
return checkoutAction(checkoutParams);
|
|
13145
|
+
|
|
13146
|
+
case 21:
|
|
13147
|
+
checkoutActionResults = _context2.sent;
|
|
13148
|
+
|
|
13149
|
+
if (!checkoutActionResults.success && checkoutActionResults.errorMessage) {
|
|
13150
|
+
errorMessage = checkoutActionResults.errorMessage;
|
|
13151
|
+
}
|
|
13152
|
+
|
|
13153
|
+
success = checkoutActionResults.success && !errorMessage;
|
|
13154
|
+
|
|
13155
|
+
case 24:
|
|
13156
|
+
_context2.next = 30;
|
|
13157
|
+
break;
|
|
13158
|
+
|
|
13159
|
+
case 26:
|
|
13160
|
+
_context2.prev = 26;
|
|
13161
|
+
_context2.t0 = _context2["catch"](10);
|
|
13162
|
+
success = false;
|
|
13163
|
+
errorMessage = _context2.t0.message || 'Failed to process checkout';
|
|
13164
|
+
|
|
13165
|
+
case 30:
|
|
13166
|
+
if (!success) {
|
|
13167
|
+
_context2.next = 39;
|
|
13168
|
+
break;
|
|
13169
|
+
}
|
|
13170
|
+
|
|
13171
|
+
setCheckoutSuccess(true);
|
|
13172
|
+
|
|
13173
|
+
if (!onSuccess) {
|
|
13174
|
+
_context2.next = 37;
|
|
13175
|
+
break;
|
|
13176
|
+
}
|
|
13177
|
+
|
|
13178
|
+
onSuccess();
|
|
13179
|
+
|
|
13180
|
+
if (disableSuccessAnimation) {
|
|
13181
|
+
_context2.next = 37;
|
|
13182
|
+
break;
|
|
13183
|
+
}
|
|
13184
|
+
|
|
13185
|
+
_context2.next = 37;
|
|
13186
|
+
return delay$1(ANIMATION_DURATION);
|
|
13187
|
+
|
|
13188
|
+
case 37:
|
|
13189
|
+
_context2.next = 40;
|
|
13190
|
+
break;
|
|
13191
|
+
|
|
13192
|
+
case 39:
|
|
13193
|
+
setErrorMessage(errorMessage);
|
|
13194
|
+
|
|
13195
|
+
case 40:
|
|
13196
|
+
setWidgetReadOnly(false);
|
|
13197
|
+
_context2.next = 43;
|
|
13198
|
+
return onCheckoutCompleted({
|
|
13199
|
+
success: success,
|
|
13200
|
+
error: errorMessage
|
|
13201
|
+
});
|
|
13202
|
+
|
|
13203
|
+
case 43:
|
|
13204
|
+
return _context2.abrupt("return", {
|
|
13205
|
+
success: success,
|
|
13206
|
+
errorMessage: errorMessage
|
|
13207
|
+
});
|
|
13208
|
+
|
|
13209
|
+
case 44:
|
|
13210
|
+
case "end":
|
|
13211
|
+
return _context2.stop();
|
|
13212
|
+
}
|
|
13213
|
+
}
|
|
13214
|
+
}, _callee2, null, [[10, 26]]);
|
|
13215
|
+
}));
|
|
13216
|
+
|
|
13217
|
+
return function (_x) {
|
|
13218
|
+
return _ref2.apply(this, arguments);
|
|
13219
|
+
};
|
|
13220
|
+
}(), [stigg, subscriptionState, checkoutState, onCheckout, onCheckoutCompleted, onSuccess, disableSuccessAnimation, setWidgetReadOnly, setCheckoutSuccess, setErrorMessage]);
|
|
13221
|
+
return {
|
|
13222
|
+
handleZuoraSubmit: handleZuoraSubmit
|
|
13223
|
+
};
|
|
13224
|
+
}
|
|
13225
|
+
|
|
12901
13226
|
var WithSkeleton = function WithSkeleton(_ref) {
|
|
12902
13227
|
var isLoading = _ref.isLoading,
|
|
12903
13228
|
_ref$width = _ref.width,
|
|
@@ -13438,7 +13763,7 @@ var SummaryContainer = /*#__PURE__*/_styled(Box, process.env.NODE_ENV === "produ
|
|
|
13438
13763
|
} : {
|
|
13439
13764
|
name: "1w9aiz5",
|
|
13440
13765
|
styles: "width:100%;max-width:470px;flex:1.5",
|
|
13441
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0I0QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRDYXB0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy9DaGVja291dENhcHRpb25zJztcclxuaW1wb3J0IHsgQXBwbGllZENyZWRpdHNMaW5lSXRlbSwgQmlsbGVkUHJpY2VMaW5lSXRlbSwgRGlzY291bnRMaW5lSXRlbSwgRnJlZUNoYXJnZUxpbmVJdGVtLCBMaW5lSXRlbUNvbnRhaW5lciwgTGluZUl0ZW1Sb3csIFRheExpbmVJdGVtLCB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5lSXRlbXMnO1xyXG5pbXBvcnQgeyBXaXRoU2tlbGV0b24gfSBmcm9tICcuL2NvbXBvbmVudHMvV2l0aFNrZWxldG9uJztcclxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9JY29uJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRTdWNjZXNzIH0gZnJvbSAnLi9DaGVja291dFN1Y2Nlc3MnO1xyXG5pbXBvcnQgeyBnZXRGZWF0dXJlRGlzcGxheU5hbWVUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0RmVhdHVyZU5hbWUnO1xyXG5pbXBvcnQgeyBtcSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tZWRpYVF1ZXJ5JztcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDb250YWluZXIgPSBzdHlsZWQoQm94KSBgXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ3MHB4O1xuICBmbGV4OiAxLjU7XG5gO1xyXG5leHBvcnQgY29uc3QgU3VtbWFyeUNhcmQgPSBzdHlsZWQoUGFwZXIpIGBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zdGlnZy5wYWxldHRlLmJhY2tncm91bmRIaWdobGlnaHR9O1xuICBwYWRkaW5nOiAxNnB4O1xuXG4gICR7bXEubWR9IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5gO1xyXG5TdW1tYXJ5Q2FyZC5kZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBlbGV2YXRpb246IDAsXHJcbn07XHJcbmNvbnN0IFN1bW1hcnlUaXRsZSA9IHN0eWxlZChUeXBvZ3JhcGh5KSBgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xyXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkKERpdmlkZXIpIGBcbiAgbWFyZ2luOiAxNnB4IDA7XG5gO1xyXG5jb25zdCBUb3RhbER1ZVRleHQgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xyXG5mdW5jdGlvbiByZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHsgaXNMYXN0U3RlcCwgY2hlY2tvdXRIYXNDaGFuZ2VzLCBpc0ZyZWVEb3duZ3JhZGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBpc1BsYW5VcGRhdGUsIH0pIHtcclxuICAgIGlmICghaXNMYXN0U3RlcCkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5uZXh0VGV4dDtcclxuICAgIH1cclxuICAgIGlmICghY2hlY2tvdXRIYXNDaGFuZ2VzKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLm5vQ2hhbmdlc1RleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNQbGFuVXBkYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZGF0ZVRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNGcmVlRG93bmdyYWRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLmRvd25ncmFkZVRvRnJlZVRleHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24udXBncmFkZVRleHQ7XHJcbn1cclxuZXhwb3J0IGNvbnN0IENoZWNrb3V0U3VtbWFyeSA9ICh7IG9uQ2hlY2tvdXQsIG9uQ2hlY2tvdXRDb21wbGV0ZWQsIGRpc2FibGVQcm9tb3Rpb25Db2RlLCBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiwgaXNGcmVlRG93bmdyYWRlLCBvbk1vY2tDaGVja291dFByZXZpZXcsIGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgfSkgPT4ge1xyXG4gICAgY29uc3QgW2lzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHksIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHldID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgeyBzZXRFcnJvck1lc3NhZ2UgfSA9IHVzZVBheW1lbnRTdGVwTW9kZWwoKTtcclxuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdXNlUHJvZ3Jlc3NCYXJNb2RlbCgpO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdXNlU3Vic2NyaXB0aW9uTW9kZWwoKTtcclxuICAgIGNvbnN0IHsgY2hlY2tvdXRTdGF0ZSwgY2hlY2tvdXRMb2NhbGl6YXRpb24gfSA9IHVzZUNoZWNrb3V0TW9kZWwoKTtcclxuICAgIGNvbnN0IHsgcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uIH0gPSBjaGVja291dFN0YXRlIHx8IHt9O1xyXG4gICAgY29uc3QgcGxhblByaWNlcyA9IHVzZUNoYXJnZXNTb3J0KHBsYW4/LnByaWNlUG9pbnRzPy5maWx0ZXIoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCkgfHwgW10pO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VzLCB1c2FnZUNoYXJnZXNdID0gcGFydGl0aW9uKHBsYW5QcmljZXMsIChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuRmxhdEZlZSk7XHJcbiAgICBjb25zdCBbYmFzZUNoYXJnZV0gPSBiYXNlQ2hhcmdlcyB8fCBbXTtcclxuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBpc0ZyZWVEb3duZ3JhZGUgfHwgKHByb2dyZXNzQmFyLmlzQ2hlY2tvdXRDb21wbGV0ZSAmJiBwcm9ncmVzc0Jhci5pc0xhc3RTdGVwKTtcclxuICAgIGNvbnN0IHsgc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSA9IHVzZVByZXZpZXdTdWJzY3JpcHRpb24oeyBvbk1vY2tDaGVja291dFByZXZpZXcgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVN1Ym1pdCwgaXNMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBoYW5kbGVDaGVja291dCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGVycm9yTWVzc2FnZSB9ID0gKGF3YWl0IGhhbmRsZVN1Ym1pdChlKSkgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZTtcclxuICAgIGNvbnN0IHNob3dEaXNjb3VudExpbmUgPSAhIXJlY3VycmluZ0ludm9pY2U/LmRpc2NvdW50RGV0YWlscyAmJiAhaXNGcmVlRG93bmdyYWRlO1xyXG4gICAgY29uc3QgaGFzRGlzY291bnRzID0gc2hvd1Byb21vdGlvbkNvZGVMaW5lIHx8IHNob3dEaXNjb3VudExpbmU7XHJcbiAgICBjb25zdCBoYXNQYXlBc1lvdUdvQ2hhcmdlcyA9IHVzYWdlQ2hhcmdlcy5zb21lKChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBvbmx5UGF5QXNZb3VHb0NoYXJnZXMgPSBoYXNQYXlBc1lvdUdvQ2hhcmdlcyAmJlxyXG4gICAgICAgICFiYXNlQ2hhcmdlICYmXHJcbiAgICAgICAgdXNhZ2VDaGFyZ2VzLmV2ZXJ5KChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBiYXNlQ2hhcmdlTGFiZWwgPSB0eXBlb2YgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgICAgID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCh7IGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pXHJcbiAgICAgICAgOiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDb250YWluZXIsIG51bGwsXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5Q2FyZCwgbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5VGl0bGUsIHsgdmFyaWFudDogXCJoM1wiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudGl0bGUpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktcGxhbi10aXRsZS1jb250YWluZXJcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIG1hcmdpblk6IDIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucGxhbk5hbWUoeyBwbGFuOiBwbGFuIH0pKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgIGJhc2VDaGFyZ2UgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwsIHF1YW50aXR5OiAxLCBwcmljZTogYmFzZUNoYXJnZSB9KSksXHJcbiAgICAgICAgICAgICFiYXNlQ2hhcmdlICYmIGlzRnJlZURvd25ncmFkZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJlZUNoYXJnZUxpbmVJdGVtLCB7IGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwgfSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSwgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktdXNhZ2UtY2hhcmdlcy1jb250YWluZXJcIiB9LCB1c2FnZUNoYXJnZXMubWFwKChwcmljZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJpY2VCaWxsYWJsZUZlYXR1cmUgPSBzdWJzY3JpcHRpb24uYmlsbGFibGVGZWF0dXJlcz8uZmluZCgoYmlsbGFibGVGZWF0dXJlKSA9PiBiaWxsYWJsZUZlYXR1cmUuZmVhdHVyZUlkID09PSBwcmljZS5mZWF0dXJlPy5mZWF0dXJlSWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEJpbGxlZFByaWNlTGluZUl0ZW0sIHsgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBrZXk6IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCwgbGFiZWw6IGdldEZlYXR1cmVEaXNwbGF5TmFtZVRleHQocHJpY2UuZmVhdHVyZT8uZGlzcGxheU5hbWUgfHwgJycsIHByaWNlLmZlYXR1cmU/LnVuaXRzLCBwcmljZS5mZWF0dXJlPy51bml0c1BsdXJhbCksIHF1YW50aXR5OiBwcmljZUJpbGxhYmxlRmVhdHVyZT8ucXVhbnRpdHkgfHwgMSwgcHJpY2U6IHByaWNlIH0pKTtcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAhIXN1YnNjcmlwdGlvbi5hZGRvbnM/Lmxlbmd0aCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYWRkb25zU2VjdGlvblRpdGxlKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZG9ucy5tYXAoKGFkZG9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25QcmljZSA9IGFkZG9uLmFkZG9uLnByaWNlUG9pbnRzPy5maW5kKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWRkb25QcmljZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25RdWFudGl0eSA9IGFkZG9uLnF1YW50aXR5ICYmIGFkZG9uLnF1YW50aXR5ID4gMCA/IGFkZG9uLnF1YW50aXR5IDogMTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogYWRkb24/LmFkZG9uPy5pZCwgbGFiZWw6IGFkZG9uLmFkZG9uLmRpc3BsYXlOYW1lLCBxdWFudGl0eTogYWRkb25RdWFudGl0eSwgcHJpY2U6IGFkZG9uUHJpY2UgfSkpO1xyXG4gICAgICAgICAgICAgICAgfSkpKSxcclxuICAgICAgICAgICAgIWhhc0Rpc2NvdW50cyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5kaXNjb3VudHNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSksXHJcbiAgICAgICAgICAgIHNob3dQcm9tb3Rpb25Db2RlTGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChQcm9tb3Rpb25Db2RlU2VjdGlvbiwgeyBkaXNhYmxlZDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIG9uTW9ja0NoZWNrb3V0UHJldmlldzogb25Nb2NrQ2hlY2tvdXRQcmV2aWV3IH0pKSxcclxuICAgICAgICAgICAgc2hvd0Rpc2NvdW50TGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChEaXNjb3VudExpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pKSxcclxuICAgICAgICAgICAgaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGF4TGluZUl0ZW0sIHsgdGF4OiByZWN1cnJpbmdJbnZvaWNlPy50YXgsIHRheERldGFpbHM6IHJlY3VycmluZ0ludm9pY2U/LnRheERldGFpbHMsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICAhaXNGcmVlRG93bmdyYWRlID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCB7IHN0eWxlOiB7IG1hcmdpblRvcDogMTYgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIiwgY29udGFpbmVyOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBkaXNwbGF5OiBcImZsZXhcIiwganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudG90YWxUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkub25seVBheUFzWW91R29UZXh0IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW9ubHlQYXlBc1lvdUdvQ2hhcmdlcyAmJiBoYXNQYXlBc1lvdUdvQ2hhcmdlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnN0YXJ0c0F0VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWN1cnJpbmdJbnZvaWNlPy50b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiYm9keTFcIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbEJpbGxpbmdQZXJpb2RUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSkpKSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSkpIDogbnVsbCxcclxuICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8ucHJvcmF0aW9uPy5oYXNQcm9yYXRpb25zICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbCAmJlxyXG4gICAgICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuYW1vdW50ID4gMCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnByb3JhdGVkVG90YWxEdWVUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbD8uYW1vdW50ICsgKGltbWVkaWF0ZUludm9pY2U/LnRheD8uYW1vdW50IHx8IDApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsLmN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkpKSkpIDogbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBcHBsaWVkQ3JlZGl0c0xpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRvdGFsRHVlVGV4dCwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoeyBhbW91bnQ6IDAsIC4uLmltbWVkaWF0ZUludm9pY2U/LnRvdGFsLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIgfSkpKSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0Q2FwdGlvbnMsIHsgcGxhbjogcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uOiBhY3RpdmVTdWJzY3JpcHRpb24sIHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChCdXR0b24sIHsgXCIkc3VjY2Vzc1wiOiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBcIiRlcnJvclwiOiBpc0xhc3RTdGVwICYmIGlzRnJlZURvd25ncmFkZSwgZGlzYWJsZWQ6IGlzTG9hZGluZyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKGlzTGFzdFN0ZXAgJiYgIWNoZWNrb3V0SGFzQ2hhbmdlcyksIGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWN0YS1idXR0b25cIiwgc3g6IHsgdGV4dFRyYW5zZm9ybTogJ25vbmUnLCBib3JkZXJSYWRpdXM6ICcxMHB4JywgbWFyZ2luVG9wOiAnMjRweCcsIGhlaWdodDogJzM2cHgnIH0sIHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsIHNpemU6IFwibWVkaXVtXCIsIG9uQ2xpY2s6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdm9pZCBvbkNoZWNrb3V0Q2xpY2soZSk7XHJcbiAgICAgICAgICAgICAgICB9LCBmdWxsV2lkdGg6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uLXRleHRcIiwgdmFyaWFudDogXCJoM1wiLCBjb2xvcjogXCJ3aGl0ZVwiLCBzdHlsZTogeyBkaXNwbGF5OiAnZmxleCcgfSB9LCBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbiwgeyBpY29uOiBcIkNoZWNrXCIsIHN0eWxlOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfSB9KSkgOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChDaXJjdWxhclByb2dyZXNzLCB7IHNpemU6IDIwLCBzeDogeyBjb2xvcjogJ3doaXRlJyB9IH0pKSA6IChyZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBpc0xhc3RTdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0SGFzQ2hhbmdlcyxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZyZWVEb3duZ3JhZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tvdXRMb2NhbGl6YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNQbGFuVXBkYXRlOiAhIWFjdGl2ZVN1YnNjcmlwdGlvbiAmJiBhY3RpdmVTdWJzY3JpcHRpb24/LnBsYW4uaWQgPT09IHBsYW4/LmlkLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUG93ZXJlZEJ5U3RpZ2csIHsgc291cmNlOiBcImNoZWNrb3V0XCIsIHNob3dXYXRlcm1hcms6IGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgc3R5bGU6IHsgbWFyZ2luVG9wOiA4LCBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9IH0pLFxyXG4gICAgICAgICFkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiAmJiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0U3VjY2VzcywgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpKSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoZWNrb3V0U3VtbWFyeS5qcy5tYXAiXX0= */",
|
|
13766
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEI0QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgdXNlWnVvcmFJbnRlZ3JhdGlvbiB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvenVvcmEvdXNlWnVvcmFJbnRlZ3JhdGlvbic7XHJcbmltcG9ydCB7IHVzZVp1b3JhU3VibWl0IH0gZnJvbSAnLi4vc3RlcHMvcGF5bWVudC96dW9yYS91c2VadW9yYVN1Ym1pdCc7XHJcbmltcG9ydCB7IENoZWNrb3V0Q2FwdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tvdXRDYXB0aW9ucyc7XHJcbmltcG9ydCB7IEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIEJpbGxlZFByaWNlTGluZUl0ZW0sIERpc2NvdW50TGluZUl0ZW0sIEZyZWVDaGFyZ2VMaW5lSXRlbSwgTGluZUl0ZW1Db250YWluZXIsIExpbmVJdGVtUm93LCBUYXhMaW5lSXRlbSwgfSBmcm9tICcuL2NvbXBvbmVudHMvTGluZUl0ZW1zJztcclxuaW1wb3J0IHsgV2l0aFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1dpdGhTa2VsZXRvbic7XHJcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9jb21tb24vSWNvbic7XHJcbmltcG9ydCB7IENoZWNrb3V0U3VjY2VzcyB9IGZyb20gJy4vQ2hlY2tvdXRTdWNjZXNzJztcclxuaW1wb3J0IHsgZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldEZlYXR1cmVOYW1lJztcclxuaW1wb3J0IHsgbXEgfSBmcm9tICcuLi8uLi9jb21tb24vbWVkaWFRdWVyeSc7XHJcbmV4cG9ydCBjb25zdCBTdW1tYXJ5Q29udGFpbmVyID0gc3R5bGVkKEJveCkgYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NzBweDtcbiAgZmxleDogMS41O1xuYDtcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDYXJkID0gc3R5bGVkKFBhcGVyKSBgXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3RpZ2cucGFsZXR0ZS5iYWNrZ3JvdW5kSGlnaGxpZ2h0fTtcbiAgcGFkZGluZzogMTZweDtcblxuICAke21xLm1kfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuYDtcclxuU3VtbWFyeUNhcmQuZGVmYXVsdFByb3BzID0ge1xyXG4gICAgZWxldmF0aW9uOiAwLFxyXG59O1xyXG5jb25zdCBTdW1tYXJ5VGl0bGUgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcclxuY29uc3QgU3R5bGVkRGl2aWRlciA9IHN0eWxlZChEaXZpZGVyKSBgXG4gIG1hcmdpbjogMTZweCAwO1xuYDtcclxuY29uc3QgVG90YWxEdWVUZXh0ID0gc3R5bGVkKFR5cG9ncmFwaHkpIGBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcclxuZnVuY3Rpb24gcmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7IGlzTGFzdFN0ZXAsIGNoZWNrb3V0SGFzQ2hhbmdlcywgaXNGcmVlRG93bmdyYWRlLCBjaGVja291dExvY2FsaXphdGlvbiwgaXNQbGFuVXBkYXRlLCB9KSB7XHJcbiAgICBpZiAoIWlzTGFzdFN0ZXApIHtcclxuICAgICAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24ubmV4dFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrb3V0SGFzQ2hhbmdlcykge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5ub0NoYW5nZXNUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzUGxhblVwZGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi51cGRhdGVUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzRnJlZURvd25ncmFkZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5kb3duZ3JhZGVUb0ZyZWVUZXh0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZ3JhZGVUZXh0O1xyXG59XHJcbmV4cG9ydCBjb25zdCBDaGVja291dFN1bW1hcnkgPSAoeyBvbkNoZWNrb3V0LCBvbkNoZWNrb3V0Q29tcGxldGVkLCBkaXNhYmxlUHJvbW90aW9uQ29kZSwgZGlzYWJsZVN1Y2Nlc3NBbmltYXRpb24sIGlzRnJlZURvd25ncmFkZSwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3LCBpc1dpZGdldFdhdGVybWFya0VuYWJsZWQsIH0pID0+IHtcclxuICAgIGNvbnN0IFtpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBzZXRJc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgc2V0RXJyb3JNZXNzYWdlLCB1c2VOZXdQYXltZW50TWV0aG9kIH0gPSB1c2VQYXltZW50U3RlcE1vZGVsKCk7XHJcbiAgICBjb25zdCBwcm9ncmVzc0JhciA9IHVzZVByb2dyZXNzQmFyTW9kZWwoKTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHVzZVN1YnNjcmlwdGlvbk1vZGVsKCk7XHJcbiAgICBjb25zdCB7IGNoZWNrb3V0U3RhdGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBjaGVja291dFN1Y2Nlc3MsIHdpZGdldFN0YXRlIH0gPSB1c2VDaGVja291dE1vZGVsKCk7XHJcbiAgICBjb25zdCB7IHBsYW4sIGFjdGl2ZVN1YnNjcmlwdGlvbiB9ID0gY2hlY2tvdXRTdGF0ZSB8fCB7fTtcclxuICAgIGNvbnN0IHBsYW5QcmljZXMgPSB1c2VDaGFyZ2VzU29ydChwbGFuPy5wcmljZVBvaW50cz8uZmlsdGVyKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpIHx8IFtdKTtcclxuICAgIGNvbnN0IFtiYXNlQ2hhcmdlcywgdXNhZ2VDaGFyZ2VzXSA9IHBhcnRpdGlvbihwbGFuUHJpY2VzLCAocHJpY2UpID0+IHByaWNlLnByaWNpbmdNb2RlbCA9PT0gQmlsbGluZ01vZGVsLkZsYXRGZWUpO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VdID0gYmFzZUNoYXJnZXMgfHwgW107XHJcbiAgICBjb25zdCBpc0xhc3RTdGVwID0gaXNGcmVlRG93bmdyYWRlIHx8IChwcm9ncmVzc0Jhci5pc0NoZWNrb3V0Q29tcGxldGUgJiYgcHJvZ3Jlc3NCYXIuaXNMYXN0U3RlcCk7XHJcbiAgICBjb25zdCB7IGlzWnVvcmFJbnRlZ3JhdGlvbiB9ID0gdXNlWnVvcmFJbnRlZ3JhdGlvbigpO1xyXG4gICAgY29uc3QgaXNDaGVja291dENvbXBsZXRlZCA9IGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkgfHwgY2hlY2tvdXRTdWNjZXNzO1xyXG4gICAgY29uc3QgeyBzdWJzY3JpcHRpb25QcmV2aWV3LCBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB9ID0gdXNlUHJldmlld1N1YnNjcmlwdGlvbih7IG9uTW9ja0NoZWNrb3V0UHJldmlldyB9KTtcclxuICAgIGNvbnN0IHsgaGFuZGxlU3VibWl0OiBoYW5kbGVTdHJpcGVTdWJtaXQsIGlzTG9hZGluZzogaXNTdHJpcGVMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVp1b3JhU3VibWl0IH0gPSB1c2VadW9yYVN1Ym1pdCh7XHJcbiAgICAgICAgb25DaGVja291dCxcclxuICAgICAgICBvbkNoZWNrb3V0Q29tcGxldGVkLFxyXG4gICAgICAgIGRpc2FibGVTdWNjZXNzQW5pbWF0aW9uLFxyXG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5tYXJrU3RlcEFzQ29tcGxldGVkKHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuYWN0aXZlU3RlcCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgaGFuZGxlQ2hlY2tvdXQgPSBhc3luYyAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChpc0NoZWNrb3V0Q29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgICBpZiAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IGhhbmRsZVp1b3JhU3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBoYW5kbGVTdHJpcGVTdWJtaXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgZXJyb3JNZXNzYWdlIH0gPSByZXN1bHQgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gVGhpcyBpcyBzYWRcclxuICAgIGNvbnN0IGlzTG9hZGluZyA9IGlzWnVvcmFJbnRlZ3JhdGlvbiAmJiAhdXNlTmV3UGF5bWVudE1ldGhvZCA/IHdpZGdldFN0YXRlLnJlYWRPbmx5IDogaXNTdHJpcGVMb2FkaW5nO1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZSAmJiAhaXNadW9yYUludGVncmF0aW9uO1xyXG4gICAgY29uc3Qgc2hvd0Rpc2NvdW50TGluZSA9ICEhcmVjdXJyaW5nSW52b2ljZT8uZGlzY291bnREZXRhaWxzICYmICFpc0ZyZWVEb3duZ3JhZGU7XHJcbiAgICBjb25zdCBoYXNEaXNjb3VudHMgPSBzaG93UHJvbW90aW9uQ29kZUxpbmUgfHwgc2hvd0Rpc2NvdW50TGluZTtcclxuICAgIGNvbnN0IGhhc1BheUFzWW91R29DaGFyZ2VzID0gdXNhZ2VDaGFyZ2VzLnNvbWUoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA9IGhhc1BheUFzWW91R29DaGFyZ2VzICYmXHJcbiAgICAgICAgIWJhc2VDaGFyZ2UgJiZcclxuICAgICAgICB1c2FnZUNoYXJnZXMuZXZlcnkoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IGJhc2VDaGFyZ2VMYWJlbCA9IHR5cGVvZiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0ID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSlcclxuICAgICAgICA6IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYmFzZUNoYXJnZVRleHQ7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3VtbWFyeUNvbnRhaW5lciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDYXJkLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlUaXRsZSwgeyB2YXJpYW50OiBcImgzXCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50aXRsZSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1wbGFuLXRpdGxlLWNvbnRhaW5lclwiLCBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5wbGFuTmFtZSh7IHBsYW46IHBsYW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSxcclxuICAgICAgICAgICAgYmFzZUNoYXJnZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCwgcXVhbnRpdHk6IDEsIHByaWNlOiBiYXNlQ2hhcmdlIH0pKSxcclxuICAgICAgICAgICAgIWJhc2VDaGFyZ2UgJiYgaXNGcmVlRG93bmdyYWRlID8gUmVhY3QuY3JlYXRlRWxlbWVudChGcmVlQ2hhcmdlTGluZUl0ZW0sIHsgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCB9KSA6IG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS11c2FnZS1jaGFyZ2VzLWNvbnRhaW5lclwiIH0sIHVzYWdlQ2hhcmdlcy5tYXAoKHByaWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcmljZUJpbGxhYmxlRmVhdHVyZSA9IHN1YnNjcmlwdGlvbi5iaWxsYWJsZUZlYXR1cmVzPy5maW5kKChiaWxsYWJsZUZlYXR1cmUpID0+IGJpbGxhYmxlRmVhdHVyZS5mZWF0dXJlSWQgPT09IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogcHJpY2UuZmVhdHVyZT8uZmVhdHVyZUlkLCBsYWJlbDogZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dChwcmljZS5mZWF0dXJlPy5kaXNwbGF5TmFtZSB8fCAnJywgcHJpY2UuZmVhdHVyZT8udW5pdHMsIHByaWNlLmZlYXR1cmU/LnVuaXRzUGx1cmFsKSwgcXVhbnRpdHk6IHByaWNlQmlsbGFibGVGZWF0dXJlPy5xdWFudGl0eSB8fCAxLCBwcmljZTogcHJpY2UgfSkpO1xyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICEhc3Vic2NyaXB0aW9uLmFkZG9ucz8ubGVuZ3RoICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5hZGRvbnNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkb25zLm1hcCgoYWRkb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblByaWNlID0gYWRkb24uYWRkb24ucHJpY2VQb2ludHM/LmZpbmQoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhZGRvblByaWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblF1YW50aXR5ID0gYWRkb24ucXVhbnRpdHkgJiYgYWRkb24ucXVhbnRpdHkgPiAwID8gYWRkb24ucXVhbnRpdHkgOiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwga2V5OiBhZGRvbj8uYWRkb24/LmlkLCBsYWJlbDogYWRkb24uYWRkb24uZGlzcGxheU5hbWUsIHF1YW50aXR5OiBhZGRvblF1YW50aXR5LCBwcmljZTogYWRkb25QcmljZSB9KSk7XHJcbiAgICAgICAgICAgICAgICB9KSkpLFxyXG4gICAgICAgICAgICAhaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIGhhc0Rpc2NvdW50cyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiLCBjb2xvcjogXCJwcmltYXJ5XCIsIHN0eWxlOiB7IHBhZGRpbmdSaWdodDogJzhweCcgfSB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmRpc2NvdW50c1NlY3Rpb25UaXRsZSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpKSxcclxuICAgICAgICAgICAgc2hvd1Byb21vdGlvbkNvZGVMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFByb21vdGlvbkNvZGVTZWN0aW9uLCB7IGRpc2FibGVkOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcsIGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3OiBvbk1vY2tDaGVja291dFByZXZpZXcgfSkpLFxyXG4gICAgICAgICAgICBzaG93RGlzY291bnRMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KERpc2NvdW50TGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYXhMaW5lSXRlbSwgeyB0YXg6IHJlY3VycmluZ0ludm9pY2U/LnRheCwgdGF4RGV0YWlsczogcmVjdXJyaW5nSW52b2ljZT8udGF4RGV0YWlscywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgICFpc0ZyZWVEb3duZ3JhZGUgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Sb3csIHsgc3R5bGU6IHsgbWFyZ2luVG9wOiAxNiB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLCBjb250YWluZXI6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGl0ZW06IHRydWUsIGRpc3BsYXk6IFwiZmxleFwiLCBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seVBheUFzWW91R29DaGFyZ2VzID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5vbmx5UGF5QXNZb3VHb1RleHQgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzICYmIGhhc1BheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuc3RhcnRzQXRUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFvbmx5UGF5QXNZb3VHb0NoYXJnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlY3VycmluZ0ludm9pY2U/LnRvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsQmlsbGluZ1BlcmlvZFRleHQoeyBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSkpKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5wcm9yYXRpb24/Lmhhc1Byb3JhdGlvbnMgJiZcclxuICAgICAgICAgICAgICAgIGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbC5hbW91bnQgPiAwID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucHJvcmF0ZWRUb3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsPy5hbW91bnQgKyAoaW1tZWRpYXRlSW52b2ljZT8udGF4Py5hbW91bnQgfHwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSkpKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsRHVlVGV4dCksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUb3RhbER1ZVRleHQsIHsgdmFyaWFudDogXCJoNlwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7IGFtb3VudDogMCwgLi4uaW1tZWRpYXRlSW52b2ljZT8udG90YWwsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMiB9KSkpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRDYXB0aW9ucywgeyBwbGFuOiBwbGFuLCBhY3RpdmVTdWJzY3JpcHRpb246IGFjdGl2ZVN1YnNjcmlwdGlvbiwgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pLFxyXG4gICAgICAgICAgICAoIWlzTGFzdFN0ZXAgfHwgIWlzWnVvcmFJbnRlZ3JhdGlvbiB8fCAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7IFwiJHN1Y2Nlc3NcIjogaXNDaGVja291dENvbXBsZXRlZCwgXCIkZXJyb3JcIjogaXNMYXN0U3RlcCAmJiBpc0ZyZWVEb3duZ3JhZGUsIGRpc2FibGVkOiBpc0xvYWRpbmcgfHxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChpc0xhc3RTdGVwICYmICFjaGVja291dEhhc0NoYW5nZXMpLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uXCIsIHN4OiB7IHRleHRUcmFuc2Zvcm06ICdub25lJywgYm9yZGVyUmFkaXVzOiAnMTBweCcsIG1hcmdpblRvcDogJzI0cHgnLCBoZWlnaHQ6ICczNnB4JyB9LCB2YXJpYW50OiBcImNvbnRhaW5lZFwiLCBzaXplOiBcIm1lZGl1bVwiLCBvbkNsaWNrOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgb25DaGVja291dENsaWNrKGUpO1xyXG4gICAgICAgICAgICAgICAgfSwgZnVsbFdpZHRoOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktY3RhLWJ1dHRvbi10ZXh0XCIsIHZhcmlhbnQ6IFwiaDNcIiwgY29sb3I6IFwid2hpdGVcIiwgc3R5bGU6IHsgZGlzcGxheTogJ2ZsZXgnIH0gfSwgaXNDaGVja291dENvbXBsZXRlZCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHsgaWNvbjogXCJDaGVja1wiLCBzdHlsZTogeyBkaXNwbGF5OiAnY29udGVudHMnIH0gfSkpIDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2lyY3VsYXJQcm9ncmVzcywgeyBzaXplOiAyMCwgc3g6IHsgY29sb3I6ICd3aGl0ZScgfSB9KSkgOiAocmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0U3RlcCxcclxuICAgICAgICAgICAgICAgICAgICBjaGVja291dEhhc0NoYW5nZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNGcmVlRG93bmdyYWRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0TG9jYWxpemF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzUGxhblVwZGF0ZTogISFhY3RpdmVTdWJzY3JpcHRpb24gJiYgYWN0aXZlU3Vic2NyaXB0aW9uPy5wbGFuLmlkID09PSBwbGFuPy5pZCxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSksXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQb3dlcmVkQnlTdGlnZywgeyBzb3VyY2U6IFwiY2hlY2tvdXRcIiwgc2hvd1dhdGVybWFyazogaXNXaWRnZXRXYXRlcm1hcmtFbmFibGVkLCBzdHlsZTogeyBtYXJnaW5Ub3A6IDgsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH0gfSksXHJcbiAgICAgICAgIWRpc2FibGVTdWNjZXNzQW5pbWF0aW9uICYmIGlzQ2hlY2tvdXRDb21wbGV0ZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRTdWNjZXNzLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiB9KSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hlY2tvdXRTdW1tYXJ5LmpzLm1hcCJdfQ== */",
|
|
13442
13767
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13443
13768
|
});
|
|
13444
13769
|
var SummaryCard = /*#__PURE__*/_styled(Paper, process.env.NODE_ENV === "production" ? {
|
|
@@ -13449,7 +13774,7 @@ var SummaryCard = /*#__PURE__*/_styled(Paper, process.env.NODE_ENV === "producti
|
|
|
13449
13774
|
})("background:", function (_ref) {
|
|
13450
13775
|
var theme = _ref.theme;
|
|
13451
13776
|
return theme.stigg.palette.backgroundHighlight;
|
|
13452
|
-
}, ";padding:16px;", mq.md, "{border-radius:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJ5QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRDYXB0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy9DaGVja291dENhcHRpb25zJztcclxuaW1wb3J0IHsgQXBwbGllZENyZWRpdHNMaW5lSXRlbSwgQmlsbGVkUHJpY2VMaW5lSXRlbSwgRGlzY291bnRMaW5lSXRlbSwgRnJlZUNoYXJnZUxpbmVJdGVtLCBMaW5lSXRlbUNvbnRhaW5lciwgTGluZUl0ZW1Sb3csIFRheExpbmVJdGVtLCB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5lSXRlbXMnO1xyXG5pbXBvcnQgeyBXaXRoU2tlbGV0b24gfSBmcm9tICcuL2NvbXBvbmVudHMvV2l0aFNrZWxldG9uJztcclxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9JY29uJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRTdWNjZXNzIH0gZnJvbSAnLi9DaGVja291dFN1Y2Nlc3MnO1xyXG5pbXBvcnQgeyBnZXRGZWF0dXJlRGlzcGxheU5hbWVUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0RmVhdHVyZU5hbWUnO1xyXG5pbXBvcnQgeyBtcSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tZWRpYVF1ZXJ5JztcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDb250YWluZXIgPSBzdHlsZWQoQm94KSBgXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ3MHB4O1xuICBmbGV4OiAxLjU7XG5gO1xyXG5leHBvcnQgY29uc3QgU3VtbWFyeUNhcmQgPSBzdHlsZWQoUGFwZXIpIGBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zdGlnZy5wYWxldHRlLmJhY2tncm91bmRIaWdobGlnaHR9O1xuICBwYWRkaW5nOiAxNnB4O1xuXG4gICR7bXEubWR9IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5gO1xyXG5TdW1tYXJ5Q2FyZC5kZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBlbGV2YXRpb246IDAsXHJcbn07XHJcbmNvbnN0IFN1bW1hcnlUaXRsZSA9IHN0eWxlZChUeXBvZ3JhcGh5KSBgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xyXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkKERpdmlkZXIpIGBcbiAgbWFyZ2luOiAxNnB4IDA7XG5gO1xyXG5jb25zdCBUb3RhbER1ZVRleHQgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xyXG5mdW5jdGlvbiByZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHsgaXNMYXN0U3RlcCwgY2hlY2tvdXRIYXNDaGFuZ2VzLCBpc0ZyZWVEb3duZ3JhZGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBpc1BsYW5VcGRhdGUsIH0pIHtcclxuICAgIGlmICghaXNMYXN0U3RlcCkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5uZXh0VGV4dDtcclxuICAgIH1cclxuICAgIGlmICghY2hlY2tvdXRIYXNDaGFuZ2VzKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLm5vQ2hhbmdlc1RleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNQbGFuVXBkYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZGF0ZVRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNGcmVlRG93bmdyYWRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLmRvd25ncmFkZVRvRnJlZVRleHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24udXBncmFkZVRleHQ7XHJcbn1cclxuZXhwb3J0IGNvbnN0IENoZWNrb3V0U3VtbWFyeSA9ICh7IG9uQ2hlY2tvdXQsIG9uQ2hlY2tvdXRDb21wbGV0ZWQsIGRpc2FibGVQcm9tb3Rpb25Db2RlLCBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiwgaXNGcmVlRG93bmdyYWRlLCBvbk1vY2tDaGVja291dFByZXZpZXcsIGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgfSkgPT4ge1xyXG4gICAgY29uc3QgW2lzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHksIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHldID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgeyBzZXRFcnJvck1lc3NhZ2UgfSA9IHVzZVBheW1lbnRTdGVwTW9kZWwoKTtcclxuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdXNlUHJvZ3Jlc3NCYXJNb2RlbCgpO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdXNlU3Vic2NyaXB0aW9uTW9kZWwoKTtcclxuICAgIGNvbnN0IHsgY2hlY2tvdXRTdGF0ZSwgY2hlY2tvdXRMb2NhbGl6YXRpb24gfSA9IHVzZUNoZWNrb3V0TW9kZWwoKTtcclxuICAgIGNvbnN0IHsgcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uIH0gPSBjaGVja291dFN0YXRlIHx8IHt9O1xyXG4gICAgY29uc3QgcGxhblByaWNlcyA9IHVzZUNoYXJnZXNTb3J0KHBsYW4/LnByaWNlUG9pbnRzPy5maWx0ZXIoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCkgfHwgW10pO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VzLCB1c2FnZUNoYXJnZXNdID0gcGFydGl0aW9uKHBsYW5QcmljZXMsIChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuRmxhdEZlZSk7XHJcbiAgICBjb25zdCBbYmFzZUNoYXJnZV0gPSBiYXNlQ2hhcmdlcyB8fCBbXTtcclxuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBpc0ZyZWVEb3duZ3JhZGUgfHwgKHByb2dyZXNzQmFyLmlzQ2hlY2tvdXRDb21wbGV0ZSAmJiBwcm9ncmVzc0Jhci5pc0xhc3RTdGVwKTtcclxuICAgIGNvbnN0IHsgc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSA9IHVzZVByZXZpZXdTdWJzY3JpcHRpb24oeyBvbk1vY2tDaGVja291dFByZXZpZXcgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVN1Ym1pdCwgaXNMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBoYW5kbGVDaGVja291dCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGVycm9yTWVzc2FnZSB9ID0gKGF3YWl0IGhhbmRsZVN1Ym1pdChlKSkgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZTtcclxuICAgIGNvbnN0IHNob3dEaXNjb3VudExpbmUgPSAhIXJlY3VycmluZ0ludm9pY2U/LmRpc2NvdW50RGV0YWlscyAmJiAhaXNGcmVlRG93bmdyYWRlO1xyXG4gICAgY29uc3QgaGFzRGlzY291bnRzID0gc2hvd1Byb21vdGlvbkNvZGVMaW5lIHx8IHNob3dEaXNjb3VudExpbmU7XHJcbiAgICBjb25zdCBoYXNQYXlBc1lvdUdvQ2hhcmdlcyA9IHVzYWdlQ2hhcmdlcy5zb21lKChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBvbmx5UGF5QXNZb3VHb0NoYXJnZXMgPSBoYXNQYXlBc1lvdUdvQ2hhcmdlcyAmJlxyXG4gICAgICAgICFiYXNlQ2hhcmdlICYmXHJcbiAgICAgICAgdXNhZ2VDaGFyZ2VzLmV2ZXJ5KChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBiYXNlQ2hhcmdlTGFiZWwgPSB0eXBlb2YgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgICAgID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCh7IGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pXHJcbiAgICAgICAgOiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDb250YWluZXIsIG51bGwsXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5Q2FyZCwgbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5VGl0bGUsIHsgdmFyaWFudDogXCJoM1wiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudGl0bGUpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktcGxhbi10aXRsZS1jb250YWluZXJcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIG1hcmdpblk6IDIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucGxhbk5hbWUoeyBwbGFuOiBwbGFuIH0pKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgIGJhc2VDaGFyZ2UgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwsIHF1YW50aXR5OiAxLCBwcmljZTogYmFzZUNoYXJnZSB9KSksXHJcbiAgICAgICAgICAgICFiYXNlQ2hhcmdlICYmIGlzRnJlZURvd25ncmFkZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJlZUNoYXJnZUxpbmVJdGVtLCB7IGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwgfSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSwgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktdXNhZ2UtY2hhcmdlcy1jb250YWluZXJcIiB9LCB1c2FnZUNoYXJnZXMubWFwKChwcmljZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJpY2VCaWxsYWJsZUZlYXR1cmUgPSBzdWJzY3JpcHRpb24uYmlsbGFibGVGZWF0dXJlcz8uZmluZCgoYmlsbGFibGVGZWF0dXJlKSA9PiBiaWxsYWJsZUZlYXR1cmUuZmVhdHVyZUlkID09PSBwcmljZS5mZWF0dXJlPy5mZWF0dXJlSWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEJpbGxlZFByaWNlTGluZUl0ZW0sIHsgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBrZXk6IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCwgbGFiZWw6IGdldEZlYXR1cmVEaXNwbGF5TmFtZVRleHQocHJpY2UuZmVhdHVyZT8uZGlzcGxheU5hbWUgfHwgJycsIHByaWNlLmZlYXR1cmU/LnVuaXRzLCBwcmljZS5mZWF0dXJlPy51bml0c1BsdXJhbCksIHF1YW50aXR5OiBwcmljZUJpbGxhYmxlRmVhdHVyZT8ucXVhbnRpdHkgfHwgMSwgcHJpY2U6IHByaWNlIH0pKTtcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAhIXN1YnNjcmlwdGlvbi5hZGRvbnM/Lmxlbmd0aCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYWRkb25zU2VjdGlvblRpdGxlKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZG9ucy5tYXAoKGFkZG9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25QcmljZSA9IGFkZG9uLmFkZG9uLnByaWNlUG9pbnRzPy5maW5kKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWRkb25QcmljZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25RdWFudGl0eSA9IGFkZG9uLnF1YW50aXR5ICYmIGFkZG9uLnF1YW50aXR5ID4gMCA/IGFkZG9uLnF1YW50aXR5IDogMTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogYWRkb24/LmFkZG9uPy5pZCwgbGFiZWw6IGFkZG9uLmFkZG9uLmRpc3BsYXlOYW1lLCBxdWFudGl0eTogYWRkb25RdWFudGl0eSwgcHJpY2U6IGFkZG9uUHJpY2UgfSkpO1xyXG4gICAgICAgICAgICAgICAgfSkpKSxcclxuICAgICAgICAgICAgIWhhc0Rpc2NvdW50cyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5kaXNjb3VudHNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSksXHJcbiAgICAgICAgICAgIHNob3dQcm9tb3Rpb25Db2RlTGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChQcm9tb3Rpb25Db2RlU2VjdGlvbiwgeyBkaXNhYmxlZDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIG9uTW9ja0NoZWNrb3V0UHJldmlldzogb25Nb2NrQ2hlY2tvdXRQcmV2aWV3IH0pKSxcclxuICAgICAgICAgICAgc2hvd0Rpc2NvdW50TGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChEaXNjb3VudExpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pKSxcclxuICAgICAgICAgICAgaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGF4TGluZUl0ZW0sIHsgdGF4OiByZWN1cnJpbmdJbnZvaWNlPy50YXgsIHRheERldGFpbHM6IHJlY3VycmluZ0ludm9pY2U/LnRheERldGFpbHMsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICAhaXNGcmVlRG93bmdyYWRlID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCB7IHN0eWxlOiB7IG1hcmdpblRvcDogMTYgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIiwgY29udGFpbmVyOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBkaXNwbGF5OiBcImZsZXhcIiwganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudG90YWxUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkub25seVBheUFzWW91R29UZXh0IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW9ubHlQYXlBc1lvdUdvQ2hhcmdlcyAmJiBoYXNQYXlBc1lvdUdvQ2hhcmdlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnN0YXJ0c0F0VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWN1cnJpbmdJbnZvaWNlPy50b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiYm9keTFcIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbEJpbGxpbmdQZXJpb2RUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSkpKSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSkpIDogbnVsbCxcclxuICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8ucHJvcmF0aW9uPy5oYXNQcm9yYXRpb25zICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbCAmJlxyXG4gICAgICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuYW1vdW50ID4gMCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnByb3JhdGVkVG90YWxEdWVUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbD8uYW1vdW50ICsgKGltbWVkaWF0ZUludm9pY2U/LnRheD8uYW1vdW50IHx8IDApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsLmN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkpKSkpIDogbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBcHBsaWVkQ3JlZGl0c0xpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRvdGFsRHVlVGV4dCwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoeyBhbW91bnQ6IDAsIC4uLmltbWVkaWF0ZUludm9pY2U/LnRvdGFsLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIgfSkpKSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0Q2FwdGlvbnMsIHsgcGxhbjogcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uOiBhY3RpdmVTdWJzY3JpcHRpb24sIHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChCdXR0b24sIHsgXCIkc3VjY2Vzc1wiOiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBcIiRlcnJvclwiOiBpc0xhc3RTdGVwICYmIGlzRnJlZURvd25ncmFkZSwgZGlzYWJsZWQ6IGlzTG9hZGluZyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKGlzTGFzdFN0ZXAgJiYgIWNoZWNrb3V0SGFzQ2hhbmdlcyksIGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWN0YS1idXR0b25cIiwgc3g6IHsgdGV4dFRyYW5zZm9ybTogJ25vbmUnLCBib3JkZXJSYWRpdXM6ICcxMHB4JywgbWFyZ2luVG9wOiAnMjRweCcsIGhlaWdodDogJzM2cHgnIH0sIHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsIHNpemU6IFwibWVkaXVtXCIsIG9uQ2xpY2s6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdm9pZCBvbkNoZWNrb3V0Q2xpY2soZSk7XHJcbiAgICAgICAgICAgICAgICB9LCBmdWxsV2lkdGg6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uLXRleHRcIiwgdmFyaWFudDogXCJoM1wiLCBjb2xvcjogXCJ3aGl0ZVwiLCBzdHlsZTogeyBkaXNwbGF5OiAnZmxleCcgfSB9LCBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbiwgeyBpY29uOiBcIkNoZWNrXCIsIHN0eWxlOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfSB9KSkgOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChDaXJjdWxhclByb2dyZXNzLCB7IHNpemU6IDIwLCBzeDogeyBjb2xvcjogJ3doaXRlJyB9IH0pKSA6IChyZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBpc0xhc3RTdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0SGFzQ2hhbmdlcyxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZyZWVEb3duZ3JhZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tvdXRMb2NhbGl6YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNQbGFuVXBkYXRlOiAhIWFjdGl2ZVN1YnNjcmlwdGlvbiAmJiBhY3RpdmVTdWJzY3JpcHRpb24/LnBsYW4uaWQgPT09IHBsYW4/LmlkLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUG93ZXJlZEJ5U3RpZ2csIHsgc291cmNlOiBcImNoZWNrb3V0XCIsIHNob3dXYXRlcm1hcms6IGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgc3R5bGU6IHsgbWFyZ2luVG9wOiA4LCBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9IH0pLFxyXG4gICAgICAgICFkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiAmJiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0U3VjY2VzcywgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpKSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoZWNrb3V0U3VtbWFyeS5qcy5tYXAiXX0= */"));
|
|
13777
|
+
}, ";padding:16px;", mq.md, "{border-radius:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0J5QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgdXNlWnVvcmFJbnRlZ3JhdGlvbiB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvenVvcmEvdXNlWnVvcmFJbnRlZ3JhdGlvbic7XHJcbmltcG9ydCB7IHVzZVp1b3JhU3VibWl0IH0gZnJvbSAnLi4vc3RlcHMvcGF5bWVudC96dW9yYS91c2VadW9yYVN1Ym1pdCc7XHJcbmltcG9ydCB7IENoZWNrb3V0Q2FwdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tvdXRDYXB0aW9ucyc7XHJcbmltcG9ydCB7IEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIEJpbGxlZFByaWNlTGluZUl0ZW0sIERpc2NvdW50TGluZUl0ZW0sIEZyZWVDaGFyZ2VMaW5lSXRlbSwgTGluZUl0ZW1Db250YWluZXIsIExpbmVJdGVtUm93LCBUYXhMaW5lSXRlbSwgfSBmcm9tICcuL2NvbXBvbmVudHMvTGluZUl0ZW1zJztcclxuaW1wb3J0IHsgV2l0aFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1dpdGhTa2VsZXRvbic7XHJcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9jb21tb24vSWNvbic7XHJcbmltcG9ydCB7IENoZWNrb3V0U3VjY2VzcyB9IGZyb20gJy4vQ2hlY2tvdXRTdWNjZXNzJztcclxuaW1wb3J0IHsgZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldEZlYXR1cmVOYW1lJztcclxuaW1wb3J0IHsgbXEgfSBmcm9tICcuLi8uLi9jb21tb24vbWVkaWFRdWVyeSc7XHJcbmV4cG9ydCBjb25zdCBTdW1tYXJ5Q29udGFpbmVyID0gc3R5bGVkKEJveCkgYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NzBweDtcbiAgZmxleDogMS41O1xuYDtcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDYXJkID0gc3R5bGVkKFBhcGVyKSBgXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3RpZ2cucGFsZXR0ZS5iYWNrZ3JvdW5kSGlnaGxpZ2h0fTtcbiAgcGFkZGluZzogMTZweDtcblxuICAke21xLm1kfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuYDtcclxuU3VtbWFyeUNhcmQuZGVmYXVsdFByb3BzID0ge1xyXG4gICAgZWxldmF0aW9uOiAwLFxyXG59O1xyXG5jb25zdCBTdW1tYXJ5VGl0bGUgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcclxuY29uc3QgU3R5bGVkRGl2aWRlciA9IHN0eWxlZChEaXZpZGVyKSBgXG4gIG1hcmdpbjogMTZweCAwO1xuYDtcclxuY29uc3QgVG90YWxEdWVUZXh0ID0gc3R5bGVkKFR5cG9ncmFwaHkpIGBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcclxuZnVuY3Rpb24gcmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7IGlzTGFzdFN0ZXAsIGNoZWNrb3V0SGFzQ2hhbmdlcywgaXNGcmVlRG93bmdyYWRlLCBjaGVja291dExvY2FsaXphdGlvbiwgaXNQbGFuVXBkYXRlLCB9KSB7XHJcbiAgICBpZiAoIWlzTGFzdFN0ZXApIHtcclxuICAgICAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24ubmV4dFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrb3V0SGFzQ2hhbmdlcykge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5ub0NoYW5nZXNUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzUGxhblVwZGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi51cGRhdGVUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzRnJlZURvd25ncmFkZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5kb3duZ3JhZGVUb0ZyZWVUZXh0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZ3JhZGVUZXh0O1xyXG59XHJcbmV4cG9ydCBjb25zdCBDaGVja291dFN1bW1hcnkgPSAoeyBvbkNoZWNrb3V0LCBvbkNoZWNrb3V0Q29tcGxldGVkLCBkaXNhYmxlUHJvbW90aW9uQ29kZSwgZGlzYWJsZVN1Y2Nlc3NBbmltYXRpb24sIGlzRnJlZURvd25ncmFkZSwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3LCBpc1dpZGdldFdhdGVybWFya0VuYWJsZWQsIH0pID0+IHtcclxuICAgIGNvbnN0IFtpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBzZXRJc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgc2V0RXJyb3JNZXNzYWdlLCB1c2VOZXdQYXltZW50TWV0aG9kIH0gPSB1c2VQYXltZW50U3RlcE1vZGVsKCk7XHJcbiAgICBjb25zdCBwcm9ncmVzc0JhciA9IHVzZVByb2dyZXNzQmFyTW9kZWwoKTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHVzZVN1YnNjcmlwdGlvbk1vZGVsKCk7XHJcbiAgICBjb25zdCB7IGNoZWNrb3V0U3RhdGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBjaGVja291dFN1Y2Nlc3MsIHdpZGdldFN0YXRlIH0gPSB1c2VDaGVja291dE1vZGVsKCk7XHJcbiAgICBjb25zdCB7IHBsYW4sIGFjdGl2ZVN1YnNjcmlwdGlvbiB9ID0gY2hlY2tvdXRTdGF0ZSB8fCB7fTtcclxuICAgIGNvbnN0IHBsYW5QcmljZXMgPSB1c2VDaGFyZ2VzU29ydChwbGFuPy5wcmljZVBvaW50cz8uZmlsdGVyKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpIHx8IFtdKTtcclxuICAgIGNvbnN0IFtiYXNlQ2hhcmdlcywgdXNhZ2VDaGFyZ2VzXSA9IHBhcnRpdGlvbihwbGFuUHJpY2VzLCAocHJpY2UpID0+IHByaWNlLnByaWNpbmdNb2RlbCA9PT0gQmlsbGluZ01vZGVsLkZsYXRGZWUpO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VdID0gYmFzZUNoYXJnZXMgfHwgW107XHJcbiAgICBjb25zdCBpc0xhc3RTdGVwID0gaXNGcmVlRG93bmdyYWRlIHx8IChwcm9ncmVzc0Jhci5pc0NoZWNrb3V0Q29tcGxldGUgJiYgcHJvZ3Jlc3NCYXIuaXNMYXN0U3RlcCk7XHJcbiAgICBjb25zdCB7IGlzWnVvcmFJbnRlZ3JhdGlvbiB9ID0gdXNlWnVvcmFJbnRlZ3JhdGlvbigpO1xyXG4gICAgY29uc3QgaXNDaGVja291dENvbXBsZXRlZCA9IGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkgfHwgY2hlY2tvdXRTdWNjZXNzO1xyXG4gICAgY29uc3QgeyBzdWJzY3JpcHRpb25QcmV2aWV3LCBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB9ID0gdXNlUHJldmlld1N1YnNjcmlwdGlvbih7IG9uTW9ja0NoZWNrb3V0UHJldmlldyB9KTtcclxuICAgIGNvbnN0IHsgaGFuZGxlU3VibWl0OiBoYW5kbGVTdHJpcGVTdWJtaXQsIGlzTG9hZGluZzogaXNTdHJpcGVMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVp1b3JhU3VibWl0IH0gPSB1c2VadW9yYVN1Ym1pdCh7XHJcbiAgICAgICAgb25DaGVja291dCxcclxuICAgICAgICBvbkNoZWNrb3V0Q29tcGxldGVkLFxyXG4gICAgICAgIGRpc2FibGVTdWNjZXNzQW5pbWF0aW9uLFxyXG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5tYXJrU3RlcEFzQ29tcGxldGVkKHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuYWN0aXZlU3RlcCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgaGFuZGxlQ2hlY2tvdXQgPSBhc3luYyAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChpc0NoZWNrb3V0Q29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgICBpZiAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IGhhbmRsZVp1b3JhU3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBoYW5kbGVTdHJpcGVTdWJtaXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgZXJyb3JNZXNzYWdlIH0gPSByZXN1bHQgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gVGhpcyBpcyBzYWRcclxuICAgIGNvbnN0IGlzTG9hZGluZyA9IGlzWnVvcmFJbnRlZ3JhdGlvbiAmJiAhdXNlTmV3UGF5bWVudE1ldGhvZCA/IHdpZGdldFN0YXRlLnJlYWRPbmx5IDogaXNTdHJpcGVMb2FkaW5nO1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZSAmJiAhaXNadW9yYUludGVncmF0aW9uO1xyXG4gICAgY29uc3Qgc2hvd0Rpc2NvdW50TGluZSA9ICEhcmVjdXJyaW5nSW52b2ljZT8uZGlzY291bnREZXRhaWxzICYmICFpc0ZyZWVEb3duZ3JhZGU7XHJcbiAgICBjb25zdCBoYXNEaXNjb3VudHMgPSBzaG93UHJvbW90aW9uQ29kZUxpbmUgfHwgc2hvd0Rpc2NvdW50TGluZTtcclxuICAgIGNvbnN0IGhhc1BheUFzWW91R29DaGFyZ2VzID0gdXNhZ2VDaGFyZ2VzLnNvbWUoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA9IGhhc1BheUFzWW91R29DaGFyZ2VzICYmXHJcbiAgICAgICAgIWJhc2VDaGFyZ2UgJiZcclxuICAgICAgICB1c2FnZUNoYXJnZXMuZXZlcnkoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IGJhc2VDaGFyZ2VMYWJlbCA9IHR5cGVvZiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0ID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSlcclxuICAgICAgICA6IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYmFzZUNoYXJnZVRleHQ7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3VtbWFyeUNvbnRhaW5lciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDYXJkLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlUaXRsZSwgeyB2YXJpYW50OiBcImgzXCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50aXRsZSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1wbGFuLXRpdGxlLWNvbnRhaW5lclwiLCBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5wbGFuTmFtZSh7IHBsYW46IHBsYW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSxcclxuICAgICAgICAgICAgYmFzZUNoYXJnZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCwgcXVhbnRpdHk6IDEsIHByaWNlOiBiYXNlQ2hhcmdlIH0pKSxcclxuICAgICAgICAgICAgIWJhc2VDaGFyZ2UgJiYgaXNGcmVlRG93bmdyYWRlID8gUmVhY3QuY3JlYXRlRWxlbWVudChGcmVlQ2hhcmdlTGluZUl0ZW0sIHsgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCB9KSA6IG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS11c2FnZS1jaGFyZ2VzLWNvbnRhaW5lclwiIH0sIHVzYWdlQ2hhcmdlcy5tYXAoKHByaWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcmljZUJpbGxhYmxlRmVhdHVyZSA9IHN1YnNjcmlwdGlvbi5iaWxsYWJsZUZlYXR1cmVzPy5maW5kKChiaWxsYWJsZUZlYXR1cmUpID0+IGJpbGxhYmxlRmVhdHVyZS5mZWF0dXJlSWQgPT09IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogcHJpY2UuZmVhdHVyZT8uZmVhdHVyZUlkLCBsYWJlbDogZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dChwcmljZS5mZWF0dXJlPy5kaXNwbGF5TmFtZSB8fCAnJywgcHJpY2UuZmVhdHVyZT8udW5pdHMsIHByaWNlLmZlYXR1cmU/LnVuaXRzUGx1cmFsKSwgcXVhbnRpdHk6IHByaWNlQmlsbGFibGVGZWF0dXJlPy5xdWFudGl0eSB8fCAxLCBwcmljZTogcHJpY2UgfSkpO1xyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICEhc3Vic2NyaXB0aW9uLmFkZG9ucz8ubGVuZ3RoICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5hZGRvbnNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkb25zLm1hcCgoYWRkb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblByaWNlID0gYWRkb24uYWRkb24ucHJpY2VQb2ludHM/LmZpbmQoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhZGRvblByaWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblF1YW50aXR5ID0gYWRkb24ucXVhbnRpdHkgJiYgYWRkb24ucXVhbnRpdHkgPiAwID8gYWRkb24ucXVhbnRpdHkgOiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwga2V5OiBhZGRvbj8uYWRkb24/LmlkLCBsYWJlbDogYWRkb24uYWRkb24uZGlzcGxheU5hbWUsIHF1YW50aXR5OiBhZGRvblF1YW50aXR5LCBwcmljZTogYWRkb25QcmljZSB9KSk7XHJcbiAgICAgICAgICAgICAgICB9KSkpLFxyXG4gICAgICAgICAgICAhaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIGhhc0Rpc2NvdW50cyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiLCBjb2xvcjogXCJwcmltYXJ5XCIsIHN0eWxlOiB7IHBhZGRpbmdSaWdodDogJzhweCcgfSB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmRpc2NvdW50c1NlY3Rpb25UaXRsZSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpKSxcclxuICAgICAgICAgICAgc2hvd1Byb21vdGlvbkNvZGVMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFByb21vdGlvbkNvZGVTZWN0aW9uLCB7IGRpc2FibGVkOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcsIGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3OiBvbk1vY2tDaGVja291dFByZXZpZXcgfSkpLFxyXG4gICAgICAgICAgICBzaG93RGlzY291bnRMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KERpc2NvdW50TGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYXhMaW5lSXRlbSwgeyB0YXg6IHJlY3VycmluZ0ludm9pY2U/LnRheCwgdGF4RGV0YWlsczogcmVjdXJyaW5nSW52b2ljZT8udGF4RGV0YWlscywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgICFpc0ZyZWVEb3duZ3JhZGUgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Sb3csIHsgc3R5bGU6IHsgbWFyZ2luVG9wOiAxNiB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLCBjb250YWluZXI6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGl0ZW06IHRydWUsIGRpc3BsYXk6IFwiZmxleFwiLCBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seVBheUFzWW91R29DaGFyZ2VzID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5vbmx5UGF5QXNZb3VHb1RleHQgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzICYmIGhhc1BheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuc3RhcnRzQXRUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFvbmx5UGF5QXNZb3VHb0NoYXJnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlY3VycmluZ0ludm9pY2U/LnRvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsQmlsbGluZ1BlcmlvZFRleHQoeyBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSkpKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5wcm9yYXRpb24/Lmhhc1Byb3JhdGlvbnMgJiZcclxuICAgICAgICAgICAgICAgIGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbC5hbW91bnQgPiAwID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucHJvcmF0ZWRUb3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsPy5hbW91bnQgKyAoaW1tZWRpYXRlSW52b2ljZT8udGF4Py5hbW91bnQgfHwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSkpKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsRHVlVGV4dCksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUb3RhbER1ZVRleHQsIHsgdmFyaWFudDogXCJoNlwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7IGFtb3VudDogMCwgLi4uaW1tZWRpYXRlSW52b2ljZT8udG90YWwsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMiB9KSkpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRDYXB0aW9ucywgeyBwbGFuOiBwbGFuLCBhY3RpdmVTdWJzY3JpcHRpb246IGFjdGl2ZVN1YnNjcmlwdGlvbiwgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pLFxyXG4gICAgICAgICAgICAoIWlzTGFzdFN0ZXAgfHwgIWlzWnVvcmFJbnRlZ3JhdGlvbiB8fCAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7IFwiJHN1Y2Nlc3NcIjogaXNDaGVja291dENvbXBsZXRlZCwgXCIkZXJyb3JcIjogaXNMYXN0U3RlcCAmJiBpc0ZyZWVEb3duZ3JhZGUsIGRpc2FibGVkOiBpc0xvYWRpbmcgfHxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChpc0xhc3RTdGVwICYmICFjaGVja291dEhhc0NoYW5nZXMpLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uXCIsIHN4OiB7IHRleHRUcmFuc2Zvcm06ICdub25lJywgYm9yZGVyUmFkaXVzOiAnMTBweCcsIG1hcmdpblRvcDogJzI0cHgnLCBoZWlnaHQ6ICczNnB4JyB9LCB2YXJpYW50OiBcImNvbnRhaW5lZFwiLCBzaXplOiBcIm1lZGl1bVwiLCBvbkNsaWNrOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgb25DaGVja291dENsaWNrKGUpO1xyXG4gICAgICAgICAgICAgICAgfSwgZnVsbFdpZHRoOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktY3RhLWJ1dHRvbi10ZXh0XCIsIHZhcmlhbnQ6IFwiaDNcIiwgY29sb3I6IFwid2hpdGVcIiwgc3R5bGU6IHsgZGlzcGxheTogJ2ZsZXgnIH0gfSwgaXNDaGVja291dENvbXBsZXRlZCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHsgaWNvbjogXCJDaGVja1wiLCBzdHlsZTogeyBkaXNwbGF5OiAnY29udGVudHMnIH0gfSkpIDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2lyY3VsYXJQcm9ncmVzcywgeyBzaXplOiAyMCwgc3g6IHsgY29sb3I6ICd3aGl0ZScgfSB9KSkgOiAocmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0U3RlcCxcclxuICAgICAgICAgICAgICAgICAgICBjaGVja291dEhhc0NoYW5nZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNGcmVlRG93bmdyYWRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0TG9jYWxpemF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzUGxhblVwZGF0ZTogISFhY3RpdmVTdWJzY3JpcHRpb24gJiYgYWN0aXZlU3Vic2NyaXB0aW9uPy5wbGFuLmlkID09PSBwbGFuPy5pZCxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSksXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQb3dlcmVkQnlTdGlnZywgeyBzb3VyY2U6IFwiY2hlY2tvdXRcIiwgc2hvd1dhdGVybWFyazogaXNXaWRnZXRXYXRlcm1hcmtFbmFibGVkLCBzdHlsZTogeyBtYXJnaW5Ub3A6IDgsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH0gfSksXHJcbiAgICAgICAgIWRpc2FibGVTdWNjZXNzQW5pbWF0aW9uICYmIGlzQ2hlY2tvdXRDb21wbGV0ZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRTdWNjZXNzLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiB9KSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hlY2tvdXRTdW1tYXJ5LmpzLm1hcCJdfQ== */"));
|
|
13453
13778
|
SummaryCard.defaultProps = {
|
|
13454
13779
|
elevation: 0
|
|
13455
13780
|
};
|
|
@@ -13465,7 +13790,7 @@ var SummaryTitle = /*#__PURE__*/_styled(Typography, process.env.NODE_ENV === "pr
|
|
|
13465
13790
|
} : {
|
|
13466
13791
|
name: "1jcocwa",
|
|
13467
13792
|
styles: "margin-bottom:16px;font-weight:500",
|
|
13468
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0N3QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRDYXB0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy9DaGVja291dENhcHRpb25zJztcclxuaW1wb3J0IHsgQXBwbGllZENyZWRpdHNMaW5lSXRlbSwgQmlsbGVkUHJpY2VMaW5lSXRlbSwgRGlzY291bnRMaW5lSXRlbSwgRnJlZUNoYXJnZUxpbmVJdGVtLCBMaW5lSXRlbUNvbnRhaW5lciwgTGluZUl0ZW1Sb3csIFRheExpbmVJdGVtLCB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5lSXRlbXMnO1xyXG5pbXBvcnQgeyBXaXRoU2tlbGV0b24gfSBmcm9tICcuL2NvbXBvbmVudHMvV2l0aFNrZWxldG9uJztcclxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9JY29uJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRTdWNjZXNzIH0gZnJvbSAnLi9DaGVja291dFN1Y2Nlc3MnO1xyXG5pbXBvcnQgeyBnZXRGZWF0dXJlRGlzcGxheU5hbWVUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0RmVhdHVyZU5hbWUnO1xyXG5pbXBvcnQgeyBtcSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tZWRpYVF1ZXJ5JztcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDb250YWluZXIgPSBzdHlsZWQoQm94KSBgXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ3MHB4O1xuICBmbGV4OiAxLjU7XG5gO1xyXG5leHBvcnQgY29uc3QgU3VtbWFyeUNhcmQgPSBzdHlsZWQoUGFwZXIpIGBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zdGlnZy5wYWxldHRlLmJhY2tncm91bmRIaWdobGlnaHR9O1xuICBwYWRkaW5nOiAxNnB4O1xuXG4gICR7bXEubWR9IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5gO1xyXG5TdW1tYXJ5Q2FyZC5kZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBlbGV2YXRpb246IDAsXHJcbn07XHJcbmNvbnN0IFN1bW1hcnlUaXRsZSA9IHN0eWxlZChUeXBvZ3JhcGh5KSBgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xyXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkKERpdmlkZXIpIGBcbiAgbWFyZ2luOiAxNnB4IDA7XG5gO1xyXG5jb25zdCBUb3RhbER1ZVRleHQgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xyXG5mdW5jdGlvbiByZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHsgaXNMYXN0U3RlcCwgY2hlY2tvdXRIYXNDaGFuZ2VzLCBpc0ZyZWVEb3duZ3JhZGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBpc1BsYW5VcGRhdGUsIH0pIHtcclxuICAgIGlmICghaXNMYXN0U3RlcCkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5uZXh0VGV4dDtcclxuICAgIH1cclxuICAgIGlmICghY2hlY2tvdXRIYXNDaGFuZ2VzKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLm5vQ2hhbmdlc1RleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNQbGFuVXBkYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZGF0ZVRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNGcmVlRG93bmdyYWRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLmRvd25ncmFkZVRvRnJlZVRleHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24udXBncmFkZVRleHQ7XHJcbn1cclxuZXhwb3J0IGNvbnN0IENoZWNrb3V0U3VtbWFyeSA9ICh7IG9uQ2hlY2tvdXQsIG9uQ2hlY2tvdXRDb21wbGV0ZWQsIGRpc2FibGVQcm9tb3Rpb25Db2RlLCBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiwgaXNGcmVlRG93bmdyYWRlLCBvbk1vY2tDaGVja291dFByZXZpZXcsIGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgfSkgPT4ge1xyXG4gICAgY29uc3QgW2lzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHksIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHldID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgeyBzZXRFcnJvck1lc3NhZ2UgfSA9IHVzZVBheW1lbnRTdGVwTW9kZWwoKTtcclxuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdXNlUHJvZ3Jlc3NCYXJNb2RlbCgpO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdXNlU3Vic2NyaXB0aW9uTW9kZWwoKTtcclxuICAgIGNvbnN0IHsgY2hlY2tvdXRTdGF0ZSwgY2hlY2tvdXRMb2NhbGl6YXRpb24gfSA9IHVzZUNoZWNrb3V0TW9kZWwoKTtcclxuICAgIGNvbnN0IHsgcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uIH0gPSBjaGVja291dFN0YXRlIHx8IHt9O1xyXG4gICAgY29uc3QgcGxhblByaWNlcyA9IHVzZUNoYXJnZXNTb3J0KHBsYW4/LnByaWNlUG9pbnRzPy5maWx0ZXIoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCkgfHwgW10pO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VzLCB1c2FnZUNoYXJnZXNdID0gcGFydGl0aW9uKHBsYW5QcmljZXMsIChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuRmxhdEZlZSk7XHJcbiAgICBjb25zdCBbYmFzZUNoYXJnZV0gPSBiYXNlQ2hhcmdlcyB8fCBbXTtcclxuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBpc0ZyZWVEb3duZ3JhZGUgfHwgKHByb2dyZXNzQmFyLmlzQ2hlY2tvdXRDb21wbGV0ZSAmJiBwcm9ncmVzc0Jhci5pc0xhc3RTdGVwKTtcclxuICAgIGNvbnN0IHsgc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSA9IHVzZVByZXZpZXdTdWJzY3JpcHRpb24oeyBvbk1vY2tDaGVja291dFByZXZpZXcgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVN1Ym1pdCwgaXNMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBoYW5kbGVDaGVja291dCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGVycm9yTWVzc2FnZSB9ID0gKGF3YWl0IGhhbmRsZVN1Ym1pdChlKSkgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZTtcclxuICAgIGNvbnN0IHNob3dEaXNjb3VudExpbmUgPSAhIXJlY3VycmluZ0ludm9pY2U/LmRpc2NvdW50RGV0YWlscyAmJiAhaXNGcmVlRG93bmdyYWRlO1xyXG4gICAgY29uc3QgaGFzRGlzY291bnRzID0gc2hvd1Byb21vdGlvbkNvZGVMaW5lIHx8IHNob3dEaXNjb3VudExpbmU7XHJcbiAgICBjb25zdCBoYXNQYXlBc1lvdUdvQ2hhcmdlcyA9IHVzYWdlQ2hhcmdlcy5zb21lKChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBvbmx5UGF5QXNZb3VHb0NoYXJnZXMgPSBoYXNQYXlBc1lvdUdvQ2hhcmdlcyAmJlxyXG4gICAgICAgICFiYXNlQ2hhcmdlICYmXHJcbiAgICAgICAgdXNhZ2VDaGFyZ2VzLmV2ZXJ5KChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBiYXNlQ2hhcmdlTGFiZWwgPSB0eXBlb2YgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgICAgID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCh7IGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pXHJcbiAgICAgICAgOiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDb250YWluZXIsIG51bGwsXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5Q2FyZCwgbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5VGl0bGUsIHsgdmFyaWFudDogXCJoM1wiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudGl0bGUpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktcGxhbi10aXRsZS1jb250YWluZXJcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIG1hcmdpblk6IDIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucGxhbk5hbWUoeyBwbGFuOiBwbGFuIH0pKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgIGJhc2VDaGFyZ2UgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwsIHF1YW50aXR5OiAxLCBwcmljZTogYmFzZUNoYXJnZSB9KSksXHJcbiAgICAgICAgICAgICFiYXNlQ2hhcmdlICYmIGlzRnJlZURvd25ncmFkZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJlZUNoYXJnZUxpbmVJdGVtLCB7IGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwgfSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSwgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktdXNhZ2UtY2hhcmdlcy1jb250YWluZXJcIiB9LCB1c2FnZUNoYXJnZXMubWFwKChwcmljZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJpY2VCaWxsYWJsZUZlYXR1cmUgPSBzdWJzY3JpcHRpb24uYmlsbGFibGVGZWF0dXJlcz8uZmluZCgoYmlsbGFibGVGZWF0dXJlKSA9PiBiaWxsYWJsZUZlYXR1cmUuZmVhdHVyZUlkID09PSBwcmljZS5mZWF0dXJlPy5mZWF0dXJlSWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEJpbGxlZFByaWNlTGluZUl0ZW0sIHsgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBrZXk6IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCwgbGFiZWw6IGdldEZlYXR1cmVEaXNwbGF5TmFtZVRleHQocHJpY2UuZmVhdHVyZT8uZGlzcGxheU5hbWUgfHwgJycsIHByaWNlLmZlYXR1cmU/LnVuaXRzLCBwcmljZS5mZWF0dXJlPy51bml0c1BsdXJhbCksIHF1YW50aXR5OiBwcmljZUJpbGxhYmxlRmVhdHVyZT8ucXVhbnRpdHkgfHwgMSwgcHJpY2U6IHByaWNlIH0pKTtcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAhIXN1YnNjcmlwdGlvbi5hZGRvbnM/Lmxlbmd0aCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYWRkb25zU2VjdGlvblRpdGxlKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZG9ucy5tYXAoKGFkZG9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25QcmljZSA9IGFkZG9uLmFkZG9uLnByaWNlUG9pbnRzPy5maW5kKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWRkb25QcmljZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25RdWFudGl0eSA9IGFkZG9uLnF1YW50aXR5ICYmIGFkZG9uLnF1YW50aXR5ID4gMCA/IGFkZG9uLnF1YW50aXR5IDogMTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogYWRkb24/LmFkZG9uPy5pZCwgbGFiZWw6IGFkZG9uLmFkZG9uLmRpc3BsYXlOYW1lLCBxdWFudGl0eTogYWRkb25RdWFudGl0eSwgcHJpY2U6IGFkZG9uUHJpY2UgfSkpO1xyXG4gICAgICAgICAgICAgICAgfSkpKSxcclxuICAgICAgICAgICAgIWhhc0Rpc2NvdW50cyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5kaXNjb3VudHNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSksXHJcbiAgICAgICAgICAgIHNob3dQcm9tb3Rpb25Db2RlTGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChQcm9tb3Rpb25Db2RlU2VjdGlvbiwgeyBkaXNhYmxlZDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIG9uTW9ja0NoZWNrb3V0UHJldmlldzogb25Nb2NrQ2hlY2tvdXRQcmV2aWV3IH0pKSxcclxuICAgICAgICAgICAgc2hvd0Rpc2NvdW50TGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChEaXNjb3VudExpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pKSxcclxuICAgICAgICAgICAgaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGF4TGluZUl0ZW0sIHsgdGF4OiByZWN1cnJpbmdJbnZvaWNlPy50YXgsIHRheERldGFpbHM6IHJlY3VycmluZ0ludm9pY2U/LnRheERldGFpbHMsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICAhaXNGcmVlRG93bmdyYWRlID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCB7IHN0eWxlOiB7IG1hcmdpblRvcDogMTYgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIiwgY29udGFpbmVyOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBkaXNwbGF5OiBcImZsZXhcIiwganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudG90YWxUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkub25seVBheUFzWW91R29UZXh0IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW9ubHlQYXlBc1lvdUdvQ2hhcmdlcyAmJiBoYXNQYXlBc1lvdUdvQ2hhcmdlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnN0YXJ0c0F0VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWN1cnJpbmdJbnZvaWNlPy50b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiYm9keTFcIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbEJpbGxpbmdQZXJpb2RUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSkpKSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSkpIDogbnVsbCxcclxuICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8ucHJvcmF0aW9uPy5oYXNQcm9yYXRpb25zICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbCAmJlxyXG4gICAgICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuYW1vdW50ID4gMCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnByb3JhdGVkVG90YWxEdWVUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbD8uYW1vdW50ICsgKGltbWVkaWF0ZUludm9pY2U/LnRheD8uYW1vdW50IHx8IDApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsLmN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkpKSkpIDogbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBcHBsaWVkQ3JlZGl0c0xpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRvdGFsRHVlVGV4dCwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoeyBhbW91bnQ6IDAsIC4uLmltbWVkaWF0ZUludm9pY2U/LnRvdGFsLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIgfSkpKSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0Q2FwdGlvbnMsIHsgcGxhbjogcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uOiBhY3RpdmVTdWJzY3JpcHRpb24sIHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChCdXR0b24sIHsgXCIkc3VjY2Vzc1wiOiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBcIiRlcnJvclwiOiBpc0xhc3RTdGVwICYmIGlzRnJlZURvd25ncmFkZSwgZGlzYWJsZWQ6IGlzTG9hZGluZyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKGlzTGFzdFN0ZXAgJiYgIWNoZWNrb3V0SGFzQ2hhbmdlcyksIGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWN0YS1idXR0b25cIiwgc3g6IHsgdGV4dFRyYW5zZm9ybTogJ25vbmUnLCBib3JkZXJSYWRpdXM6ICcxMHB4JywgbWFyZ2luVG9wOiAnMjRweCcsIGhlaWdodDogJzM2cHgnIH0sIHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsIHNpemU6IFwibWVkaXVtXCIsIG9uQ2xpY2s6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdm9pZCBvbkNoZWNrb3V0Q2xpY2soZSk7XHJcbiAgICAgICAgICAgICAgICB9LCBmdWxsV2lkdGg6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uLXRleHRcIiwgdmFyaWFudDogXCJoM1wiLCBjb2xvcjogXCJ3aGl0ZVwiLCBzdHlsZTogeyBkaXNwbGF5OiAnZmxleCcgfSB9LCBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbiwgeyBpY29uOiBcIkNoZWNrXCIsIHN0eWxlOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfSB9KSkgOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChDaXJjdWxhclByb2dyZXNzLCB7IHNpemU6IDIwLCBzeDogeyBjb2xvcjogJ3doaXRlJyB9IH0pKSA6IChyZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBpc0xhc3RTdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0SGFzQ2hhbmdlcyxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZyZWVEb3duZ3JhZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tvdXRMb2NhbGl6YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNQbGFuVXBkYXRlOiAhIWFjdGl2ZVN1YnNjcmlwdGlvbiAmJiBhY3RpdmVTdWJzY3JpcHRpb24/LnBsYW4uaWQgPT09IHBsYW4/LmlkLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUG93ZXJlZEJ5U3RpZ2csIHsgc291cmNlOiBcImNoZWNrb3V0XCIsIHNob3dXYXRlcm1hcms6IGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgc3R5bGU6IHsgbWFyZ2luVG9wOiA4LCBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9IH0pLFxyXG4gICAgICAgICFkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiAmJiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0U3VjY2VzcywgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpKSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoZWNrb3V0U3VtbWFyeS5qcy5tYXAiXX0= */",
|
|
13793
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEN3QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgdXNlWnVvcmFJbnRlZ3JhdGlvbiB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvenVvcmEvdXNlWnVvcmFJbnRlZ3JhdGlvbic7XHJcbmltcG9ydCB7IHVzZVp1b3JhU3VibWl0IH0gZnJvbSAnLi4vc3RlcHMvcGF5bWVudC96dW9yYS91c2VadW9yYVN1Ym1pdCc7XHJcbmltcG9ydCB7IENoZWNrb3V0Q2FwdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tvdXRDYXB0aW9ucyc7XHJcbmltcG9ydCB7IEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIEJpbGxlZFByaWNlTGluZUl0ZW0sIERpc2NvdW50TGluZUl0ZW0sIEZyZWVDaGFyZ2VMaW5lSXRlbSwgTGluZUl0ZW1Db250YWluZXIsIExpbmVJdGVtUm93LCBUYXhMaW5lSXRlbSwgfSBmcm9tICcuL2NvbXBvbmVudHMvTGluZUl0ZW1zJztcclxuaW1wb3J0IHsgV2l0aFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1dpdGhTa2VsZXRvbic7XHJcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9jb21tb24vSWNvbic7XHJcbmltcG9ydCB7IENoZWNrb3V0U3VjY2VzcyB9IGZyb20gJy4vQ2hlY2tvdXRTdWNjZXNzJztcclxuaW1wb3J0IHsgZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldEZlYXR1cmVOYW1lJztcclxuaW1wb3J0IHsgbXEgfSBmcm9tICcuLi8uLi9jb21tb24vbWVkaWFRdWVyeSc7XHJcbmV4cG9ydCBjb25zdCBTdW1tYXJ5Q29udGFpbmVyID0gc3R5bGVkKEJveCkgYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NzBweDtcbiAgZmxleDogMS41O1xuYDtcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDYXJkID0gc3R5bGVkKFBhcGVyKSBgXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3RpZ2cucGFsZXR0ZS5iYWNrZ3JvdW5kSGlnaGxpZ2h0fTtcbiAgcGFkZGluZzogMTZweDtcblxuICAke21xLm1kfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuYDtcclxuU3VtbWFyeUNhcmQuZGVmYXVsdFByb3BzID0ge1xyXG4gICAgZWxldmF0aW9uOiAwLFxyXG59O1xyXG5jb25zdCBTdW1tYXJ5VGl0bGUgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcclxuY29uc3QgU3R5bGVkRGl2aWRlciA9IHN0eWxlZChEaXZpZGVyKSBgXG4gIG1hcmdpbjogMTZweCAwO1xuYDtcclxuY29uc3QgVG90YWxEdWVUZXh0ID0gc3R5bGVkKFR5cG9ncmFwaHkpIGBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcclxuZnVuY3Rpb24gcmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7IGlzTGFzdFN0ZXAsIGNoZWNrb3V0SGFzQ2hhbmdlcywgaXNGcmVlRG93bmdyYWRlLCBjaGVja291dExvY2FsaXphdGlvbiwgaXNQbGFuVXBkYXRlLCB9KSB7XHJcbiAgICBpZiAoIWlzTGFzdFN0ZXApIHtcclxuICAgICAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24ubmV4dFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrb3V0SGFzQ2hhbmdlcykge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5ub0NoYW5nZXNUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzUGxhblVwZGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi51cGRhdGVUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzRnJlZURvd25ncmFkZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5kb3duZ3JhZGVUb0ZyZWVUZXh0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZ3JhZGVUZXh0O1xyXG59XHJcbmV4cG9ydCBjb25zdCBDaGVja291dFN1bW1hcnkgPSAoeyBvbkNoZWNrb3V0LCBvbkNoZWNrb3V0Q29tcGxldGVkLCBkaXNhYmxlUHJvbW90aW9uQ29kZSwgZGlzYWJsZVN1Y2Nlc3NBbmltYXRpb24sIGlzRnJlZURvd25ncmFkZSwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3LCBpc1dpZGdldFdhdGVybWFya0VuYWJsZWQsIH0pID0+IHtcclxuICAgIGNvbnN0IFtpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBzZXRJc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgc2V0RXJyb3JNZXNzYWdlLCB1c2VOZXdQYXltZW50TWV0aG9kIH0gPSB1c2VQYXltZW50U3RlcE1vZGVsKCk7XHJcbiAgICBjb25zdCBwcm9ncmVzc0JhciA9IHVzZVByb2dyZXNzQmFyTW9kZWwoKTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHVzZVN1YnNjcmlwdGlvbk1vZGVsKCk7XHJcbiAgICBjb25zdCB7IGNoZWNrb3V0U3RhdGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBjaGVja291dFN1Y2Nlc3MsIHdpZGdldFN0YXRlIH0gPSB1c2VDaGVja291dE1vZGVsKCk7XHJcbiAgICBjb25zdCB7IHBsYW4sIGFjdGl2ZVN1YnNjcmlwdGlvbiB9ID0gY2hlY2tvdXRTdGF0ZSB8fCB7fTtcclxuICAgIGNvbnN0IHBsYW5QcmljZXMgPSB1c2VDaGFyZ2VzU29ydChwbGFuPy5wcmljZVBvaW50cz8uZmlsdGVyKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpIHx8IFtdKTtcclxuICAgIGNvbnN0IFtiYXNlQ2hhcmdlcywgdXNhZ2VDaGFyZ2VzXSA9IHBhcnRpdGlvbihwbGFuUHJpY2VzLCAocHJpY2UpID0+IHByaWNlLnByaWNpbmdNb2RlbCA9PT0gQmlsbGluZ01vZGVsLkZsYXRGZWUpO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VdID0gYmFzZUNoYXJnZXMgfHwgW107XHJcbiAgICBjb25zdCBpc0xhc3RTdGVwID0gaXNGcmVlRG93bmdyYWRlIHx8IChwcm9ncmVzc0Jhci5pc0NoZWNrb3V0Q29tcGxldGUgJiYgcHJvZ3Jlc3NCYXIuaXNMYXN0U3RlcCk7XHJcbiAgICBjb25zdCB7IGlzWnVvcmFJbnRlZ3JhdGlvbiB9ID0gdXNlWnVvcmFJbnRlZ3JhdGlvbigpO1xyXG4gICAgY29uc3QgaXNDaGVja291dENvbXBsZXRlZCA9IGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkgfHwgY2hlY2tvdXRTdWNjZXNzO1xyXG4gICAgY29uc3QgeyBzdWJzY3JpcHRpb25QcmV2aWV3LCBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB9ID0gdXNlUHJldmlld1N1YnNjcmlwdGlvbih7IG9uTW9ja0NoZWNrb3V0UHJldmlldyB9KTtcclxuICAgIGNvbnN0IHsgaGFuZGxlU3VibWl0OiBoYW5kbGVTdHJpcGVTdWJtaXQsIGlzTG9hZGluZzogaXNTdHJpcGVMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVp1b3JhU3VibWl0IH0gPSB1c2VadW9yYVN1Ym1pdCh7XHJcbiAgICAgICAgb25DaGVja291dCxcclxuICAgICAgICBvbkNoZWNrb3V0Q29tcGxldGVkLFxyXG4gICAgICAgIGRpc2FibGVTdWNjZXNzQW5pbWF0aW9uLFxyXG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5tYXJrU3RlcEFzQ29tcGxldGVkKHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuYWN0aXZlU3RlcCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgaGFuZGxlQ2hlY2tvdXQgPSBhc3luYyAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChpc0NoZWNrb3V0Q29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgICBpZiAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IGhhbmRsZVp1b3JhU3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBoYW5kbGVTdHJpcGVTdWJtaXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgZXJyb3JNZXNzYWdlIH0gPSByZXN1bHQgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gVGhpcyBpcyBzYWRcclxuICAgIGNvbnN0IGlzTG9hZGluZyA9IGlzWnVvcmFJbnRlZ3JhdGlvbiAmJiAhdXNlTmV3UGF5bWVudE1ldGhvZCA/IHdpZGdldFN0YXRlLnJlYWRPbmx5IDogaXNTdHJpcGVMb2FkaW5nO1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZSAmJiAhaXNadW9yYUludGVncmF0aW9uO1xyXG4gICAgY29uc3Qgc2hvd0Rpc2NvdW50TGluZSA9ICEhcmVjdXJyaW5nSW52b2ljZT8uZGlzY291bnREZXRhaWxzICYmICFpc0ZyZWVEb3duZ3JhZGU7XHJcbiAgICBjb25zdCBoYXNEaXNjb3VudHMgPSBzaG93UHJvbW90aW9uQ29kZUxpbmUgfHwgc2hvd0Rpc2NvdW50TGluZTtcclxuICAgIGNvbnN0IGhhc1BheUFzWW91R29DaGFyZ2VzID0gdXNhZ2VDaGFyZ2VzLnNvbWUoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA9IGhhc1BheUFzWW91R29DaGFyZ2VzICYmXHJcbiAgICAgICAgIWJhc2VDaGFyZ2UgJiZcclxuICAgICAgICB1c2FnZUNoYXJnZXMuZXZlcnkoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IGJhc2VDaGFyZ2VMYWJlbCA9IHR5cGVvZiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0ID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSlcclxuICAgICAgICA6IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYmFzZUNoYXJnZVRleHQ7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3VtbWFyeUNvbnRhaW5lciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDYXJkLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlUaXRsZSwgeyB2YXJpYW50OiBcImgzXCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50aXRsZSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1wbGFuLXRpdGxlLWNvbnRhaW5lclwiLCBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5wbGFuTmFtZSh7IHBsYW46IHBsYW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSxcclxuICAgICAgICAgICAgYmFzZUNoYXJnZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCwgcXVhbnRpdHk6IDEsIHByaWNlOiBiYXNlQ2hhcmdlIH0pKSxcclxuICAgICAgICAgICAgIWJhc2VDaGFyZ2UgJiYgaXNGcmVlRG93bmdyYWRlID8gUmVhY3QuY3JlYXRlRWxlbWVudChGcmVlQ2hhcmdlTGluZUl0ZW0sIHsgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCB9KSA6IG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS11c2FnZS1jaGFyZ2VzLWNvbnRhaW5lclwiIH0sIHVzYWdlQ2hhcmdlcy5tYXAoKHByaWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcmljZUJpbGxhYmxlRmVhdHVyZSA9IHN1YnNjcmlwdGlvbi5iaWxsYWJsZUZlYXR1cmVzPy5maW5kKChiaWxsYWJsZUZlYXR1cmUpID0+IGJpbGxhYmxlRmVhdHVyZS5mZWF0dXJlSWQgPT09IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogcHJpY2UuZmVhdHVyZT8uZmVhdHVyZUlkLCBsYWJlbDogZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dChwcmljZS5mZWF0dXJlPy5kaXNwbGF5TmFtZSB8fCAnJywgcHJpY2UuZmVhdHVyZT8udW5pdHMsIHByaWNlLmZlYXR1cmU/LnVuaXRzUGx1cmFsKSwgcXVhbnRpdHk6IHByaWNlQmlsbGFibGVGZWF0dXJlPy5xdWFudGl0eSB8fCAxLCBwcmljZTogcHJpY2UgfSkpO1xyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICEhc3Vic2NyaXB0aW9uLmFkZG9ucz8ubGVuZ3RoICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5hZGRvbnNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkb25zLm1hcCgoYWRkb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblByaWNlID0gYWRkb24uYWRkb24ucHJpY2VQb2ludHM/LmZpbmQoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhZGRvblByaWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblF1YW50aXR5ID0gYWRkb24ucXVhbnRpdHkgJiYgYWRkb24ucXVhbnRpdHkgPiAwID8gYWRkb24ucXVhbnRpdHkgOiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwga2V5OiBhZGRvbj8uYWRkb24/LmlkLCBsYWJlbDogYWRkb24uYWRkb24uZGlzcGxheU5hbWUsIHF1YW50aXR5OiBhZGRvblF1YW50aXR5LCBwcmljZTogYWRkb25QcmljZSB9KSk7XHJcbiAgICAgICAgICAgICAgICB9KSkpLFxyXG4gICAgICAgICAgICAhaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIGhhc0Rpc2NvdW50cyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiLCBjb2xvcjogXCJwcmltYXJ5XCIsIHN0eWxlOiB7IHBhZGRpbmdSaWdodDogJzhweCcgfSB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmRpc2NvdW50c1NlY3Rpb25UaXRsZSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpKSxcclxuICAgICAgICAgICAgc2hvd1Byb21vdGlvbkNvZGVMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFByb21vdGlvbkNvZGVTZWN0aW9uLCB7IGRpc2FibGVkOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcsIGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3OiBvbk1vY2tDaGVja291dFByZXZpZXcgfSkpLFxyXG4gICAgICAgICAgICBzaG93RGlzY291bnRMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KERpc2NvdW50TGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYXhMaW5lSXRlbSwgeyB0YXg6IHJlY3VycmluZ0ludm9pY2U/LnRheCwgdGF4RGV0YWlsczogcmVjdXJyaW5nSW52b2ljZT8udGF4RGV0YWlscywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgICFpc0ZyZWVEb3duZ3JhZGUgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Sb3csIHsgc3R5bGU6IHsgbWFyZ2luVG9wOiAxNiB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLCBjb250YWluZXI6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGl0ZW06IHRydWUsIGRpc3BsYXk6IFwiZmxleFwiLCBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seVBheUFzWW91R29DaGFyZ2VzID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5vbmx5UGF5QXNZb3VHb1RleHQgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzICYmIGhhc1BheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuc3RhcnRzQXRUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFvbmx5UGF5QXNZb3VHb0NoYXJnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlY3VycmluZ0ludm9pY2U/LnRvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsQmlsbGluZ1BlcmlvZFRleHQoeyBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSkpKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5wcm9yYXRpb24/Lmhhc1Byb3JhdGlvbnMgJiZcclxuICAgICAgICAgICAgICAgIGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbC5hbW91bnQgPiAwID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucHJvcmF0ZWRUb3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsPy5hbW91bnQgKyAoaW1tZWRpYXRlSW52b2ljZT8udGF4Py5hbW91bnQgfHwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSkpKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsRHVlVGV4dCksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUb3RhbER1ZVRleHQsIHsgdmFyaWFudDogXCJoNlwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7IGFtb3VudDogMCwgLi4uaW1tZWRpYXRlSW52b2ljZT8udG90YWwsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMiB9KSkpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRDYXB0aW9ucywgeyBwbGFuOiBwbGFuLCBhY3RpdmVTdWJzY3JpcHRpb246IGFjdGl2ZVN1YnNjcmlwdGlvbiwgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pLFxyXG4gICAgICAgICAgICAoIWlzTGFzdFN0ZXAgfHwgIWlzWnVvcmFJbnRlZ3JhdGlvbiB8fCAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7IFwiJHN1Y2Nlc3NcIjogaXNDaGVja291dENvbXBsZXRlZCwgXCIkZXJyb3JcIjogaXNMYXN0U3RlcCAmJiBpc0ZyZWVEb3duZ3JhZGUsIGRpc2FibGVkOiBpc0xvYWRpbmcgfHxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChpc0xhc3RTdGVwICYmICFjaGVja291dEhhc0NoYW5nZXMpLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uXCIsIHN4OiB7IHRleHRUcmFuc2Zvcm06ICdub25lJywgYm9yZGVyUmFkaXVzOiAnMTBweCcsIG1hcmdpblRvcDogJzI0cHgnLCBoZWlnaHQ6ICczNnB4JyB9LCB2YXJpYW50OiBcImNvbnRhaW5lZFwiLCBzaXplOiBcIm1lZGl1bVwiLCBvbkNsaWNrOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgb25DaGVja291dENsaWNrKGUpO1xyXG4gICAgICAgICAgICAgICAgfSwgZnVsbFdpZHRoOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktY3RhLWJ1dHRvbi10ZXh0XCIsIHZhcmlhbnQ6IFwiaDNcIiwgY29sb3I6IFwid2hpdGVcIiwgc3R5bGU6IHsgZGlzcGxheTogJ2ZsZXgnIH0gfSwgaXNDaGVja291dENvbXBsZXRlZCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHsgaWNvbjogXCJDaGVja1wiLCBzdHlsZTogeyBkaXNwbGF5OiAnY29udGVudHMnIH0gfSkpIDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2lyY3VsYXJQcm9ncmVzcywgeyBzaXplOiAyMCwgc3g6IHsgY29sb3I6ICd3aGl0ZScgfSB9KSkgOiAocmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0U3RlcCxcclxuICAgICAgICAgICAgICAgICAgICBjaGVja291dEhhc0NoYW5nZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNGcmVlRG93bmdyYWRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0TG9jYWxpemF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzUGxhblVwZGF0ZTogISFhY3RpdmVTdWJzY3JpcHRpb24gJiYgYWN0aXZlU3Vic2NyaXB0aW9uPy5wbGFuLmlkID09PSBwbGFuPy5pZCxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSksXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQb3dlcmVkQnlTdGlnZywgeyBzb3VyY2U6IFwiY2hlY2tvdXRcIiwgc2hvd1dhdGVybWFyazogaXNXaWRnZXRXYXRlcm1hcmtFbmFibGVkLCBzdHlsZTogeyBtYXJnaW5Ub3A6IDgsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH0gfSksXHJcbiAgICAgICAgIWRpc2FibGVTdWNjZXNzQW5pbWF0aW9uICYmIGlzQ2hlY2tvdXRDb21wbGV0ZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRTdWNjZXNzLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiB9KSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hlY2tvdXRTdW1tYXJ5LmpzLm1hcCJdfQ== */",
|
|
13469
13794
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13470
13795
|
});
|
|
13471
13796
|
|
|
@@ -13480,7 +13805,7 @@ var StyledDivider$1 = /*#__PURE__*/_styled(Divider$1, process.env.NODE_ENV === "
|
|
|
13480
13805
|
} : {
|
|
13481
13806
|
name: "1k6141t",
|
|
13482
13807
|
styles: "margin:16px 0",
|
|
13483
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNENzQyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRDYXB0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy9DaGVja291dENhcHRpb25zJztcclxuaW1wb3J0IHsgQXBwbGllZENyZWRpdHNMaW5lSXRlbSwgQmlsbGVkUHJpY2VMaW5lSXRlbSwgRGlzY291bnRMaW5lSXRlbSwgRnJlZUNoYXJnZUxpbmVJdGVtLCBMaW5lSXRlbUNvbnRhaW5lciwgTGluZUl0ZW1Sb3csIFRheExpbmVJdGVtLCB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5lSXRlbXMnO1xyXG5pbXBvcnQgeyBXaXRoU2tlbGV0b24gfSBmcm9tICcuL2NvbXBvbmVudHMvV2l0aFNrZWxldG9uJztcclxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9JY29uJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRTdWNjZXNzIH0gZnJvbSAnLi9DaGVja291dFN1Y2Nlc3MnO1xyXG5pbXBvcnQgeyBnZXRGZWF0dXJlRGlzcGxheU5hbWVUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0RmVhdHVyZU5hbWUnO1xyXG5pbXBvcnQgeyBtcSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tZWRpYVF1ZXJ5JztcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDb250YWluZXIgPSBzdHlsZWQoQm94KSBgXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ3MHB4O1xuICBmbGV4OiAxLjU7XG5gO1xyXG5leHBvcnQgY29uc3QgU3VtbWFyeUNhcmQgPSBzdHlsZWQoUGFwZXIpIGBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zdGlnZy5wYWxldHRlLmJhY2tncm91bmRIaWdobGlnaHR9O1xuICBwYWRkaW5nOiAxNnB4O1xuXG4gICR7bXEubWR9IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5gO1xyXG5TdW1tYXJ5Q2FyZC5kZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBlbGV2YXRpb246IDAsXHJcbn07XHJcbmNvbnN0IFN1bW1hcnlUaXRsZSA9IHN0eWxlZChUeXBvZ3JhcGh5KSBgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xyXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkKERpdmlkZXIpIGBcbiAgbWFyZ2luOiAxNnB4IDA7XG5gO1xyXG5jb25zdCBUb3RhbER1ZVRleHQgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xyXG5mdW5jdGlvbiByZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHsgaXNMYXN0U3RlcCwgY2hlY2tvdXRIYXNDaGFuZ2VzLCBpc0ZyZWVEb3duZ3JhZGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBpc1BsYW5VcGRhdGUsIH0pIHtcclxuICAgIGlmICghaXNMYXN0U3RlcCkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5uZXh0VGV4dDtcclxuICAgIH1cclxuICAgIGlmICghY2hlY2tvdXRIYXNDaGFuZ2VzKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLm5vQ2hhbmdlc1RleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNQbGFuVXBkYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZGF0ZVRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNGcmVlRG93bmdyYWRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLmRvd25ncmFkZVRvRnJlZVRleHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24udXBncmFkZVRleHQ7XHJcbn1cclxuZXhwb3J0IGNvbnN0IENoZWNrb3V0U3VtbWFyeSA9ICh7IG9uQ2hlY2tvdXQsIG9uQ2hlY2tvdXRDb21wbGV0ZWQsIGRpc2FibGVQcm9tb3Rpb25Db2RlLCBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiwgaXNGcmVlRG93bmdyYWRlLCBvbk1vY2tDaGVja291dFByZXZpZXcsIGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgfSkgPT4ge1xyXG4gICAgY29uc3QgW2lzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHksIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHldID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgeyBzZXRFcnJvck1lc3NhZ2UgfSA9IHVzZVBheW1lbnRTdGVwTW9kZWwoKTtcclxuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdXNlUHJvZ3Jlc3NCYXJNb2RlbCgpO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdXNlU3Vic2NyaXB0aW9uTW9kZWwoKTtcclxuICAgIGNvbnN0IHsgY2hlY2tvdXRTdGF0ZSwgY2hlY2tvdXRMb2NhbGl6YXRpb24gfSA9IHVzZUNoZWNrb3V0TW9kZWwoKTtcclxuICAgIGNvbnN0IHsgcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uIH0gPSBjaGVja291dFN0YXRlIHx8IHt9O1xyXG4gICAgY29uc3QgcGxhblByaWNlcyA9IHVzZUNoYXJnZXNTb3J0KHBsYW4/LnByaWNlUG9pbnRzPy5maWx0ZXIoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCkgfHwgW10pO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VzLCB1c2FnZUNoYXJnZXNdID0gcGFydGl0aW9uKHBsYW5QcmljZXMsIChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuRmxhdEZlZSk7XHJcbiAgICBjb25zdCBbYmFzZUNoYXJnZV0gPSBiYXNlQ2hhcmdlcyB8fCBbXTtcclxuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBpc0ZyZWVEb3duZ3JhZGUgfHwgKHByb2dyZXNzQmFyLmlzQ2hlY2tvdXRDb21wbGV0ZSAmJiBwcm9ncmVzc0Jhci5pc0xhc3RTdGVwKTtcclxuICAgIGNvbnN0IHsgc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSA9IHVzZVByZXZpZXdTdWJzY3JpcHRpb24oeyBvbk1vY2tDaGVja291dFByZXZpZXcgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVN1Ym1pdCwgaXNMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBoYW5kbGVDaGVja291dCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGVycm9yTWVzc2FnZSB9ID0gKGF3YWl0IGhhbmRsZVN1Ym1pdChlKSkgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZTtcclxuICAgIGNvbnN0IHNob3dEaXNjb3VudExpbmUgPSAhIXJlY3VycmluZ0ludm9pY2U/LmRpc2NvdW50RGV0YWlscyAmJiAhaXNGcmVlRG93bmdyYWRlO1xyXG4gICAgY29uc3QgaGFzRGlzY291bnRzID0gc2hvd1Byb21vdGlvbkNvZGVMaW5lIHx8IHNob3dEaXNjb3VudExpbmU7XHJcbiAgICBjb25zdCBoYXNQYXlBc1lvdUdvQ2hhcmdlcyA9IHVzYWdlQ2hhcmdlcy5zb21lKChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBvbmx5UGF5QXNZb3VHb0NoYXJnZXMgPSBoYXNQYXlBc1lvdUdvQ2hhcmdlcyAmJlxyXG4gICAgICAgICFiYXNlQ2hhcmdlICYmXHJcbiAgICAgICAgdXNhZ2VDaGFyZ2VzLmV2ZXJ5KChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBiYXNlQ2hhcmdlTGFiZWwgPSB0eXBlb2YgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgICAgID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCh7IGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pXHJcbiAgICAgICAgOiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDb250YWluZXIsIG51bGwsXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5Q2FyZCwgbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5VGl0bGUsIHsgdmFyaWFudDogXCJoM1wiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudGl0bGUpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktcGxhbi10aXRsZS1jb250YWluZXJcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIG1hcmdpblk6IDIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucGxhbk5hbWUoeyBwbGFuOiBwbGFuIH0pKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgIGJhc2VDaGFyZ2UgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwsIHF1YW50aXR5OiAxLCBwcmljZTogYmFzZUNoYXJnZSB9KSksXHJcbiAgICAgICAgICAgICFiYXNlQ2hhcmdlICYmIGlzRnJlZURvd25ncmFkZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJlZUNoYXJnZUxpbmVJdGVtLCB7IGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwgfSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSwgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktdXNhZ2UtY2hhcmdlcy1jb250YWluZXJcIiB9LCB1c2FnZUNoYXJnZXMubWFwKChwcmljZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJpY2VCaWxsYWJsZUZlYXR1cmUgPSBzdWJzY3JpcHRpb24uYmlsbGFibGVGZWF0dXJlcz8uZmluZCgoYmlsbGFibGVGZWF0dXJlKSA9PiBiaWxsYWJsZUZlYXR1cmUuZmVhdHVyZUlkID09PSBwcmljZS5mZWF0dXJlPy5mZWF0dXJlSWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEJpbGxlZFByaWNlTGluZUl0ZW0sIHsgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBrZXk6IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCwgbGFiZWw6IGdldEZlYXR1cmVEaXNwbGF5TmFtZVRleHQocHJpY2UuZmVhdHVyZT8uZGlzcGxheU5hbWUgfHwgJycsIHByaWNlLmZlYXR1cmU/LnVuaXRzLCBwcmljZS5mZWF0dXJlPy51bml0c1BsdXJhbCksIHF1YW50aXR5OiBwcmljZUJpbGxhYmxlRmVhdHVyZT8ucXVhbnRpdHkgfHwgMSwgcHJpY2U6IHByaWNlIH0pKTtcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAhIXN1YnNjcmlwdGlvbi5hZGRvbnM/Lmxlbmd0aCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYWRkb25zU2VjdGlvblRpdGxlKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZG9ucy5tYXAoKGFkZG9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25QcmljZSA9IGFkZG9uLmFkZG9uLnByaWNlUG9pbnRzPy5maW5kKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWRkb25QcmljZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25RdWFudGl0eSA9IGFkZG9uLnF1YW50aXR5ICYmIGFkZG9uLnF1YW50aXR5ID4gMCA/IGFkZG9uLnF1YW50aXR5IDogMTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogYWRkb24/LmFkZG9uPy5pZCwgbGFiZWw6IGFkZG9uLmFkZG9uLmRpc3BsYXlOYW1lLCBxdWFudGl0eTogYWRkb25RdWFudGl0eSwgcHJpY2U6IGFkZG9uUHJpY2UgfSkpO1xyXG4gICAgICAgICAgICAgICAgfSkpKSxcclxuICAgICAgICAgICAgIWhhc0Rpc2NvdW50cyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5kaXNjb3VudHNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSksXHJcbiAgICAgICAgICAgIHNob3dQcm9tb3Rpb25Db2RlTGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChQcm9tb3Rpb25Db2RlU2VjdGlvbiwgeyBkaXNhYmxlZDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIG9uTW9ja0NoZWNrb3V0UHJldmlldzogb25Nb2NrQ2hlY2tvdXRQcmV2aWV3IH0pKSxcclxuICAgICAgICAgICAgc2hvd0Rpc2NvdW50TGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChEaXNjb3VudExpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pKSxcclxuICAgICAgICAgICAgaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGF4TGluZUl0ZW0sIHsgdGF4OiByZWN1cnJpbmdJbnZvaWNlPy50YXgsIHRheERldGFpbHM6IHJlY3VycmluZ0ludm9pY2U/LnRheERldGFpbHMsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICAhaXNGcmVlRG93bmdyYWRlID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCB7IHN0eWxlOiB7IG1hcmdpblRvcDogMTYgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIiwgY29udGFpbmVyOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBkaXNwbGF5OiBcImZsZXhcIiwganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudG90YWxUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkub25seVBheUFzWW91R29UZXh0IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW9ubHlQYXlBc1lvdUdvQ2hhcmdlcyAmJiBoYXNQYXlBc1lvdUdvQ2hhcmdlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnN0YXJ0c0F0VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWN1cnJpbmdJbnZvaWNlPy50b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiYm9keTFcIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbEJpbGxpbmdQZXJpb2RUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSkpKSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSkpIDogbnVsbCxcclxuICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8ucHJvcmF0aW9uPy5oYXNQcm9yYXRpb25zICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbCAmJlxyXG4gICAgICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuYW1vdW50ID4gMCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnByb3JhdGVkVG90YWxEdWVUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbD8uYW1vdW50ICsgKGltbWVkaWF0ZUludm9pY2U/LnRheD8uYW1vdW50IHx8IDApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsLmN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkpKSkpIDogbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBcHBsaWVkQ3JlZGl0c0xpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRvdGFsRHVlVGV4dCwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoeyBhbW91bnQ6IDAsIC4uLmltbWVkaWF0ZUludm9pY2U/LnRvdGFsLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIgfSkpKSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0Q2FwdGlvbnMsIHsgcGxhbjogcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uOiBhY3RpdmVTdWJzY3JpcHRpb24sIHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChCdXR0b24sIHsgXCIkc3VjY2Vzc1wiOiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBcIiRlcnJvclwiOiBpc0xhc3RTdGVwICYmIGlzRnJlZURvd25ncmFkZSwgZGlzYWJsZWQ6IGlzTG9hZGluZyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKGlzTGFzdFN0ZXAgJiYgIWNoZWNrb3V0SGFzQ2hhbmdlcyksIGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWN0YS1idXR0b25cIiwgc3g6IHsgdGV4dFRyYW5zZm9ybTogJ25vbmUnLCBib3JkZXJSYWRpdXM6ICcxMHB4JywgbWFyZ2luVG9wOiAnMjRweCcsIGhlaWdodDogJzM2cHgnIH0sIHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsIHNpemU6IFwibWVkaXVtXCIsIG9uQ2xpY2s6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdm9pZCBvbkNoZWNrb3V0Q2xpY2soZSk7XHJcbiAgICAgICAgICAgICAgICB9LCBmdWxsV2lkdGg6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uLXRleHRcIiwgdmFyaWFudDogXCJoM1wiLCBjb2xvcjogXCJ3aGl0ZVwiLCBzdHlsZTogeyBkaXNwbGF5OiAnZmxleCcgfSB9LCBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbiwgeyBpY29uOiBcIkNoZWNrXCIsIHN0eWxlOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfSB9KSkgOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChDaXJjdWxhclByb2dyZXNzLCB7IHNpemU6IDIwLCBzeDogeyBjb2xvcjogJ3doaXRlJyB9IH0pKSA6IChyZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBpc0xhc3RTdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0SGFzQ2hhbmdlcyxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZyZWVEb3duZ3JhZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tvdXRMb2NhbGl6YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNQbGFuVXBkYXRlOiAhIWFjdGl2ZVN1YnNjcmlwdGlvbiAmJiBhY3RpdmVTdWJzY3JpcHRpb24/LnBsYW4uaWQgPT09IHBsYW4/LmlkLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUG93ZXJlZEJ5U3RpZ2csIHsgc291cmNlOiBcImNoZWNrb3V0XCIsIHNob3dXYXRlcm1hcms6IGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgc3R5bGU6IHsgbWFyZ2luVG9wOiA4LCBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9IH0pLFxyXG4gICAgICAgICFkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiAmJiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0U3VjY2VzcywgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpKSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoZWNrb3V0U3VtbWFyeS5qcy5tYXAiXX0= */",
|
|
13808
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENzQyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgdXNlWnVvcmFJbnRlZ3JhdGlvbiB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvenVvcmEvdXNlWnVvcmFJbnRlZ3JhdGlvbic7XHJcbmltcG9ydCB7IHVzZVp1b3JhU3VibWl0IH0gZnJvbSAnLi4vc3RlcHMvcGF5bWVudC96dW9yYS91c2VadW9yYVN1Ym1pdCc7XHJcbmltcG9ydCB7IENoZWNrb3V0Q2FwdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tvdXRDYXB0aW9ucyc7XHJcbmltcG9ydCB7IEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIEJpbGxlZFByaWNlTGluZUl0ZW0sIERpc2NvdW50TGluZUl0ZW0sIEZyZWVDaGFyZ2VMaW5lSXRlbSwgTGluZUl0ZW1Db250YWluZXIsIExpbmVJdGVtUm93LCBUYXhMaW5lSXRlbSwgfSBmcm9tICcuL2NvbXBvbmVudHMvTGluZUl0ZW1zJztcclxuaW1wb3J0IHsgV2l0aFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1dpdGhTa2VsZXRvbic7XHJcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9jb21tb24vSWNvbic7XHJcbmltcG9ydCB7IENoZWNrb3V0U3VjY2VzcyB9IGZyb20gJy4vQ2hlY2tvdXRTdWNjZXNzJztcclxuaW1wb3J0IHsgZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldEZlYXR1cmVOYW1lJztcclxuaW1wb3J0IHsgbXEgfSBmcm9tICcuLi8uLi9jb21tb24vbWVkaWFRdWVyeSc7XHJcbmV4cG9ydCBjb25zdCBTdW1tYXJ5Q29udGFpbmVyID0gc3R5bGVkKEJveCkgYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NzBweDtcbiAgZmxleDogMS41O1xuYDtcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDYXJkID0gc3R5bGVkKFBhcGVyKSBgXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3RpZ2cucGFsZXR0ZS5iYWNrZ3JvdW5kSGlnaGxpZ2h0fTtcbiAgcGFkZGluZzogMTZweDtcblxuICAke21xLm1kfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuYDtcclxuU3VtbWFyeUNhcmQuZGVmYXVsdFByb3BzID0ge1xyXG4gICAgZWxldmF0aW9uOiAwLFxyXG59O1xyXG5jb25zdCBTdW1tYXJ5VGl0bGUgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcclxuY29uc3QgU3R5bGVkRGl2aWRlciA9IHN0eWxlZChEaXZpZGVyKSBgXG4gIG1hcmdpbjogMTZweCAwO1xuYDtcclxuY29uc3QgVG90YWxEdWVUZXh0ID0gc3R5bGVkKFR5cG9ncmFwaHkpIGBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcclxuZnVuY3Rpb24gcmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7IGlzTGFzdFN0ZXAsIGNoZWNrb3V0SGFzQ2hhbmdlcywgaXNGcmVlRG93bmdyYWRlLCBjaGVja291dExvY2FsaXphdGlvbiwgaXNQbGFuVXBkYXRlLCB9KSB7XHJcbiAgICBpZiAoIWlzTGFzdFN0ZXApIHtcclxuICAgICAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24ubmV4dFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrb3V0SGFzQ2hhbmdlcykge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5ub0NoYW5nZXNUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzUGxhblVwZGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi51cGRhdGVUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzRnJlZURvd25ncmFkZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5kb3duZ3JhZGVUb0ZyZWVUZXh0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZ3JhZGVUZXh0O1xyXG59XHJcbmV4cG9ydCBjb25zdCBDaGVja291dFN1bW1hcnkgPSAoeyBvbkNoZWNrb3V0LCBvbkNoZWNrb3V0Q29tcGxldGVkLCBkaXNhYmxlUHJvbW90aW9uQ29kZSwgZGlzYWJsZVN1Y2Nlc3NBbmltYXRpb24sIGlzRnJlZURvd25ncmFkZSwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3LCBpc1dpZGdldFdhdGVybWFya0VuYWJsZWQsIH0pID0+IHtcclxuICAgIGNvbnN0IFtpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBzZXRJc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgc2V0RXJyb3JNZXNzYWdlLCB1c2VOZXdQYXltZW50TWV0aG9kIH0gPSB1c2VQYXltZW50U3RlcE1vZGVsKCk7XHJcbiAgICBjb25zdCBwcm9ncmVzc0JhciA9IHVzZVByb2dyZXNzQmFyTW9kZWwoKTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHVzZVN1YnNjcmlwdGlvbk1vZGVsKCk7XHJcbiAgICBjb25zdCB7IGNoZWNrb3V0U3RhdGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBjaGVja291dFN1Y2Nlc3MsIHdpZGdldFN0YXRlIH0gPSB1c2VDaGVja291dE1vZGVsKCk7XHJcbiAgICBjb25zdCB7IHBsYW4sIGFjdGl2ZVN1YnNjcmlwdGlvbiB9ID0gY2hlY2tvdXRTdGF0ZSB8fCB7fTtcclxuICAgIGNvbnN0IHBsYW5QcmljZXMgPSB1c2VDaGFyZ2VzU29ydChwbGFuPy5wcmljZVBvaW50cz8uZmlsdGVyKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpIHx8IFtdKTtcclxuICAgIGNvbnN0IFtiYXNlQ2hhcmdlcywgdXNhZ2VDaGFyZ2VzXSA9IHBhcnRpdGlvbihwbGFuUHJpY2VzLCAocHJpY2UpID0+IHByaWNlLnByaWNpbmdNb2RlbCA9PT0gQmlsbGluZ01vZGVsLkZsYXRGZWUpO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VdID0gYmFzZUNoYXJnZXMgfHwgW107XHJcbiAgICBjb25zdCBpc0xhc3RTdGVwID0gaXNGcmVlRG93bmdyYWRlIHx8IChwcm9ncmVzc0Jhci5pc0NoZWNrb3V0Q29tcGxldGUgJiYgcHJvZ3Jlc3NCYXIuaXNMYXN0U3RlcCk7XHJcbiAgICBjb25zdCB7IGlzWnVvcmFJbnRlZ3JhdGlvbiB9ID0gdXNlWnVvcmFJbnRlZ3JhdGlvbigpO1xyXG4gICAgY29uc3QgaXNDaGVja291dENvbXBsZXRlZCA9IGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkgfHwgY2hlY2tvdXRTdWNjZXNzO1xyXG4gICAgY29uc3QgeyBzdWJzY3JpcHRpb25QcmV2aWV3LCBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB9ID0gdXNlUHJldmlld1N1YnNjcmlwdGlvbih7IG9uTW9ja0NoZWNrb3V0UHJldmlldyB9KTtcclxuICAgIGNvbnN0IHsgaGFuZGxlU3VibWl0OiBoYW5kbGVTdHJpcGVTdWJtaXQsIGlzTG9hZGluZzogaXNTdHJpcGVMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVp1b3JhU3VibWl0IH0gPSB1c2VadW9yYVN1Ym1pdCh7XHJcbiAgICAgICAgb25DaGVja291dCxcclxuICAgICAgICBvbkNoZWNrb3V0Q29tcGxldGVkLFxyXG4gICAgICAgIGRpc2FibGVTdWNjZXNzQW5pbWF0aW9uLFxyXG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5tYXJrU3RlcEFzQ29tcGxldGVkKHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuYWN0aXZlU3RlcCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgaGFuZGxlQ2hlY2tvdXQgPSBhc3luYyAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChpc0NoZWNrb3V0Q29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgICBpZiAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IGhhbmRsZVp1b3JhU3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBoYW5kbGVTdHJpcGVTdWJtaXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgZXJyb3JNZXNzYWdlIH0gPSByZXN1bHQgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gVGhpcyBpcyBzYWRcclxuICAgIGNvbnN0IGlzTG9hZGluZyA9IGlzWnVvcmFJbnRlZ3JhdGlvbiAmJiAhdXNlTmV3UGF5bWVudE1ldGhvZCA/IHdpZGdldFN0YXRlLnJlYWRPbmx5IDogaXNTdHJpcGVMb2FkaW5nO1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZSAmJiAhaXNadW9yYUludGVncmF0aW9uO1xyXG4gICAgY29uc3Qgc2hvd0Rpc2NvdW50TGluZSA9ICEhcmVjdXJyaW5nSW52b2ljZT8uZGlzY291bnREZXRhaWxzICYmICFpc0ZyZWVEb3duZ3JhZGU7XHJcbiAgICBjb25zdCBoYXNEaXNjb3VudHMgPSBzaG93UHJvbW90aW9uQ29kZUxpbmUgfHwgc2hvd0Rpc2NvdW50TGluZTtcclxuICAgIGNvbnN0IGhhc1BheUFzWW91R29DaGFyZ2VzID0gdXNhZ2VDaGFyZ2VzLnNvbWUoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA9IGhhc1BheUFzWW91R29DaGFyZ2VzICYmXHJcbiAgICAgICAgIWJhc2VDaGFyZ2UgJiZcclxuICAgICAgICB1c2FnZUNoYXJnZXMuZXZlcnkoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IGJhc2VDaGFyZ2VMYWJlbCA9IHR5cGVvZiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0ID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSlcclxuICAgICAgICA6IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYmFzZUNoYXJnZVRleHQ7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3VtbWFyeUNvbnRhaW5lciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDYXJkLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlUaXRsZSwgeyB2YXJpYW50OiBcImgzXCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50aXRsZSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1wbGFuLXRpdGxlLWNvbnRhaW5lclwiLCBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5wbGFuTmFtZSh7IHBsYW46IHBsYW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSxcclxuICAgICAgICAgICAgYmFzZUNoYXJnZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCwgcXVhbnRpdHk6IDEsIHByaWNlOiBiYXNlQ2hhcmdlIH0pKSxcclxuICAgICAgICAgICAgIWJhc2VDaGFyZ2UgJiYgaXNGcmVlRG93bmdyYWRlID8gUmVhY3QuY3JlYXRlRWxlbWVudChGcmVlQ2hhcmdlTGluZUl0ZW0sIHsgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCB9KSA6IG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS11c2FnZS1jaGFyZ2VzLWNvbnRhaW5lclwiIH0sIHVzYWdlQ2hhcmdlcy5tYXAoKHByaWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcmljZUJpbGxhYmxlRmVhdHVyZSA9IHN1YnNjcmlwdGlvbi5iaWxsYWJsZUZlYXR1cmVzPy5maW5kKChiaWxsYWJsZUZlYXR1cmUpID0+IGJpbGxhYmxlRmVhdHVyZS5mZWF0dXJlSWQgPT09IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogcHJpY2UuZmVhdHVyZT8uZmVhdHVyZUlkLCBsYWJlbDogZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dChwcmljZS5mZWF0dXJlPy5kaXNwbGF5TmFtZSB8fCAnJywgcHJpY2UuZmVhdHVyZT8udW5pdHMsIHByaWNlLmZlYXR1cmU/LnVuaXRzUGx1cmFsKSwgcXVhbnRpdHk6IHByaWNlQmlsbGFibGVGZWF0dXJlPy5xdWFudGl0eSB8fCAxLCBwcmljZTogcHJpY2UgfSkpO1xyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICEhc3Vic2NyaXB0aW9uLmFkZG9ucz8ubGVuZ3RoICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5hZGRvbnNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkb25zLm1hcCgoYWRkb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblByaWNlID0gYWRkb24uYWRkb24ucHJpY2VQb2ludHM/LmZpbmQoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhZGRvblByaWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblF1YW50aXR5ID0gYWRkb24ucXVhbnRpdHkgJiYgYWRkb24ucXVhbnRpdHkgPiAwID8gYWRkb24ucXVhbnRpdHkgOiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwga2V5OiBhZGRvbj8uYWRkb24/LmlkLCBsYWJlbDogYWRkb24uYWRkb24uZGlzcGxheU5hbWUsIHF1YW50aXR5OiBhZGRvblF1YW50aXR5LCBwcmljZTogYWRkb25QcmljZSB9KSk7XHJcbiAgICAgICAgICAgICAgICB9KSkpLFxyXG4gICAgICAgICAgICAhaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIGhhc0Rpc2NvdW50cyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiLCBjb2xvcjogXCJwcmltYXJ5XCIsIHN0eWxlOiB7IHBhZGRpbmdSaWdodDogJzhweCcgfSB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmRpc2NvdW50c1NlY3Rpb25UaXRsZSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpKSxcclxuICAgICAgICAgICAgc2hvd1Byb21vdGlvbkNvZGVMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFByb21vdGlvbkNvZGVTZWN0aW9uLCB7IGRpc2FibGVkOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcsIGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3OiBvbk1vY2tDaGVja291dFByZXZpZXcgfSkpLFxyXG4gICAgICAgICAgICBzaG93RGlzY291bnRMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KERpc2NvdW50TGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYXhMaW5lSXRlbSwgeyB0YXg6IHJlY3VycmluZ0ludm9pY2U/LnRheCwgdGF4RGV0YWlsczogcmVjdXJyaW5nSW52b2ljZT8udGF4RGV0YWlscywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgICFpc0ZyZWVEb3duZ3JhZGUgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Sb3csIHsgc3R5bGU6IHsgbWFyZ2luVG9wOiAxNiB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLCBjb250YWluZXI6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGl0ZW06IHRydWUsIGRpc3BsYXk6IFwiZmxleFwiLCBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seVBheUFzWW91R29DaGFyZ2VzID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5vbmx5UGF5QXNZb3VHb1RleHQgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzICYmIGhhc1BheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuc3RhcnRzQXRUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFvbmx5UGF5QXNZb3VHb0NoYXJnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlY3VycmluZ0ludm9pY2U/LnRvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsQmlsbGluZ1BlcmlvZFRleHQoeyBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSkpKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5wcm9yYXRpb24/Lmhhc1Byb3JhdGlvbnMgJiZcclxuICAgICAgICAgICAgICAgIGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbC5hbW91bnQgPiAwID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucHJvcmF0ZWRUb3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsPy5hbW91bnQgKyAoaW1tZWRpYXRlSW52b2ljZT8udGF4Py5hbW91bnQgfHwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSkpKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsRHVlVGV4dCksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUb3RhbER1ZVRleHQsIHsgdmFyaWFudDogXCJoNlwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7IGFtb3VudDogMCwgLi4uaW1tZWRpYXRlSW52b2ljZT8udG90YWwsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMiB9KSkpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRDYXB0aW9ucywgeyBwbGFuOiBwbGFuLCBhY3RpdmVTdWJzY3JpcHRpb246IGFjdGl2ZVN1YnNjcmlwdGlvbiwgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pLFxyXG4gICAgICAgICAgICAoIWlzTGFzdFN0ZXAgfHwgIWlzWnVvcmFJbnRlZ3JhdGlvbiB8fCAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7IFwiJHN1Y2Nlc3NcIjogaXNDaGVja291dENvbXBsZXRlZCwgXCIkZXJyb3JcIjogaXNMYXN0U3RlcCAmJiBpc0ZyZWVEb3duZ3JhZGUsIGRpc2FibGVkOiBpc0xvYWRpbmcgfHxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChpc0xhc3RTdGVwICYmICFjaGVja291dEhhc0NoYW5nZXMpLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uXCIsIHN4OiB7IHRleHRUcmFuc2Zvcm06ICdub25lJywgYm9yZGVyUmFkaXVzOiAnMTBweCcsIG1hcmdpblRvcDogJzI0cHgnLCBoZWlnaHQ6ICczNnB4JyB9LCB2YXJpYW50OiBcImNvbnRhaW5lZFwiLCBzaXplOiBcIm1lZGl1bVwiLCBvbkNsaWNrOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgb25DaGVja291dENsaWNrKGUpO1xyXG4gICAgICAgICAgICAgICAgfSwgZnVsbFdpZHRoOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktY3RhLWJ1dHRvbi10ZXh0XCIsIHZhcmlhbnQ6IFwiaDNcIiwgY29sb3I6IFwid2hpdGVcIiwgc3R5bGU6IHsgZGlzcGxheTogJ2ZsZXgnIH0gfSwgaXNDaGVja291dENvbXBsZXRlZCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHsgaWNvbjogXCJDaGVja1wiLCBzdHlsZTogeyBkaXNwbGF5OiAnY29udGVudHMnIH0gfSkpIDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2lyY3VsYXJQcm9ncmVzcywgeyBzaXplOiAyMCwgc3g6IHsgY29sb3I6ICd3aGl0ZScgfSB9KSkgOiAocmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0U3RlcCxcclxuICAgICAgICAgICAgICAgICAgICBjaGVja291dEhhc0NoYW5nZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNGcmVlRG93bmdyYWRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0TG9jYWxpemF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzUGxhblVwZGF0ZTogISFhY3RpdmVTdWJzY3JpcHRpb24gJiYgYWN0aXZlU3Vic2NyaXB0aW9uPy5wbGFuLmlkID09PSBwbGFuPy5pZCxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSksXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQb3dlcmVkQnlTdGlnZywgeyBzb3VyY2U6IFwiY2hlY2tvdXRcIiwgc2hvd1dhdGVybWFyazogaXNXaWRnZXRXYXRlcm1hcmtFbmFibGVkLCBzdHlsZTogeyBtYXJnaW5Ub3A6IDgsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH0gfSksXHJcbiAgICAgICAgIWRpc2FibGVTdWNjZXNzQW5pbWF0aW9uICYmIGlzQ2hlY2tvdXRDb21wbGV0ZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRTdWNjZXNzLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiB9KSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hlY2tvdXRTdW1tYXJ5LmpzLm1hcCJdfQ== */",
|
|
13484
13809
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13485
13810
|
});
|
|
13486
13811
|
|
|
@@ -13495,7 +13820,7 @@ var TotalDueText = /*#__PURE__*/_styled(Typography, process.env.NODE_ENV === "pr
|
|
|
13495
13820
|
} : {
|
|
13496
13821
|
name: "5bhc30",
|
|
13497
13822
|
styles: "margin-bottom:8px",
|
|
13498
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0N3QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRDYXB0aW9ucyB9IGZyb20gJy4vY29tcG9uZW50cy9DaGVja291dENhcHRpb25zJztcclxuaW1wb3J0IHsgQXBwbGllZENyZWRpdHNMaW5lSXRlbSwgQmlsbGVkUHJpY2VMaW5lSXRlbSwgRGlzY291bnRMaW5lSXRlbSwgRnJlZUNoYXJnZUxpbmVJdGVtLCBMaW5lSXRlbUNvbnRhaW5lciwgTGluZUl0ZW1Sb3csIFRheExpbmVJdGVtLCB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5lSXRlbXMnO1xyXG5pbXBvcnQgeyBXaXRoU2tlbGV0b24gfSBmcm9tICcuL2NvbXBvbmVudHMvV2l0aFNrZWxldG9uJztcclxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9JY29uJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRTdWNjZXNzIH0gZnJvbSAnLi9DaGVja291dFN1Y2Nlc3MnO1xyXG5pbXBvcnQgeyBnZXRGZWF0dXJlRGlzcGxheU5hbWVUZXh0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0RmVhdHVyZU5hbWUnO1xyXG5pbXBvcnQgeyBtcSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tZWRpYVF1ZXJ5JztcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDb250YWluZXIgPSBzdHlsZWQoQm94KSBgXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ3MHB4O1xuICBmbGV4OiAxLjU7XG5gO1xyXG5leHBvcnQgY29uc3QgU3VtbWFyeUNhcmQgPSBzdHlsZWQoUGFwZXIpIGBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zdGlnZy5wYWxldHRlLmJhY2tncm91bmRIaWdobGlnaHR9O1xuICBwYWRkaW5nOiAxNnB4O1xuXG4gICR7bXEubWR9IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5gO1xyXG5TdW1tYXJ5Q2FyZC5kZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBlbGV2YXRpb246IDAsXHJcbn07XHJcbmNvbnN0IFN1bW1hcnlUaXRsZSA9IHN0eWxlZChUeXBvZ3JhcGh5KSBgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xyXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkKERpdmlkZXIpIGBcbiAgbWFyZ2luOiAxNnB4IDA7XG5gO1xyXG5jb25zdCBUb3RhbER1ZVRleHQgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xyXG5mdW5jdGlvbiByZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHsgaXNMYXN0U3RlcCwgY2hlY2tvdXRIYXNDaGFuZ2VzLCBpc0ZyZWVEb3duZ3JhZGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBpc1BsYW5VcGRhdGUsIH0pIHtcclxuICAgIGlmICghaXNMYXN0U3RlcCkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5uZXh0VGV4dDtcclxuICAgIH1cclxuICAgIGlmICghY2hlY2tvdXRIYXNDaGFuZ2VzKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLm5vQ2hhbmdlc1RleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNQbGFuVXBkYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZGF0ZVRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNGcmVlRG93bmdyYWRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLmRvd25ncmFkZVRvRnJlZVRleHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24udXBncmFkZVRleHQ7XHJcbn1cclxuZXhwb3J0IGNvbnN0IENoZWNrb3V0U3VtbWFyeSA9ICh7IG9uQ2hlY2tvdXQsIG9uQ2hlY2tvdXRDb21wbGV0ZWQsIGRpc2FibGVQcm9tb3Rpb25Db2RlLCBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiwgaXNGcmVlRG93bmdyYWRlLCBvbk1vY2tDaGVja291dFByZXZpZXcsIGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgfSkgPT4ge1xyXG4gICAgY29uc3QgW2lzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHksIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHldID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgeyBzZXRFcnJvck1lc3NhZ2UgfSA9IHVzZVBheW1lbnRTdGVwTW9kZWwoKTtcclxuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdXNlUHJvZ3Jlc3NCYXJNb2RlbCgpO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdXNlU3Vic2NyaXB0aW9uTW9kZWwoKTtcclxuICAgIGNvbnN0IHsgY2hlY2tvdXRTdGF0ZSwgY2hlY2tvdXRMb2NhbGl6YXRpb24gfSA9IHVzZUNoZWNrb3V0TW9kZWwoKTtcclxuICAgIGNvbnN0IHsgcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uIH0gPSBjaGVja291dFN0YXRlIHx8IHt9O1xyXG4gICAgY29uc3QgcGxhblByaWNlcyA9IHVzZUNoYXJnZXNTb3J0KHBsYW4/LnByaWNlUG9pbnRzPy5maWx0ZXIoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCkgfHwgW10pO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VzLCB1c2FnZUNoYXJnZXNdID0gcGFydGl0aW9uKHBsYW5QcmljZXMsIChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuRmxhdEZlZSk7XHJcbiAgICBjb25zdCBbYmFzZUNoYXJnZV0gPSBiYXNlQ2hhcmdlcyB8fCBbXTtcclxuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBpc0ZyZWVEb3duZ3JhZGUgfHwgKHByb2dyZXNzQmFyLmlzQ2hlY2tvdXRDb21wbGV0ZSAmJiBwcm9ncmVzc0Jhci5pc0xhc3RTdGVwKTtcclxuICAgIGNvbnN0IHsgc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSA9IHVzZVByZXZpZXdTdWJzY3JpcHRpb24oeyBvbk1vY2tDaGVja291dFByZXZpZXcgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVN1Ym1pdCwgaXNMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBoYW5kbGVDaGVja291dCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGVycm9yTWVzc2FnZSB9ID0gKGF3YWl0IGhhbmRsZVN1Ym1pdChlKSkgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZTtcclxuICAgIGNvbnN0IHNob3dEaXNjb3VudExpbmUgPSAhIXJlY3VycmluZ0ludm9pY2U/LmRpc2NvdW50RGV0YWlscyAmJiAhaXNGcmVlRG93bmdyYWRlO1xyXG4gICAgY29uc3QgaGFzRGlzY291bnRzID0gc2hvd1Byb21vdGlvbkNvZGVMaW5lIHx8IHNob3dEaXNjb3VudExpbmU7XHJcbiAgICBjb25zdCBoYXNQYXlBc1lvdUdvQ2hhcmdlcyA9IHVzYWdlQ2hhcmdlcy5zb21lKChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBvbmx5UGF5QXNZb3VHb0NoYXJnZXMgPSBoYXNQYXlBc1lvdUdvQ2hhcmdlcyAmJlxyXG4gICAgICAgICFiYXNlQ2hhcmdlICYmXHJcbiAgICAgICAgdXNhZ2VDaGFyZ2VzLmV2ZXJ5KChwcmljZSkgPT4gcHJpY2UucHJpY2luZ01vZGVsID09PSBCaWxsaW5nTW9kZWwuVXNhZ2VCYXNlZCk7XHJcbiAgICBjb25zdCBiYXNlQ2hhcmdlTGFiZWwgPSB0eXBlb2YgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgICAgID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5iYXNlQ2hhcmdlVGV4dCh7IGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pXHJcbiAgICAgICAgOiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDb250YWluZXIsIG51bGwsXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5Q2FyZCwgbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdW1tYXJ5VGl0bGUsIHsgdmFyaWFudDogXCJoM1wiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudGl0bGUpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktcGxhbi10aXRsZS1jb250YWluZXJcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIG1hcmdpblk6IDIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucGxhbk5hbWUoeyBwbGFuOiBwbGFuIH0pKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgIGJhc2VDaGFyZ2UgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwsIHF1YW50aXR5OiAxLCBwcmljZTogYmFzZUNoYXJnZSB9KSksXHJcbiAgICAgICAgICAgICFiYXNlQ2hhcmdlICYmIGlzRnJlZURvd25ncmFkZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJlZUNoYXJnZUxpbmVJdGVtLCB7IGxhYmVsOiBiYXNlQ2hhcmdlTGFiZWwgfSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSwgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktdXNhZ2UtY2hhcmdlcy1jb250YWluZXJcIiB9LCB1c2FnZUNoYXJnZXMubWFwKChwcmljZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJpY2VCaWxsYWJsZUZlYXR1cmUgPSBzdWJzY3JpcHRpb24uYmlsbGFibGVGZWF0dXJlcz8uZmluZCgoYmlsbGFibGVGZWF0dXJlKSA9PiBiaWxsYWJsZUZlYXR1cmUuZmVhdHVyZUlkID09PSBwcmljZS5mZWF0dXJlPy5mZWF0dXJlSWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEJpbGxlZFByaWNlTGluZUl0ZW0sIHsgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBrZXk6IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCwgbGFiZWw6IGdldEZlYXR1cmVEaXNwbGF5TmFtZVRleHQocHJpY2UuZmVhdHVyZT8uZGlzcGxheU5hbWUgfHwgJycsIHByaWNlLmZlYXR1cmU/LnVuaXRzLCBwcmljZS5mZWF0dXJlPy51bml0c1BsdXJhbCksIHF1YW50aXR5OiBwcmljZUJpbGxhYmxlRmVhdHVyZT8ucXVhbnRpdHkgfHwgMSwgcHJpY2U6IHByaWNlIH0pKTtcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAhIXN1YnNjcmlwdGlvbi5hZGRvbnM/Lmxlbmd0aCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc3R5bGU6IHsgcGFkZGluZ1JpZ2h0OiAnOHB4JyB9IH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYWRkb25zU2VjdGlvblRpdGxlKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZG9ucy5tYXAoKGFkZG9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25QcmljZSA9IGFkZG9uLmFkZG9uLnByaWNlUG9pbnRzPy5maW5kKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWRkb25QcmljZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkb25RdWFudGl0eSA9IGFkZG9uLnF1YW50aXR5ICYmIGFkZG9uLnF1YW50aXR5ID4gMCA/IGFkZG9uLnF1YW50aXR5IDogMTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogYWRkb24/LmFkZG9uPy5pZCwgbGFiZWw6IGFkZG9uLmFkZG9uLmRpc3BsYXlOYW1lLCBxdWFudGl0eTogYWRkb25RdWFudGl0eSwgcHJpY2U6IGFkZG9uUHJpY2UgfSkpO1xyXG4gICAgICAgICAgICAgICAgfSkpKSxcclxuICAgICAgICAgICAgIWhhc0Rpc2NvdW50cyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5kaXNjb3VudHNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSksXHJcbiAgICAgICAgICAgIHNob3dQcm9tb3Rpb25Db2RlTGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChQcm9tb3Rpb25Db2RlU2VjdGlvbiwgeyBkaXNhYmxlZDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIG9uTW9ja0NoZWNrb3V0UHJldmlldzogb25Nb2NrQ2hlY2tvdXRQcmV2aWV3IH0pKSxcclxuICAgICAgICAgICAgc2hvd0Rpc2NvdW50TGluZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChEaXNjb3VudExpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pKSxcclxuICAgICAgICAgICAgaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGF4TGluZUl0ZW0sIHsgdGF4OiByZWN1cnJpbmdJbnZvaWNlPy50YXgsIHRheERldGFpbHM6IHJlY3VycmluZ0ludm9pY2U/LnRheERldGFpbHMsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICAhaXNGcmVlRG93bmdyYWRlID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCB7IHN0eWxlOiB7IG1hcmdpblRvcDogMTYgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIiwgY29udGFpbmVyOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBkaXNwbGF5OiBcImZsZXhcIiwganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkudG90YWxUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkub25seVBheUFzWW91R29UZXh0IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW9ubHlQYXlBc1lvdUdvQ2hhcmdlcyAmJiBoYXNQYXlBc1lvdUdvQ2hhcmdlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnN0YXJ0c0F0VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWN1cnJpbmdJbnZvaWNlPy50b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEdyaWQsIHsgaXRlbTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiYm9keTFcIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbEJpbGxpbmdQZXJpb2RUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSkpKSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSkpIDogbnVsbCxcclxuICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8ucHJvcmF0aW9uPy5oYXNQcm9yYXRpb25zICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbCAmJlxyXG4gICAgICAgICAgICAgICAgaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuYW1vdW50ID4gMCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnByb3JhdGVkVG90YWxEdWVUZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbD8uYW1vdW50ICsgKGltbWVkaWF0ZUludm9pY2U/LnRheD8uYW1vdW50IHx8IDApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsLmN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkpKSkpIDogbnVsbCxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBcHBsaWVkQ3JlZGl0c0xpbmVJdGVtLCB7IHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtQ29udGFpbmVyLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMaW5lSXRlbVJvdywgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRvdGFsRHVlVGV4dCwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFdpdGhTa2VsZXRvbiwgeyBpc0xvYWRpbmc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IH0sIGN1cnJlbmN5UHJpY2VGb3JtYXR0ZXIoeyBhbW91bnQ6IDAsIC4uLmltbWVkaWF0ZUludm9pY2U/LnRvdGFsLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIgfSkpKSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0Q2FwdGlvbnMsIHsgcGxhbjogcGxhbiwgYWN0aXZlU3Vic2NyaXB0aW9uOiBhY3RpdmVTdWJzY3JpcHRpb24sIHN1YnNjcmlwdGlvblByZXZpZXc6IHN1YnNjcmlwdGlvblByZXZpZXcsIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3OiBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldywgY2hlY2tvdXRMb2NhbGl6YXRpb246IGNoZWNrb3V0TG9jYWxpemF0aW9uLCBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChCdXR0b24sIHsgXCIkc3VjY2Vzc1wiOiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBcIiRlcnJvclwiOiBpc0xhc3RTdGVwICYmIGlzRnJlZURvd25ncmFkZSwgZGlzYWJsZWQ6IGlzTG9hZGluZyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKGlzTGFzdFN0ZXAgJiYgIWNoZWNrb3V0SGFzQ2hhbmdlcyksIGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWN0YS1idXR0b25cIiwgc3g6IHsgdGV4dFRyYW5zZm9ybTogJ25vbmUnLCBib3JkZXJSYWRpdXM6ICcxMHB4JywgbWFyZ2luVG9wOiAnMjRweCcsIGhlaWdodDogJzM2cHgnIH0sIHZhcmlhbnQ6IFwiY29udGFpbmVkXCIsIHNpemU6IFwibWVkaXVtXCIsIG9uQ2xpY2s6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdm9pZCBvbkNoZWNrb3V0Q2xpY2soZSk7XHJcbiAgICAgICAgICAgICAgICB9LCBmdWxsV2lkdGg6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uLXRleHRcIiwgdmFyaWFudDogXCJoM1wiLCBjb2xvcjogXCJ3aGl0ZVwiLCBzdHlsZTogeyBkaXNwbGF5OiAnZmxleCcgfSB9LCBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbiwgeyBpY29uOiBcIkNoZWNrXCIsIHN0eWxlOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfSB9KSkgOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChDaXJjdWxhclByb2dyZXNzLCB7IHNpemU6IDIwLCBzeDogeyBjb2xvcjogJ3doaXRlJyB9IH0pKSA6IChyZXNvbHZlQ2hlY2tvdXRCdXR0b25UZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBpc0xhc3RTdGVwLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0SGFzQ2hhbmdlcyxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZyZWVEb3duZ3JhZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tvdXRMb2NhbGl6YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNQbGFuVXBkYXRlOiAhIWFjdGl2ZVN1YnNjcmlwdGlvbiAmJiBhY3RpdmVTdWJzY3JpcHRpb24/LnBsYW4uaWQgPT09IHBsYW4/LmlkLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUG93ZXJlZEJ5U3RpZ2csIHsgc291cmNlOiBcImNoZWNrb3V0XCIsIHNob3dXYXRlcm1hcms6IGlzV2lkZ2V0V2F0ZXJtYXJrRW5hYmxlZCwgc3R5bGU6IHsgbWFyZ2luVG9wOiA4LCBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9IH0pLFxyXG4gICAgICAgICFkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbiAmJiBpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5ICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrb3V0U3VjY2VzcywgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpKSk7XHJcbn07XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoZWNrb3V0U3VtbWFyeS5qcy5tYXAiXX0= */",
|
|
13823
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoZWNrb3V0U3VtbWFyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUR3QyIsImZpbGUiOiJDaGVja291dFN1bW1hcnkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgcGFydGl0aW9uIGZyb20gJ2xvZGFzaC9wYXJ0aXRpb24nO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybyc7XHJcbmltcG9ydCBCb3ggZnJvbSAnQG11aS9tYXRlcmlhbC9Cb3gnO1xyXG5pbXBvcnQgQ2lyY3VsYXJQcm9ncmVzcyBmcm9tICdAbXVpL21hdGVyaWFsL0NpcmN1bGFyUHJvZ3Jlc3MnO1xyXG5pbXBvcnQgRGl2aWRlciBmcm9tICdAbXVpL21hdGVyaWFsL0RpdmlkZXInO1xyXG5pbXBvcnQgR3JpZCBmcm9tICdAbXVpL21hdGVyaWFsL0dyaWQnO1xyXG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XHJcbmltcG9ydCB7IEJpbGxpbmdNb2RlbCB9IGZyb20gJ0BzdGlnZy9qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5U3RpZ2cgfSBmcm9tICcuLi8uLi9jb21tb24vUG93ZXJlZEJ5U3RpZ2cnO1xyXG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tbW9uL1R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyB1c2VDaGFyZ2VzU29ydCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXJnZVNvcnQnO1xyXG5pbXBvcnQgeyBjdXJyZW5jeVByaWNlRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lVdGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyB1c2VDaGVja291dE1vZGVsLCB1c2VQcm9ncmVzc0Jhck1vZGVsLCB1c2VQcmV2aWV3U3Vic2NyaXB0aW9uLCB1c2VTdWJzY3JpcHRpb25Nb2RlbCwgdXNlUGF5bWVudFN0ZXBNb2RlbCwgfSBmcm9tICcuLi9ob29rcyc7XHJcbmltcG9ydCB7IFByb21vdGlvbkNvZGVTZWN0aW9uIH0gZnJvbSAnLi4vcHJvbW90aW9uQ29kZSc7XHJcbmltcG9ydCB7IHVzZVN1Ym1pdCB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvc3RyaXBlJztcclxuaW1wb3J0IHsgdXNlWnVvcmFJbnRlZ3JhdGlvbiB9IGZyb20gJy4uL3N0ZXBzL3BheW1lbnQvenVvcmEvdXNlWnVvcmFJbnRlZ3JhdGlvbic7XHJcbmltcG9ydCB7IHVzZVp1b3JhU3VibWl0IH0gZnJvbSAnLi4vc3RlcHMvcGF5bWVudC96dW9yYS91c2VadW9yYVN1Ym1pdCc7XHJcbmltcG9ydCB7IENoZWNrb3V0Q2FwdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tvdXRDYXB0aW9ucyc7XHJcbmltcG9ydCB7IEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIEJpbGxlZFByaWNlTGluZUl0ZW0sIERpc2NvdW50TGluZUl0ZW0sIEZyZWVDaGFyZ2VMaW5lSXRlbSwgTGluZUl0ZW1Db250YWluZXIsIExpbmVJdGVtUm93LCBUYXhMaW5lSXRlbSwgfSBmcm9tICcuL2NvbXBvbmVudHMvTGluZUl0ZW1zJztcclxuaW1wb3J0IHsgV2l0aFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1dpdGhTa2VsZXRvbic7XHJcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9jb21tb24vSWNvbic7XHJcbmltcG9ydCB7IENoZWNrb3V0U3VjY2VzcyB9IGZyb20gJy4vQ2hlY2tvdXRTdWNjZXNzJztcclxuaW1wb3J0IHsgZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldEZlYXR1cmVOYW1lJztcclxuaW1wb3J0IHsgbXEgfSBmcm9tICcuLi8uLi9jb21tb24vbWVkaWFRdWVyeSc7XHJcbmV4cG9ydCBjb25zdCBTdW1tYXJ5Q29udGFpbmVyID0gc3R5bGVkKEJveCkgYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NzBweDtcbiAgZmxleDogMS41O1xuYDtcclxuZXhwb3J0IGNvbnN0IFN1bW1hcnlDYXJkID0gc3R5bGVkKFBhcGVyKSBgXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3RpZ2cucGFsZXR0ZS5iYWNrZ3JvdW5kSGlnaGxpZ2h0fTtcbiAgcGFkZGluZzogMTZweDtcblxuICAke21xLm1kfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuYDtcclxuU3VtbWFyeUNhcmQuZGVmYXVsdFByb3BzID0ge1xyXG4gICAgZWxldmF0aW9uOiAwLFxyXG59O1xyXG5jb25zdCBTdW1tYXJ5VGl0bGUgPSBzdHlsZWQoVHlwb2dyYXBoeSkgYFxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcclxuY29uc3QgU3R5bGVkRGl2aWRlciA9IHN0eWxlZChEaXZpZGVyKSBgXG4gIG1hcmdpbjogMTZweCAwO1xuYDtcclxuY29uc3QgVG90YWxEdWVUZXh0ID0gc3R5bGVkKFR5cG9ncmFwaHkpIGBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcclxuZnVuY3Rpb24gcmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7IGlzTGFzdFN0ZXAsIGNoZWNrb3V0SGFzQ2hhbmdlcywgaXNGcmVlRG93bmdyYWRlLCBjaGVja291dExvY2FsaXphdGlvbiwgaXNQbGFuVXBkYXRlLCB9KSB7XHJcbiAgICBpZiAoIWlzTGFzdFN0ZXApIHtcclxuICAgICAgICByZXR1cm4gY2hlY2tvdXRMb2NhbGl6YXRpb24uY2hlY2tvdXRCdXR0b24ubmV4dFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrb3V0SGFzQ2hhbmdlcykge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5ub0NoYW5nZXNUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzUGxhblVwZGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi51cGRhdGVUZXh0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzRnJlZURvd25ncmFkZSkge1xyXG4gICAgICAgIHJldHVybiBjaGVja291dExvY2FsaXphdGlvbi5jaGVja291dEJ1dHRvbi5kb3duZ3JhZGVUb0ZyZWVUZXh0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNoZWNrb3V0TG9jYWxpemF0aW9uLmNoZWNrb3V0QnV0dG9uLnVwZ3JhZGVUZXh0O1xyXG59XHJcbmV4cG9ydCBjb25zdCBDaGVja291dFN1bW1hcnkgPSAoeyBvbkNoZWNrb3V0LCBvbkNoZWNrb3V0Q29tcGxldGVkLCBkaXNhYmxlUHJvbW90aW9uQ29kZSwgZGlzYWJsZVN1Y2Nlc3NBbmltYXRpb24sIGlzRnJlZURvd25ncmFkZSwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3LCBpc1dpZGdldFdhdGVybWFya0VuYWJsZWQsIH0pID0+IHtcclxuICAgIGNvbnN0IFtpc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5LCBzZXRJc0NoZWNrb3V0Q29tcGxldGVkU3VjY2Vzc2Z1bGx5XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgc2V0RXJyb3JNZXNzYWdlLCB1c2VOZXdQYXltZW50TWV0aG9kIH0gPSB1c2VQYXltZW50U3RlcE1vZGVsKCk7XHJcbiAgICBjb25zdCBwcm9ncmVzc0JhciA9IHVzZVByb2dyZXNzQmFyTW9kZWwoKTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHVzZVN1YnNjcmlwdGlvbk1vZGVsKCk7XHJcbiAgICBjb25zdCB7IGNoZWNrb3V0U3RhdGUsIGNoZWNrb3V0TG9jYWxpemF0aW9uLCBjaGVja291dFN1Y2Nlc3MsIHdpZGdldFN0YXRlIH0gPSB1c2VDaGVja291dE1vZGVsKCk7XHJcbiAgICBjb25zdCB7IHBsYW4sIGFjdGl2ZVN1YnNjcmlwdGlvbiB9ID0gY2hlY2tvdXRTdGF0ZSB8fCB7fTtcclxuICAgIGNvbnN0IHBsYW5QcmljZXMgPSB1c2VDaGFyZ2VzU29ydChwbGFuPy5wcmljZVBvaW50cz8uZmlsdGVyKChwcmljZSkgPT4gcHJpY2UuYmlsbGluZ1BlcmlvZCA9PT0gc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QpIHx8IFtdKTtcclxuICAgIGNvbnN0IFtiYXNlQ2hhcmdlcywgdXNhZ2VDaGFyZ2VzXSA9IHBhcnRpdGlvbihwbGFuUHJpY2VzLCAocHJpY2UpID0+IHByaWNlLnByaWNpbmdNb2RlbCA9PT0gQmlsbGluZ01vZGVsLkZsYXRGZWUpO1xyXG4gICAgY29uc3QgW2Jhc2VDaGFyZ2VdID0gYmFzZUNoYXJnZXMgfHwgW107XHJcbiAgICBjb25zdCBpc0xhc3RTdGVwID0gaXNGcmVlRG93bmdyYWRlIHx8IChwcm9ncmVzc0Jhci5pc0NoZWNrb3V0Q29tcGxldGUgJiYgcHJvZ3Jlc3NCYXIuaXNMYXN0U3RlcCk7XHJcbiAgICBjb25zdCB7IGlzWnVvcmFJbnRlZ3JhdGlvbiB9ID0gdXNlWnVvcmFJbnRlZ3JhdGlvbigpO1xyXG4gICAgY29uc3QgaXNDaGVja291dENvbXBsZXRlZCA9IGlzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkgfHwgY2hlY2tvdXRTdWNjZXNzO1xyXG4gICAgY29uc3QgeyBzdWJzY3JpcHRpb25QcmV2aWV3LCBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB9ID0gdXNlUHJldmlld1N1YnNjcmlwdGlvbih7IG9uTW9ja0NoZWNrb3V0UHJldmlldyB9KTtcclxuICAgIGNvbnN0IHsgaGFuZGxlU3VibWl0OiBoYW5kbGVTdHJpcGVTdWJtaXQsIGlzTG9hZGluZzogaXNTdHJpcGVMb2FkaW5nIH0gPSB1c2VTdWJtaXQoe1xyXG4gICAgICAgIGlzTW9ja2VkOiAhIW9uTW9ja0NoZWNrb3V0UHJldmlldyxcclxuICAgICAgICBkaXNhYmxlU3VjY2Vzc0FuaW1hdGlvbixcclxuICAgICAgICBvbkNoZWNrb3V0LFxyXG4gICAgICAgIG9uQ2hlY2tvdXRDb21wbGV0ZWQsXHJcbiAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldElzQ2hlY2tvdXRDb21wbGV0ZWRTdWNjZXNzZnVsbHkodHJ1ZSk7XHJcbiAgICAgICAgICAgIHByb2dyZXNzQmFyLm1hcmtTdGVwQXNDb21wbGV0ZWQocHJvZ3Jlc3NCYXIucHJvZ3Jlc3NCYXJTdGF0ZS5hY3RpdmVTdGVwKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhhbmRsZVp1b3JhU3VibWl0IH0gPSB1c2VadW9yYVN1Ym1pdCh7XHJcbiAgICAgICAgb25DaGVja291dCxcclxuICAgICAgICBvbkNoZWNrb3V0Q29tcGxldGVkLFxyXG4gICAgICAgIGRpc2FibGVTdWNjZXNzQW5pbWF0aW9uLFxyXG4gICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5tYXJrU3RlcEFzQ29tcGxldGVkKHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuYWN0aXZlU3RlcCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgaGFuZGxlQ2hlY2tvdXQgPSBhc3luYyAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChpc0NoZWNrb3V0Q29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgICBpZiAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IGhhbmRsZVp1b3JhU3VibWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhd2FpdCBoYW5kbGVTdHJpcGVTdWJtaXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgZXJyb3JNZXNzYWdlIH0gPSByZXN1bHQgfHwge307XHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgc2V0SXNDaGVja291dENvbXBsZXRlZFN1Y2Nlc3NmdWxseShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gVGhpcyBpcyBzYWRcclxuICAgIGNvbnN0IGlzTG9hZGluZyA9IGlzWnVvcmFJbnRlZ3JhdGlvbiAmJiAhdXNlTmV3UGF5bWVudE1ldGhvZCA/IHdpZGdldFN0YXRlLnJlYWRPbmx5IDogaXNTdHJpcGVMb2FkaW5nO1xyXG4gICAgY29uc3Qgb25DaGVja291dENsaWNrID0gYXN5bmMgKGUpID0+IHtcclxuICAgICAgICBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzTGFzdFN0ZXApIHtcclxuICAgICAgICAgICAgYXdhaXQgaGFuZGxlQ2hlY2tvdXQoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9ncmVzc0Jhci5nb05leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBpbW1lZGlhdGVJbnZvaWNlLCByZWN1cnJpbmdJbnZvaWNlIH0gPSBzdWJzY3JpcHRpb25QcmV2aWV3IHx8IHt9O1xyXG4gICAgY29uc3QgY2hlY2tvdXRIYXNDaGFuZ2VzID0gISFzdWJzY3JpcHRpb25QcmV2aWV3ICYmICghIWltbWVkaWF0ZUludm9pY2U/LnByb3JhdGlvbiB8fCAhIXN1YnNjcmlwdGlvblByZXZpZXcuaGFzU2NoZWR1bGVkVXBkYXRlcyk7XHJcbiAgICBjb25zdCBzaG93UHJvbW90aW9uQ29kZUxpbmUgPSAhZGlzYWJsZVByb21vdGlvbkNvZGUgJiYgIWlzRnJlZURvd25ncmFkZSAmJiAhaXNadW9yYUludGVncmF0aW9uO1xyXG4gICAgY29uc3Qgc2hvd0Rpc2NvdW50TGluZSA9ICEhcmVjdXJyaW5nSW52b2ljZT8uZGlzY291bnREZXRhaWxzICYmICFpc0ZyZWVEb3duZ3JhZGU7XHJcbiAgICBjb25zdCBoYXNEaXNjb3VudHMgPSBzaG93UHJvbW90aW9uQ29kZUxpbmUgfHwgc2hvd0Rpc2NvdW50TGluZTtcclxuICAgIGNvbnN0IGhhc1BheUFzWW91R29DaGFyZ2VzID0gdXNhZ2VDaGFyZ2VzLnNvbWUoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IG9ubHlQYXlBc1lvdUdvQ2hhcmdlcyA9IGhhc1BheUFzWW91R29DaGFyZ2VzICYmXHJcbiAgICAgICAgIWJhc2VDaGFyZ2UgJiZcclxuICAgICAgICB1c2FnZUNoYXJnZXMuZXZlcnkoKHByaWNlKSA9PiBwcmljZS5wcmljaW5nTW9kZWwgPT09IEJpbGxpbmdNb2RlbC5Vc2FnZUJhc2VkKTtcclxuICAgIGNvbnN0IGJhc2VDaGFyZ2VMYWJlbCA9IHR5cGVvZiBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0ID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmJhc2VDaGFyZ2VUZXh0KHsgYmlsbGluZ1BlcmlvZDogc3Vic2NyaXB0aW9uLmJpbGxpbmdQZXJpb2QgfSlcclxuICAgICAgICA6IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuYmFzZUNoYXJnZVRleHQ7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3VtbWFyeUNvbnRhaW5lciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlDYXJkLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN1bW1hcnlUaXRsZSwgeyB2YXJpYW50OiBcImgzXCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50aXRsZSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1wbGFuLXRpdGxlLWNvbnRhaW5lclwiLCBkaXNwbGF5OiBcImZsZXhcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgbWFyZ2luWTogMiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5wbGFuTmFtZSh7IHBsYW46IHBsYW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiwgc3g6IHsgZmxleDogMSwgbWFyZ2luOiAnMCAhaW1wb3J0YW50JyB9IH0pKSxcclxuICAgICAgICAgICAgYmFzZUNoYXJnZSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCwgcXVhbnRpdHk6IDEsIHByaWNlOiBiYXNlQ2hhcmdlIH0pKSxcclxuICAgICAgICAgICAgIWJhc2VDaGFyZ2UgJiYgaXNGcmVlRG93bmdyYWRlID8gUmVhY3QuY3JlYXRlRWxlbWVudChGcmVlQ2hhcmdlTGluZUl0ZW0sIHsgbGFiZWw6IGJhc2VDaGFyZ2VMYWJlbCB9KSA6IG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS11c2FnZS1jaGFyZ2VzLWNvbnRhaW5lclwiIH0sIHVzYWdlQ2hhcmdlcy5tYXAoKHByaWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcmljZUJpbGxhYmxlRmVhdHVyZSA9IHN1YnNjcmlwdGlvbi5iaWxsYWJsZUZlYXR1cmVzPy5maW5kKChiaWxsYWJsZUZlYXR1cmUpID0+IGJpbGxhYmxlRmVhdHVyZS5mZWF0dXJlSWQgPT09IHByaWNlLmZlYXR1cmU/LmZlYXR1cmVJZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmlsbGVkUHJpY2VMaW5lSXRlbSwgeyBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGtleTogcHJpY2UuZmVhdHVyZT8uZmVhdHVyZUlkLCBsYWJlbDogZ2V0RmVhdHVyZURpc3BsYXlOYW1lVGV4dChwcmljZS5mZWF0dXJlPy5kaXNwbGF5TmFtZSB8fCAnJywgcHJpY2UuZmVhdHVyZT8udW5pdHMsIHByaWNlLmZlYXR1cmU/LnVuaXRzUGx1cmFsKSwgcXVhbnRpdHk6IHByaWNlQmlsbGFibGVGZWF0dXJlPy5xdWFudGl0eSB8fCAxLCBwcmljZTogcHJpY2UgfSkpO1xyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICEhc3Vic2NyaXB0aW9uLmFkZG9ucz8ubGVuZ3RoICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzdHlsZTogeyBwYWRkaW5nUmlnaHQ6ICc4cHgnIH0gfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5hZGRvbnNTZWN0aW9uVGl0bGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIsIHN4OiB7IGZsZXg6IDEsIG1hcmdpbjogJzAgIWltcG9ydGFudCcgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkb25zLm1hcCgoYWRkb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblByaWNlID0gYWRkb24uYWRkb24ucHJpY2VQb2ludHM/LmZpbmQoKHByaWNlKSA9PiBwcmljZS5iaWxsaW5nUGVyaW9kID09PSBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhZGRvblByaWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRvblF1YW50aXR5ID0gYWRkb24ucXVhbnRpdHkgJiYgYWRkb24ucXVhbnRpdHkgPiAwID8gYWRkb24ucXVhbnRpdHkgOiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChCaWxsZWRQcmljZUxpbmVJdGVtLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwga2V5OiBhZGRvbj8uYWRkb24/LmlkLCBsYWJlbDogYWRkb24uYWRkb24uZGlzcGxheU5hbWUsIHF1YW50aXR5OiBhZGRvblF1YW50aXR5LCBwcmljZTogYWRkb25QcmljZSB9KSk7XHJcbiAgICAgICAgICAgICAgICB9KSkpLFxyXG4gICAgICAgICAgICAhaGFzRGlzY291bnRzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRGl2aWRlciwgeyBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1kaXZpZGVyXCIgfSksXHJcbiAgICAgICAgICAgIGhhc0Rpc2NvdW50cyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBtYXJnaW5ZOiAyIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJoNlwiLCBjb2xvcjogXCJwcmltYXJ5XCIsIHN0eWxlOiB7IHBhZGRpbmdSaWdodDogJzhweCcgfSB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LmRpc2NvdW50c1NlY3Rpb25UaXRsZSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiLCBzeDogeyBmbGV4OiAxLCBtYXJnaW46ICcwICFpbXBvcnRhbnQnIH0gfSkpKSxcclxuICAgICAgICAgICAgc2hvd1Byb21vdGlvbkNvZGVMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFByb21vdGlvbkNvZGVTZWN0aW9uLCB7IGRpc2FibGVkOiBpc0xvYWRpbmcgfHwgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcsIGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiwgb25Nb2NrQ2hlY2tvdXRQcmV2aWV3OiBvbk1vY2tDaGVja291dFByZXZpZXcgfSkpLFxyXG4gICAgICAgICAgICBzaG93RGlzY291bnRMaW5lICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KERpc2NvdW50TGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSkpLFxyXG4gICAgICAgICAgICBoYXNEaXNjb3VudHMgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREaXZpZGVyLCB7IGNsYXNzTmFtZTogXCJzdGlnZy1jaGVja291dC1zdW1tYXJ5LWRpdmlkZXJcIiB9KSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYXhMaW5lSXRlbSwgeyB0YXg6IHJlY3VycmluZ0ludm9pY2U/LnRheCwgdGF4RGV0YWlsczogcmVjdXJyaW5nSW52b2ljZT8udGF4RGV0YWlscywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgICFpc0ZyZWVEb3duZ3JhZGUgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Sb3csIHsgc3R5bGU6IHsgbWFyZ2luVG9wOiAxNiB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLCBjb250YWluZXI6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChHcmlkLCB7IGl0ZW06IHRydWUsIGRpc3BsYXk6IFwiZmxleFwiLCBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImg2XCIgfSwgY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS50b3RhbFRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seVBheUFzWW91R29DaGFyZ2VzID8gY2hlY2tvdXRMb2NhbGl6YXRpb24uc3VtbWFyeS5vbmx5UGF5QXNZb3VHb1RleHQgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhb25seVBheUFzWW91R29DaGFyZ2VzICYmIGhhc1BheUFzWW91R29DaGFyZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkuc3RhcnRzQXRUZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFvbmx5UGF5QXNZb3VHb0NoYXJnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlY3VycmluZ0ludm9pY2U/LnRvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3JpZCwgeyBpdGVtOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgdmFyaWFudDogXCJib2R5MVwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsQmlsbGluZ1BlcmlvZFRleHQoeyBiaWxsaW5nUGVyaW9kOiBzdWJzY3JpcHRpb24uYmlsbGluZ1BlcmlvZCB9KSkpKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZERpdmlkZXIsIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktZGl2aWRlclwiIH0pKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5wcm9yYXRpb24/Lmhhc1Byb3JhdGlvbnMgJiZcclxuICAgICAgICAgICAgICAgIGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsICYmXHJcbiAgICAgICAgICAgICAgICBpbW1lZGlhdGVJbnZvaWNlPy5zdWJUb3RhbC5hbW91bnQgPiAwID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sIGNoZWNrb3V0TG9jYWxpemF0aW9uLnN1bW1hcnkucHJvcmF0ZWRUb3RhbER1ZVRleHQpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVHlwb2dyYXBoeSwgeyB2YXJpYW50OiBcImJvZHkxXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGltbWVkaWF0ZUludm9pY2U/LnN1YlRvdGFsPy5hbW91bnQgKyAoaW1tZWRpYXRlSW52b2ljZT8udGF4Py5hbW91bnQgfHwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogaW1tZWRpYXRlSW52b2ljZT8uc3ViVG90YWwuY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSkpKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcGxpZWRDcmVkaXRzTGluZUl0ZW0sIHsgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24gfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGluZUl0ZW1Db250YWluZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExpbmVJdGVtUm93LCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG90YWxEdWVUZXh0LCB7IHZhcmlhbnQ6IFwiaDZcIiB9LCBjaGVja291dExvY2FsaXphdGlvbi5zdW1tYXJ5LnRvdGFsRHVlVGV4dCksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUb3RhbER1ZVRleHQsIHsgdmFyaWFudDogXCJoNlwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoV2l0aFNrZWxldG9uLCB7IGlzTG9hZGluZzogaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXcgfSwgY3VycmVuY3lQcmljZUZvcm1hdHRlcih7IGFtb3VudDogMCwgLi4uaW1tZWRpYXRlSW52b2ljZT8udG90YWwsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMiB9KSkpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRDYXB0aW9ucywgeyBwbGFuOiBwbGFuLCBhY3RpdmVTdWJzY3JpcHRpb246IGFjdGl2ZVN1YnNjcmlwdGlvbiwgc3Vic2NyaXB0aW9uUHJldmlldzogc3Vic2NyaXB0aW9uUHJldmlldywgaXNGZXRjaGluZ1N1YnNjcmlwdGlvblByZXZpZXc6IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3LCBjaGVja291dExvY2FsaXphdGlvbjogY2hlY2tvdXRMb2NhbGl6YXRpb24sIGJpbGxpbmdQZXJpb2Q6IHN1YnNjcmlwdGlvbi5iaWxsaW5nUGVyaW9kIH0pLFxyXG4gICAgICAgICAgICAoIWlzTGFzdFN0ZXAgfHwgIWlzWnVvcmFJbnRlZ3JhdGlvbiB8fCAoaXNadW9yYUludGVncmF0aW9uICYmICF1c2VOZXdQYXltZW50TWV0aG9kKSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7IFwiJHN1Y2Nlc3NcIjogaXNDaGVja291dENvbXBsZXRlZCwgXCIkZXJyb3JcIjogaXNMYXN0U3RlcCAmJiBpc0ZyZWVEb3duZ3JhZGUsIGRpc2FibGVkOiBpc0xvYWRpbmcgfHxcclxuICAgICAgICAgICAgICAgICAgICBpc0ZldGNoaW5nU3Vic2NyaXB0aW9uUHJldmlldyB8fFxyXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQmFyLnByb2dyZXNzQmFyU3RhdGUuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChpc0xhc3RTdGVwICYmICFjaGVja291dEhhc0NoYW5nZXMpLCBjbGFzc05hbWU6IFwic3RpZ2ctY2hlY2tvdXQtc3VtbWFyeS1jdGEtYnV0dG9uXCIsIHN4OiB7IHRleHRUcmFuc2Zvcm06ICdub25lJywgYm9yZGVyUmFkaXVzOiAnMTBweCcsIG1hcmdpblRvcDogJzI0cHgnLCBoZWlnaHQ6ICczNnB4JyB9LCB2YXJpYW50OiBcImNvbnRhaW5lZFwiLCBzaXplOiBcIm1lZGl1bVwiLCBvbkNsaWNrOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgb25DaGVja291dENsaWNrKGUpO1xyXG4gICAgICAgICAgICAgICAgfSwgZnVsbFdpZHRoOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFR5cG9ncmFwaHksIHsgY2xhc3NOYW1lOiBcInN0aWdnLWNoZWNrb3V0LXN1bW1hcnktY3RhLWJ1dHRvbi10ZXh0XCIsIHZhcmlhbnQ6IFwiaDNcIiwgY29sb3I6IFwid2hpdGVcIiwgc3R5bGU6IHsgZGlzcGxheTogJ2ZsZXgnIH0gfSwgaXNDaGVja291dENvbXBsZXRlZCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHsgaWNvbjogXCJDaGVja1wiLCBzdHlsZTogeyBkaXNwbGF5OiAnY29udGVudHMnIH0gfSkpIDogaXNMb2FkaW5nIHx8IGlzRmV0Y2hpbmdTdWJzY3JpcHRpb25QcmV2aWV3ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2lyY3VsYXJQcm9ncmVzcywgeyBzaXplOiAyMCwgc3g6IHsgY29sb3I6ICd3aGl0ZScgfSB9KSkgOiAocmVzb2x2ZUNoZWNrb3V0QnV0dG9uVGV4dCh7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0U3RlcCxcclxuICAgICAgICAgICAgICAgICAgICBjaGVja291dEhhc0NoYW5nZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNGcmVlRG93bmdyYWRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrb3V0TG9jYWxpemF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzUGxhblVwZGF0ZTogISFhY3RpdmVTdWJzY3JpcHRpb24gJiYgYWN0aXZlU3Vic2NyaXB0aW9uPy5wbGFuLmlkID09PSBwbGFuPy5pZCxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSksXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQb3dlcmVkQnlTdGlnZywgeyBzb3VyY2U6IFwiY2hlY2tvdXRcIiwgc2hvd1dhdGVybWFyazogaXNXaWRnZXRXYXRlcm1hcmtFbmFibGVkLCBzdHlsZTogeyBtYXJnaW5Ub3A6IDgsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH0gfSksXHJcbiAgICAgICAgIWRpc2FibGVTdWNjZXNzQW5pbWF0aW9uICYmIGlzQ2hlY2tvdXRDb21wbGV0ZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hlY2tvdXRTdWNjZXNzLCB7IGNoZWNrb3V0TG9jYWxpemF0aW9uOiBjaGVja291dExvY2FsaXphdGlvbiB9KSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2hlY2tvdXRTdW1tYXJ5LmpzLm1hcCJdfQ== */",
|
|
13499
13824
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13500
13825
|
});
|
|
13501
13826
|
|
|
@@ -13541,14 +13866,17 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13541
13866
|
setIsCheckoutCompletedSuccessfully = _useState[1];
|
|
13542
13867
|
|
|
13543
13868
|
var _usePaymentStepModel = usePaymentStepModel(),
|
|
13544
|
-
setErrorMessage = _usePaymentStepModel.setErrorMessage
|
|
13869
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage,
|
|
13870
|
+
useNewPaymentMethod = _usePaymentStepModel.useNewPaymentMethod;
|
|
13545
13871
|
|
|
13546
13872
|
var progressBar = useProgressBarModel();
|
|
13547
13873
|
var subscription = useSubscriptionModel();
|
|
13548
13874
|
|
|
13549
13875
|
var _useCheckoutModel = useCheckoutModel(),
|
|
13550
13876
|
checkoutState = _useCheckoutModel.checkoutState,
|
|
13551
|
-
checkoutLocalization = _useCheckoutModel.checkoutLocalization
|
|
13877
|
+
checkoutLocalization = _useCheckoutModel.checkoutLocalization,
|
|
13878
|
+
checkoutSuccess = _useCheckoutModel.checkoutSuccess,
|
|
13879
|
+
widgetState = _useCheckoutModel.widgetState;
|
|
13552
13880
|
|
|
13553
13881
|
var _ref4 = checkoutState || {},
|
|
13554
13882
|
plan = _ref4.plan,
|
|
@@ -13569,6 +13897,11 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13569
13897
|
|
|
13570
13898
|
var isLastStep = isFreeDowngrade || progressBar.isCheckoutComplete && progressBar.isLastStep;
|
|
13571
13899
|
|
|
13900
|
+
var _useZuoraIntegration = useZuoraIntegration(),
|
|
13901
|
+
isZuoraIntegration = _useZuoraIntegration.isZuoraIntegration;
|
|
13902
|
+
|
|
13903
|
+
var isCheckoutCompleted = isCheckoutCompletedSuccessfully || checkoutSuccess;
|
|
13904
|
+
|
|
13572
13905
|
var _usePreviewSubscripti = usePreviewSubscription({
|
|
13573
13906
|
onMockCheckoutPreview: onMockCheckoutPreview
|
|
13574
13907
|
}),
|
|
@@ -13585,18 +13918,28 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13585
13918
|
progressBar.markStepAsCompleted(progressBar.progressBarState.activeStep);
|
|
13586
13919
|
}
|
|
13587
13920
|
}),
|
|
13588
|
-
|
|
13589
|
-
|
|
13921
|
+
handleStripeSubmit = _useSubmit.handleSubmit,
|
|
13922
|
+
isStripeLoading = _useSubmit.isLoading;
|
|
13923
|
+
|
|
13924
|
+
var _useZuoraSubmit = useZuoraSubmit({
|
|
13925
|
+
onCheckout: onCheckout,
|
|
13926
|
+
onCheckoutCompleted: onCheckoutCompleted,
|
|
13927
|
+
disableSuccessAnimation: disableSuccessAnimation,
|
|
13928
|
+
onSuccess: function onSuccess() {
|
|
13929
|
+
progressBar.markStepAsCompleted(progressBar.progressBarState.activeStep);
|
|
13930
|
+
}
|
|
13931
|
+
}),
|
|
13932
|
+
handleZuoraSubmit = _useZuoraSubmit.handleZuoraSubmit;
|
|
13590
13933
|
|
|
13591
13934
|
var handleCheckout = /*#__PURE__*/function () {
|
|
13592
13935
|
var _ref6 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(e) {
|
|
13593
|
-
var _ref7, errorMessage;
|
|
13936
|
+
var result, _ref7, errorMessage;
|
|
13594
13937
|
|
|
13595
13938
|
return runtime_1.wrap(function _callee$(_context) {
|
|
13596
13939
|
while (1) {
|
|
13597
13940
|
switch (_context.prev = _context.next) {
|
|
13598
13941
|
case 0:
|
|
13599
|
-
if (!
|
|
13942
|
+
if (!isCheckoutCompleted) {
|
|
13600
13943
|
_context.next = 2;
|
|
13601
13944
|
break;
|
|
13602
13945
|
}
|
|
@@ -13604,22 +13947,28 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13604
13947
|
return _context.abrupt("return");
|
|
13605
13948
|
|
|
13606
13949
|
case 2:
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
case 4:
|
|
13611
|
-
_context.t0 = _context.sent;
|
|
13612
|
-
|
|
13613
|
-
if (_context.t0) {
|
|
13614
|
-
_context.next = 7;
|
|
13950
|
+
if (!(isZuoraIntegration && !useNewPaymentMethod)) {
|
|
13951
|
+
_context.next = 8;
|
|
13615
13952
|
break;
|
|
13616
13953
|
}
|
|
13617
13954
|
|
|
13618
|
-
_context.
|
|
13955
|
+
_context.next = 5;
|
|
13956
|
+
return handleZuoraSubmit();
|
|
13619
13957
|
|
|
13620
|
-
case
|
|
13621
|
-
|
|
13622
|
-
|
|
13958
|
+
case 5:
|
|
13959
|
+
result = _context.sent;
|
|
13960
|
+
_context.next = 11;
|
|
13961
|
+
break;
|
|
13962
|
+
|
|
13963
|
+
case 8:
|
|
13964
|
+
_context.next = 10;
|
|
13965
|
+
return handleStripeSubmit(e);
|
|
13966
|
+
|
|
13967
|
+
case 10:
|
|
13968
|
+
result = _context.sent;
|
|
13969
|
+
|
|
13970
|
+
case 11:
|
|
13971
|
+
_ref7 = result || {}, errorMessage = _ref7.errorMessage;
|
|
13623
13972
|
|
|
13624
13973
|
if (errorMessage) {
|
|
13625
13974
|
setErrorMessage(errorMessage);
|
|
@@ -13628,7 +13977,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13628
13977
|
setErrorMessage(undefined);
|
|
13629
13978
|
}
|
|
13630
13979
|
|
|
13631
|
-
case
|
|
13980
|
+
case 13:
|
|
13632
13981
|
case "end":
|
|
13633
13982
|
return _context.stop();
|
|
13634
13983
|
}
|
|
@@ -13639,7 +13988,10 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13639
13988
|
return function handleCheckout(_x) {
|
|
13640
13989
|
return _ref6.apply(this, arguments);
|
|
13641
13990
|
};
|
|
13642
|
-
}();
|
|
13991
|
+
}(); // This is sad
|
|
13992
|
+
|
|
13993
|
+
|
|
13994
|
+
var isLoading = isZuoraIntegration && !useNewPaymentMethod ? widgetState.readOnly : isStripeLoading;
|
|
13643
13995
|
|
|
13644
13996
|
var onCheckoutClick = /*#__PURE__*/function () {
|
|
13645
13997
|
var _ref8 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(e) {
|
|
@@ -13688,7 +14040,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13688
14040
|
recurringInvoice = _ref9.recurringInvoice;
|
|
13689
14041
|
|
|
13690
14042
|
var checkoutHasChanges = !!subscriptionPreview && (!!(immediateInvoice != null && immediateInvoice.proration) || !!subscriptionPreview.hasScheduledUpdates);
|
|
13691
|
-
var showPromotionCodeLine = !disablePromotionCode && !isFreeDowngrade;
|
|
14043
|
+
var showPromotionCodeLine = !disablePromotionCode && !isFreeDowngrade && !isZuoraIntegration;
|
|
13692
14044
|
var showDiscountLine = !!(recurringInvoice != null && recurringInvoice.discountDetails) && !isFreeDowngrade;
|
|
13693
14045
|
var hasDiscounts = showPromotionCodeLine || showDiscountLine;
|
|
13694
14046
|
var hasPayAsYouGoCharges = usageCharges.some(function (price) {
|
|
@@ -13877,8 +14229,8 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13877
14229
|
isFetchingSubscriptionPreview: isFetchingSubscriptionPreview,
|
|
13878
14230
|
checkoutLocalization: checkoutLocalization,
|
|
13879
14231
|
billingPeriod: subscription.billingPeriod
|
|
13880
|
-
}), React__default.createElement(Button, {
|
|
13881
|
-
"$success":
|
|
14232
|
+
}), (!isLastStep || !isZuoraIntegration || isZuoraIntegration && !useNewPaymentMethod) && React__default.createElement(Button, {
|
|
14233
|
+
"$success": isCheckoutCompleted,
|
|
13882
14234
|
"$error": isLastStep && isFreeDowngrade,
|
|
13883
14235
|
disabled: isLoading || isFetchingSubscriptionPreview || progressBar.progressBarState.isDisabled || isLastStep && !checkoutHasChanges,
|
|
13884
14236
|
className: "stigg-checkout-summary-cta-button",
|
|
@@ -13901,7 +14253,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13901
14253
|
style: {
|
|
13902
14254
|
display: 'flex'
|
|
13903
14255
|
}
|
|
13904
|
-
},
|
|
14256
|
+
}, isCheckoutCompleted ? React__default.createElement(Icon, {
|
|
13905
14257
|
icon: "Check",
|
|
13906
14258
|
style: {
|
|
13907
14259
|
display: 'contents'
|
|
@@ -13925,7 +14277,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13925
14277
|
display: 'flex',
|
|
13926
14278
|
justifyContent: 'center'
|
|
13927
14279
|
}
|
|
13928
|
-
}), !disableSuccessAnimation &&
|
|
14280
|
+
}), !disableSuccessAnimation && isCheckoutCompleted && React__default.createElement(CheckoutSuccess, {
|
|
13929
14281
|
checkoutLocalization: checkoutLocalization
|
|
13930
14282
|
}));
|
|
13931
14283
|
};
|
|
@@ -14228,6 +14580,170 @@ var NewPaymentMethodContainer = /*#__PURE__*/styled(PaymentMethodContainer)(_tem
|
|
|
14228
14580
|
var PaymentMethodLayoutContainer = /*#__PURE__*/styled(Grid)(_templateObject4 || (_templateObject4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex: 1;\n gap: 12px;\n"])));
|
|
14229
14581
|
var PaymentMethodTextContainer = /*#__PURE__*/styled(Grid)(_templateObject5 || (_templateObject5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
|
|
14230
14582
|
|
|
14583
|
+
var _templateObject$8, _templateObject2$3, _templateObject3$3, _templateObject4$1;
|
|
14584
|
+
var Container$1 = /*#__PURE__*/styled(Box)(_templateObject$8 || (_templateObject$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n max-width: 500px;\n"])));
|
|
14585
|
+
var PaymentContainer = /*#__PURE__*/styled(Box)(_templateObject2$3 || (_templateObject2$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n opacity: ", ";\n pointer-events: ", ";\n"])), function (_ref) {
|
|
14586
|
+
var $showLoading = _ref.$showLoading;
|
|
14587
|
+
return $showLoading ? 0.6 : 1;
|
|
14588
|
+
}, function (_ref2) {
|
|
14589
|
+
var $showLoading = _ref2.$showLoading;
|
|
14590
|
+
return $showLoading ? 'none' : 'auto';
|
|
14591
|
+
});
|
|
14592
|
+
var LoadingOverlay = /*#__PURE__*/styled(Box)(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n top: 40px;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n z-index: 10;\n"])));
|
|
14593
|
+
var LoadingContent = /*#__PURE__*/styled(Box)(_templateObject4$1 || (_templateObject4$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n"])));
|
|
14594
|
+
function ZuoraPaymentForm(_ref3) {
|
|
14595
|
+
var _checkoutState$plan, _checkoutState$plan$p, _checkoutState$plan$p2;
|
|
14596
|
+
|
|
14597
|
+
var onCheckout = _ref3.onCheckout,
|
|
14598
|
+
onCheckoutCompleted = _ref3.onCheckoutCompleted;
|
|
14599
|
+
|
|
14600
|
+
var _useZuoraIntegration = useZuoraIntegration(),
|
|
14601
|
+
isZuoraIntegration = _useZuoraIntegration.isZuoraIntegration,
|
|
14602
|
+
isInitialized = _useZuoraIntegration.isInitialized,
|
|
14603
|
+
createPaymentSession = _useZuoraIntegration.createPaymentSession;
|
|
14604
|
+
|
|
14605
|
+
var _usePaymentStepModel = usePaymentStepModel(),
|
|
14606
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage;
|
|
14607
|
+
|
|
14608
|
+
var _usePlanStepModel = usePlanStepModel(),
|
|
14609
|
+
billingCountryCode = _usePlanStepModel.billingCountryCode;
|
|
14610
|
+
|
|
14611
|
+
var _useCheckoutModel = useCheckoutModel(),
|
|
14612
|
+
checkoutState = _useCheckoutModel.checkoutState,
|
|
14613
|
+
widgetState = _useCheckoutModel.widgetState;
|
|
14614
|
+
|
|
14615
|
+
var _useZuoraSubmit = useZuoraSubmit({
|
|
14616
|
+
onCheckout: onCheckout,
|
|
14617
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14618
|
+
}),
|
|
14619
|
+
handleZuoraSubmit = _useZuoraSubmit.handleZuoraSubmit;
|
|
14620
|
+
|
|
14621
|
+
var hasRenderedRef = useRef(false);
|
|
14622
|
+
|
|
14623
|
+
var _React$useState = React__default.useState(false),
|
|
14624
|
+
paymentFormLoading = _React$useState[0],
|
|
14625
|
+
setPaymentFormLoading = _React$useState[1];
|
|
14626
|
+
|
|
14627
|
+
var currency = (checkoutState == null ? void 0 : (_checkoutState$plan = checkoutState.plan) == null ? void 0 : (_checkoutState$plan$p = _checkoutState$plan.pricePoints) == null ? void 0 : (_checkoutState$plan$p2 = _checkoutState$plan$p[0]) == null ? void 0 : _checkoutState$plan$p2.currency) || Currency.Usd;
|
|
14628
|
+
|
|
14629
|
+
var _checkoutState$billin = checkoutState == null ? void 0 : checkoutState.billingIntegration.billingCredentials,
|
|
14630
|
+
publishableKey = _checkoutState$billin.publishableKey;
|
|
14631
|
+
|
|
14632
|
+
var handleZuoraComplete = useCallback( /*#__PURE__*/function () {
|
|
14633
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(result) {
|
|
14634
|
+
var _result$error, errorMessage;
|
|
14635
|
+
|
|
14636
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
14637
|
+
while (1) {
|
|
14638
|
+
switch (_context.prev = _context.next) {
|
|
14639
|
+
case 0:
|
|
14640
|
+
if (!(!result.success || !result.paymentMethodId)) {
|
|
14641
|
+
_context.next = 6;
|
|
14642
|
+
break;
|
|
14643
|
+
}
|
|
14644
|
+
|
|
14645
|
+
errorMessage = ((_result$error = result.error) == null ? void 0 : _result$error.message) || 'Payment failed';
|
|
14646
|
+
setErrorMessage(errorMessage);
|
|
14647
|
+
_context.next = 5;
|
|
14648
|
+
return onCheckoutCompleted({
|
|
14649
|
+
success: false,
|
|
14650
|
+
error: errorMessage
|
|
14651
|
+
});
|
|
14652
|
+
|
|
14653
|
+
case 5:
|
|
14654
|
+
return _context.abrupt("return");
|
|
14655
|
+
|
|
14656
|
+
case 6:
|
|
14657
|
+
_context.next = 8;
|
|
14658
|
+
return handleZuoraSubmit(result.paymentMethodId);
|
|
14659
|
+
|
|
14660
|
+
case 8:
|
|
14661
|
+
case "end":
|
|
14662
|
+
return _context.stop();
|
|
14663
|
+
}
|
|
14664
|
+
}
|
|
14665
|
+
}, _callee);
|
|
14666
|
+
}));
|
|
14667
|
+
|
|
14668
|
+
return function (_x) {
|
|
14669
|
+
return _ref4.apply(this, arguments);
|
|
14670
|
+
};
|
|
14671
|
+
}(), [handleZuoraSubmit, setErrorMessage, onCheckoutCompleted]);
|
|
14672
|
+
useEffect(function () {
|
|
14673
|
+
var renderZuoraForm = /*#__PURE__*/function () {
|
|
14674
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
|
|
14675
|
+
var zuora, config, paymentForm;
|
|
14676
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
14677
|
+
while (1) {
|
|
14678
|
+
switch (_context2.prev = _context2.next) {
|
|
14679
|
+
case 0:
|
|
14680
|
+
if (!(!isInitialized || hasRenderedRef.current)) {
|
|
14681
|
+
_context2.next = 2;
|
|
14682
|
+
break;
|
|
14683
|
+
}
|
|
14684
|
+
|
|
14685
|
+
return _context2.abrupt("return");
|
|
14686
|
+
|
|
14687
|
+
case 2:
|
|
14688
|
+
setPaymentFormLoading(true);
|
|
14689
|
+
setErrorMessage(undefined);
|
|
14690
|
+
_context2.prev = 4;
|
|
14691
|
+
hasRenderedRef.current = true;
|
|
14692
|
+
zuora = window.Zuora(publishableKey);
|
|
14693
|
+
config = createZuoraPaymentFormConfig(createPaymentSession, handleZuoraComplete, currency, billingCountryCode);
|
|
14694
|
+
_context2.next = 10;
|
|
14695
|
+
return zuora.createPaymentForm(config);
|
|
14696
|
+
|
|
14697
|
+
case 10:
|
|
14698
|
+
paymentForm = _context2.sent;
|
|
14699
|
+
paymentForm.mount('#zuora_payment');
|
|
14700
|
+
_context2.next = 18;
|
|
14701
|
+
break;
|
|
14702
|
+
|
|
14703
|
+
case 14:
|
|
14704
|
+
_context2.prev = 14;
|
|
14705
|
+
_context2.t0 = _context2["catch"](4);
|
|
14706
|
+
hasRenderedRef.current = false;
|
|
14707
|
+
setErrorMessage('Failed to render Zuora payment form');
|
|
14708
|
+
|
|
14709
|
+
case 18:
|
|
14710
|
+
_context2.prev = 18;
|
|
14711
|
+
setPaymentFormLoading(false);
|
|
14712
|
+
return _context2.finish(18);
|
|
14713
|
+
|
|
14714
|
+
case 21:
|
|
14715
|
+
case "end":
|
|
14716
|
+
return _context2.stop();
|
|
14717
|
+
}
|
|
14718
|
+
}
|
|
14719
|
+
}, _callee2, null, [[4, 14, 18, 21]]);
|
|
14720
|
+
}));
|
|
14721
|
+
|
|
14722
|
+
return function renderZuoraForm() {
|
|
14723
|
+
return _ref5.apply(this, arguments);
|
|
14724
|
+
};
|
|
14725
|
+
}();
|
|
14726
|
+
|
|
14727
|
+
void renderZuoraForm();
|
|
14728
|
+
return function () {
|
|
14729
|
+
hasRenderedRef.current = false;
|
|
14730
|
+
}; // Only depend on isInitialized to prevent multiple form renders
|
|
14731
|
+
// createPaymentSession and handleZuoraComplete are intentionally omitted
|
|
14732
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14733
|
+
}, [isInitialized]);
|
|
14734
|
+
|
|
14735
|
+
if (!isZuoraIntegration) {
|
|
14736
|
+
return null;
|
|
14737
|
+
}
|
|
14738
|
+
|
|
14739
|
+
return React__default.createElement(Container$1, null, React__default.createElement(PaymentContainer, {
|
|
14740
|
+
id: "zuora_payment",
|
|
14741
|
+
"$showLoading": widgetState.readOnly || paymentFormLoading
|
|
14742
|
+
}), (widgetState.readOnly || paymentFormLoading) && React__default.createElement(LoadingOverlay, null, React__default.createElement(LoadingContent, null, React__default.createElement(CircularProgress, {
|
|
14743
|
+
size: 28
|
|
14744
|
+
}))));
|
|
14745
|
+
}
|
|
14746
|
+
|
|
14231
14747
|
function PaymentMethodLayout(_ref) {
|
|
14232
14748
|
var checked = _ref.checked,
|
|
14233
14749
|
text = _ref.text,
|
|
@@ -14280,7 +14796,13 @@ function NewPaymentMethod(_ref3) {
|
|
|
14280
14796
|
readOnly = _ref3.readOnly,
|
|
14281
14797
|
checkoutLocalization = _ref3.checkoutLocalization,
|
|
14282
14798
|
onBillingAddressChange = _ref3.onBillingAddressChange,
|
|
14283
|
-
collectPhoneNumber = _ref3.collectPhoneNumber
|
|
14799
|
+
collectPhoneNumber = _ref3.collectPhoneNumber,
|
|
14800
|
+
onCheckout = _ref3.onCheckout,
|
|
14801
|
+
onCheckoutCompleted = _ref3.onCheckoutCompleted;
|
|
14802
|
+
|
|
14803
|
+
var _useZuoraIntegration = useZuoraIntegration(),
|
|
14804
|
+
isZuoraIntegration = _useZuoraIntegration.isZuoraIntegration;
|
|
14805
|
+
|
|
14284
14806
|
return React__default.createElement(NewPaymentMethodContainer, {
|
|
14285
14807
|
item: true,
|
|
14286
14808
|
"$hideBorders": !hasExistingPaymentMethod,
|
|
@@ -14294,17 +14816,22 @@ function NewPaymentMethod(_ref3) {
|
|
|
14294
14816
|
}, checkoutLocalization.newPaymentMethodText)
|
|
14295
14817
|
}), React__default.createElement(Collapse, {
|
|
14296
14818
|
"in": checked
|
|
14297
|
-
}, React__default.createElement(
|
|
14819
|
+
}, isZuoraIntegration ? React__default.createElement(ZuoraPaymentForm, {
|
|
14820
|
+
onCheckout: onCheckout,
|
|
14821
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14822
|
+
}) : React__default.createElement(StripePaymentForm, {
|
|
14298
14823
|
onBillingAddressChange: onBillingAddressChange,
|
|
14299
14824
|
collectPhoneNumber: collectPhoneNumber
|
|
14300
14825
|
})));
|
|
14301
14826
|
}
|
|
14302
14827
|
|
|
14303
|
-
var _templateObject$
|
|
14304
|
-
var PaymentContainer = /*#__PURE__*/styled(Grid)(_templateObject$
|
|
14828
|
+
var _templateObject$9;
|
|
14829
|
+
var PaymentContainer$1 = /*#__PURE__*/styled(Grid)(_templateObject$9 || (_templateObject$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 24px;\n"])));
|
|
14305
14830
|
function PaymentStep(_ref) {
|
|
14306
14831
|
var onBillingAddressChange = _ref.onBillingAddressChange,
|
|
14307
|
-
collectPhoneNumber = _ref.collectPhoneNumber
|
|
14832
|
+
collectPhoneNumber = _ref.collectPhoneNumber,
|
|
14833
|
+
onCheckout = _ref.onCheckout,
|
|
14834
|
+
onCheckoutCompleted = _ref.onCheckoutCompleted;
|
|
14308
14835
|
|
|
14309
14836
|
var _useCheckoutModel = useCheckoutModel(),
|
|
14310
14837
|
checkoutState = _useCheckoutModel.checkoutState,
|
|
@@ -14329,7 +14856,7 @@ function PaymentStep(_ref) {
|
|
|
14329
14856
|
setUseNewPaymentMethod(openNewPaymentMethod);
|
|
14330
14857
|
};
|
|
14331
14858
|
|
|
14332
|
-
return React__default.createElement(PaymentContainer, {
|
|
14859
|
+
return React__default.createElement(PaymentContainer$1, {
|
|
14333
14860
|
container: true
|
|
14334
14861
|
}, !!errorMessage && React__default.createElement(Alert, {
|
|
14335
14862
|
severity: "error",
|
|
@@ -14354,7 +14881,9 @@ function PaymentStep(_ref) {
|
|
|
14354
14881
|
return handleOnSelect(true);
|
|
14355
14882
|
},
|
|
14356
14883
|
onBillingAddressChange: onBillingAddressChange,
|
|
14357
|
-
collectPhoneNumber: collectPhoneNumber
|
|
14884
|
+
collectPhoneNumber: collectPhoneNumber,
|
|
14885
|
+
onCheckout: onCheckout,
|
|
14886
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14358
14887
|
}));
|
|
14359
14888
|
}
|
|
14360
14889
|
|
|
@@ -14597,8 +15126,8 @@ function BillingPeriodPicker$1(_ref2) {
|
|
|
14597
15126
|
})));
|
|
14598
15127
|
}
|
|
14599
15128
|
|
|
14600
|
-
var _templateObject$
|
|
14601
|
-
var StyledPlanCharge = /*#__PURE__*/styled.div(_templateObject$
|
|
15129
|
+
var _templateObject$a;
|
|
15130
|
+
var StyledPlanCharge = /*#__PURE__*/styled.div(_templateObject$a || (_templateObject$a = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n min-height: 60px;\n margin-top: 16px;\n flex-direction: column;\n\n ", " {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n }\n"])), mq.md);
|
|
14602
15131
|
|
|
14603
15132
|
var getValidationText = function getValidationText(charge, quantity) {
|
|
14604
15133
|
var minUnitQuantity = charge.minUnitQuantity,
|
|
@@ -14983,7 +15512,9 @@ var DowngradeToFreePlan = function DowngradeToFreePlan(_ref3) {
|
|
|
14983
15512
|
var getStepProps = function getStepProps(currentStep, _ref) {
|
|
14984
15513
|
var onBillingAddressChange = _ref.onBillingAddressChange,
|
|
14985
15514
|
onChangePlan = _ref.onChangePlan,
|
|
14986
|
-
collectPhoneNumber = _ref.collectPhoneNumber
|
|
15515
|
+
collectPhoneNumber = _ref.collectPhoneNumber,
|
|
15516
|
+
onCheckout = _ref.onCheckout,
|
|
15517
|
+
onCheckoutCompleted = _ref.onCheckoutCompleted;
|
|
14987
15518
|
|
|
14988
15519
|
switch (currentStep.key) {
|
|
14989
15520
|
case CheckoutStepKey.PLAN:
|
|
@@ -15002,7 +15533,9 @@ var getStepProps = function getStepProps(currentStep, _ref) {
|
|
|
15002
15533
|
return {
|
|
15003
15534
|
content: React__default.createElement(PaymentStep, {
|
|
15004
15535
|
onBillingAddressChange: onBillingAddressChange,
|
|
15005
|
-
collectPhoneNumber: collectPhoneNumber
|
|
15536
|
+
collectPhoneNumber: collectPhoneNumber,
|
|
15537
|
+
onCheckout: onCheckout,
|
|
15538
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
15006
15539
|
})
|
|
15007
15540
|
};
|
|
15008
15541
|
|
|
@@ -15052,7 +15585,9 @@ function CheckoutContainer(_ref2) {
|
|
|
15052
15585
|
var _getStepProps = getStepProps(currentStep, {
|
|
15053
15586
|
onBillingAddressChange: onBillingAddressChange,
|
|
15054
15587
|
onChangePlan: onChangePlan,
|
|
15055
|
-
collectPhoneNumber: collectPhoneNumber
|
|
15588
|
+
collectPhoneNumber: collectPhoneNumber,
|
|
15589
|
+
onCheckout: onCheckout,
|
|
15590
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
15056
15591
|
}),
|
|
15057
15592
|
content = _getStepProps.content;
|
|
15058
15593
|
|