@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
|
@@ -4223,7 +4223,7 @@ function mapPaywallData(paywall, showOnlyEligiblePlans, currentSubscriptionOverr
|
|
|
4223
4223
|
};
|
|
4224
4224
|
}
|
|
4225
4225
|
|
|
4226
|
-
var version = "6.
|
|
4226
|
+
var version = "6.11.0";
|
|
4227
4227
|
var name = "@stigg/react-sdk";
|
|
4228
4228
|
|
|
4229
4229
|
var StiggContext = /*#__PURE__*/React__default.createContext(null);
|
|
@@ -7190,12 +7190,14 @@ function useCheckoutState() {
|
|
|
7190
7190
|
_useCheckoutContext$ = _useCheckoutContext[0],
|
|
7191
7191
|
checkout = _useCheckoutContext$.checkout,
|
|
7192
7192
|
widgetState = _useCheckoutContext$.widgetState,
|
|
7193
|
-
checkoutLocalization = _useCheckoutContext$.checkoutLocalization
|
|
7193
|
+
checkoutLocalization = _useCheckoutContext$.checkoutLocalization,
|
|
7194
|
+
checkoutSuccess = _useCheckoutContext$.checkoutSuccess;
|
|
7194
7195
|
|
|
7195
7196
|
return {
|
|
7196
7197
|
checkoutState: checkout,
|
|
7197
7198
|
widgetState: widgetState,
|
|
7198
|
-
checkoutLocalization: checkoutLocalization
|
|
7199
|
+
checkoutLocalization: checkoutLocalization,
|
|
7200
|
+
checkoutSuccess: checkoutSuccess
|
|
7199
7201
|
};
|
|
7200
7202
|
}
|
|
7201
7203
|
|
|
@@ -7221,18 +7223,32 @@ function useSetIsValid() {
|
|
|
7221
7223
|
};
|
|
7222
7224
|
}
|
|
7223
7225
|
|
|
7226
|
+
function useSetCheckoutSuccess() {
|
|
7227
|
+
var _useCheckoutContext4 = useCheckoutContext(),
|
|
7228
|
+
setState = _useCheckoutContext4[1];
|
|
7229
|
+
|
|
7230
|
+
return function (checkoutSuccess) {
|
|
7231
|
+
return setState(function (draft) {
|
|
7232
|
+
draft.checkoutSuccess = checkoutSuccess;
|
|
7233
|
+
});
|
|
7234
|
+
};
|
|
7235
|
+
}
|
|
7236
|
+
|
|
7224
7237
|
function useCheckoutModel() {
|
|
7225
7238
|
var _useCheckoutState = useCheckoutState(),
|
|
7226
7239
|
checkoutState = _useCheckoutState.checkoutState,
|
|
7227
7240
|
widgetState = _useCheckoutState.widgetState,
|
|
7228
|
-
checkoutLocalization = _useCheckoutState.checkoutLocalization
|
|
7241
|
+
checkoutLocalization = _useCheckoutState.checkoutLocalization,
|
|
7242
|
+
checkoutSuccess = _useCheckoutState.checkoutSuccess;
|
|
7229
7243
|
|
|
7230
7244
|
return {
|
|
7231
7245
|
checkoutState: checkoutState,
|
|
7232
7246
|
widgetState: widgetState,
|
|
7233
7247
|
checkoutLocalization: checkoutLocalization,
|
|
7248
|
+
checkoutSuccess: checkoutSuccess,
|
|
7234
7249
|
setWidgetReadOnly: useSetWidgetReadonly(),
|
|
7235
|
-
setIsValid: useSetIsValid()
|
|
7250
|
+
setIsValid: useSetIsValid(),
|
|
7251
|
+
setCheckoutSuccess: useSetCheckoutSuccess()
|
|
7236
7252
|
};
|
|
7237
7253
|
}
|
|
7238
7254
|
|
|
@@ -8255,7 +8271,8 @@ function CheckoutProvider(_ref2) {
|
|
|
8255
8271
|
isValid: true,
|
|
8256
8272
|
isLoadingCheckoutData: isLoading
|
|
8257
8273
|
},
|
|
8258
|
-
isWidgetWatermarkEnabled: isWidgetWatermarkEnabled
|
|
8274
|
+
isWidgetWatermarkEnabled: isWidgetWatermarkEnabled,
|
|
8275
|
+
checkoutSuccess: false
|
|
8259
8276
|
};
|
|
8260
8277
|
return initialState; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8261
8278
|
}, [preferredBillingPeriod, billingCountryCode, checkout, isLoading, skipCheckoutSteps, billingInformation == null ? void 0 : (_billingInformation$t2 = billingInformation.taxDetails) == null ? void 0 : _billingInformation$t2.taxPercentage]);
|
|
@@ -12513,6 +12530,314 @@ function useSubmit(_ref) {
|
|
|
12513
12530
|
};
|
|
12514
12531
|
}
|
|
12515
12532
|
|
|
12533
|
+
function isZuoraLibraryAvailable() {
|
|
12534
|
+
return !!window.Zuora;
|
|
12535
|
+
}
|
|
12536
|
+
function loadZuoraLibrary() {
|
|
12537
|
+
var script = document.createElement('script');
|
|
12538
|
+
script.type = 'text/javascript';
|
|
12539
|
+
script.src = 'https://js.zuora.com/payment/v3/zuora.js';
|
|
12540
|
+
script.async = true;
|
|
12541
|
+
|
|
12542
|
+
script.onerror = function () {
|
|
12543
|
+
throw new Error('Failed to load Zuora library');
|
|
12544
|
+
};
|
|
12545
|
+
|
|
12546
|
+
document.head.appendChild(script);
|
|
12547
|
+
}
|
|
12548
|
+
function createZuoraPaymentFormConfig(createPaymentSession, onComplete, currency, billingCountryCode) {
|
|
12549
|
+
var AUTH_AMOUNT = '1';
|
|
12550
|
+
return {
|
|
12551
|
+
locale: billingCountryCode || 'en',
|
|
12552
|
+
region: (billingCountryCode == null ? void 0 : billingCountryCode.toUpperCase()) || 'US',
|
|
12553
|
+
currency: currency,
|
|
12554
|
+
amount: AUTH_AMOUNT,
|
|
12555
|
+
createPaymentSession: createPaymentSession,
|
|
12556
|
+
onComplete: onComplete
|
|
12557
|
+
};
|
|
12558
|
+
}
|
|
12559
|
+
|
|
12560
|
+
function useZuoraIntegration() {
|
|
12561
|
+
var _useStiggContext = useStiggContext(),
|
|
12562
|
+
stigg = _useStiggContext.stigg;
|
|
12563
|
+
|
|
12564
|
+
var _usePaymentStepModel = usePaymentStepModel(),
|
|
12565
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage;
|
|
12566
|
+
|
|
12567
|
+
var _usePlanStepModel = usePlanStepModel(),
|
|
12568
|
+
billingCountryCode = _usePlanStepModel.billingCountryCode;
|
|
12569
|
+
|
|
12570
|
+
var _useState = React.useState(false),
|
|
12571
|
+
isInitialized = _useState[0],
|
|
12572
|
+
setIsInitialized = _useState[1];
|
|
12573
|
+
|
|
12574
|
+
var _useCheckoutModel = useCheckoutModel(),
|
|
12575
|
+
checkoutState = _useCheckoutModel.checkoutState;
|
|
12576
|
+
|
|
12577
|
+
var _ref = checkoutState || {},
|
|
12578
|
+
billingIntegration = _ref.billingIntegration;
|
|
12579
|
+
|
|
12580
|
+
var createPaymentSession = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
|
|
12581
|
+
var _yield$stigg$createPa, token;
|
|
12582
|
+
|
|
12583
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
12584
|
+
while (1) {
|
|
12585
|
+
switch (_context.prev = _context.next) {
|
|
12586
|
+
case 0:
|
|
12587
|
+
if (!(!(checkoutState != null && checkoutState.customer.id) || !(checkoutState != null && checkoutState.plan.id))) {
|
|
12588
|
+
_context.next = 2;
|
|
12589
|
+
break;
|
|
12590
|
+
}
|
|
12591
|
+
|
|
12592
|
+
throw new Error('Customer and plan are required');
|
|
12593
|
+
|
|
12594
|
+
case 2:
|
|
12595
|
+
_context.next = 4;
|
|
12596
|
+
return stigg.createPaymentSession({
|
|
12597
|
+
planId: checkoutState.plan.id,
|
|
12598
|
+
billingCountryCode: billingCountryCode
|
|
12599
|
+
});
|
|
12600
|
+
|
|
12601
|
+
case 4:
|
|
12602
|
+
_yield$stigg$createPa = _context.sent;
|
|
12603
|
+
token = _yield$stigg$createPa.token;
|
|
12604
|
+
return _context.abrupt("return", token);
|
|
12605
|
+
|
|
12606
|
+
case 7:
|
|
12607
|
+
case "end":
|
|
12608
|
+
return _context.stop();
|
|
12609
|
+
}
|
|
12610
|
+
}
|
|
12611
|
+
}, _callee);
|
|
12612
|
+
})), [checkoutState, stigg, billingCountryCode]);
|
|
12613
|
+
var initializeZuora = React.useCallback(function () {
|
|
12614
|
+
try {
|
|
12615
|
+
if (!isZuoraLibraryAvailable()) {
|
|
12616
|
+
loadZuoraLibrary();
|
|
12617
|
+
}
|
|
12618
|
+
|
|
12619
|
+
setIsInitialized(true);
|
|
12620
|
+
} catch (err) {
|
|
12621
|
+
setErrorMessage('Failed to initialize Zuora');
|
|
12622
|
+
}
|
|
12623
|
+
}, [setIsInitialized, setErrorMessage]);
|
|
12624
|
+
React.useEffect(function () {
|
|
12625
|
+
if (billingIntegration) {
|
|
12626
|
+
var billingIdentifier = billingIntegration.billingIdentifier;
|
|
12627
|
+
|
|
12628
|
+
if (billingIdentifier === Stigg.BillingVendorIdentifier.Zuora) {
|
|
12629
|
+
void initializeZuora();
|
|
12630
|
+
}
|
|
12631
|
+
}
|
|
12632
|
+
}, [billingIntegration, initializeZuora]);
|
|
12633
|
+
var isZuoraIntegration = (billingIntegration == null ? void 0 : billingIntegration.billingIdentifier) === Stigg.BillingVendorIdentifier.Zuora;
|
|
12634
|
+
return {
|
|
12635
|
+
isZuoraIntegration: isZuoraIntegration,
|
|
12636
|
+
isInitialized: isInitialized,
|
|
12637
|
+
createPaymentSession: createPaymentSession
|
|
12638
|
+
};
|
|
12639
|
+
}
|
|
12640
|
+
|
|
12641
|
+
var delay$1 = function delay(ms) {
|
|
12642
|
+
return new Promise(function (res) {
|
|
12643
|
+
return setTimeout(res, ms);
|
|
12644
|
+
});
|
|
12645
|
+
};
|
|
12646
|
+
|
|
12647
|
+
function useZuoraSubmit(_ref) {
|
|
12648
|
+
var onCheckout = _ref.onCheckout,
|
|
12649
|
+
onCheckoutCompleted = _ref.onCheckoutCompleted,
|
|
12650
|
+
onSuccess = _ref.onSuccess,
|
|
12651
|
+
disableSuccessAnimation = _ref.disableSuccessAnimation;
|
|
12652
|
+
|
|
12653
|
+
var _useStiggContext = useStiggContext(),
|
|
12654
|
+
stigg = _useStiggContext.stigg;
|
|
12655
|
+
|
|
12656
|
+
var subscriptionState = useSubscriptionState();
|
|
12657
|
+
|
|
12658
|
+
var _useCheckoutModel = useCheckoutModel(),
|
|
12659
|
+
checkoutState = _useCheckoutModel.checkoutState,
|
|
12660
|
+
setWidgetReadOnly = _useCheckoutModel.setWidgetReadOnly,
|
|
12661
|
+
setCheckoutSuccess = _useCheckoutModel.setCheckoutSuccess;
|
|
12662
|
+
|
|
12663
|
+
var _usePaymentStepModel = usePaymentStepModel(),
|
|
12664
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage;
|
|
12665
|
+
|
|
12666
|
+
var handleZuoraSubmit = React.useCallback( /*#__PURE__*/function () {
|
|
12667
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(paymentMethodId) {
|
|
12668
|
+
var success, errorMessage, currentSubscriptionState, checkoutParams, checkoutAction, externalCheckoutResults, checkoutActionResults;
|
|
12669
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
12670
|
+
while (1) {
|
|
12671
|
+
switch (_context2.prev = _context2.next) {
|
|
12672
|
+
case 0:
|
|
12673
|
+
setWidgetReadOnly(true);
|
|
12674
|
+
success = true;
|
|
12675
|
+
currentSubscriptionState = subscriptionState;
|
|
12676
|
+
|
|
12677
|
+
if (currentSubscriptionState) {
|
|
12678
|
+
_context2.next = 8;
|
|
12679
|
+
break;
|
|
12680
|
+
}
|
|
12681
|
+
|
|
12682
|
+
success = false;
|
|
12683
|
+
errorMessage = 'Unexpected error, please contact support.';
|
|
12684
|
+
_context2.next = 30;
|
|
12685
|
+
break;
|
|
12686
|
+
|
|
12687
|
+
case 8:
|
|
12688
|
+
checkoutParams = _extends({}, currentSubscriptionState, {
|
|
12689
|
+
paymentMethodId: paymentMethodId
|
|
12690
|
+
});
|
|
12691
|
+
|
|
12692
|
+
checkoutAction = /*#__PURE__*/function () {
|
|
12693
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(params) {
|
|
12694
|
+
var applySubscriptionResults;
|
|
12695
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
12696
|
+
while (1) {
|
|
12697
|
+
switch (_context.prev = _context.next) {
|
|
12698
|
+
case 0:
|
|
12699
|
+
_context.prev = 0;
|
|
12700
|
+
_context.next = 3;
|
|
12701
|
+
return stigg.applySubscription(params);
|
|
12702
|
+
|
|
12703
|
+
case 3:
|
|
12704
|
+
applySubscriptionResults = _context.sent;
|
|
12705
|
+
return _context.abrupt("return", {
|
|
12706
|
+
success: true,
|
|
12707
|
+
results: applySubscriptionResults
|
|
12708
|
+
});
|
|
12709
|
+
|
|
12710
|
+
case 7:
|
|
12711
|
+
_context.prev = 7;
|
|
12712
|
+
_context.t0 = _context["catch"](0);
|
|
12713
|
+
console.error(_context.t0);
|
|
12714
|
+
return _context.abrupt("return", {
|
|
12715
|
+
success: false,
|
|
12716
|
+
errorMessage: (_context.t0 == null ? void 0 : _context.t0.message) || 'Failed to apply subscription'
|
|
12717
|
+
});
|
|
12718
|
+
|
|
12719
|
+
case 11:
|
|
12720
|
+
case "end":
|
|
12721
|
+
return _context.stop();
|
|
12722
|
+
}
|
|
12723
|
+
}
|
|
12724
|
+
}, _callee, null, [[0, 7]]);
|
|
12725
|
+
}));
|
|
12726
|
+
|
|
12727
|
+
return function checkoutAction(_x2) {
|
|
12728
|
+
return _ref3.apply(this, arguments);
|
|
12729
|
+
};
|
|
12730
|
+
}();
|
|
12731
|
+
|
|
12732
|
+
_context2.prev = 10;
|
|
12733
|
+
|
|
12734
|
+
if (!onCheckout) {
|
|
12735
|
+
_context2.next = 19;
|
|
12736
|
+
break;
|
|
12737
|
+
}
|
|
12738
|
+
|
|
12739
|
+
_context2.next = 14;
|
|
12740
|
+
return onCheckout({
|
|
12741
|
+
customerId: checkoutState.customer.id,
|
|
12742
|
+
checkoutParams: checkoutParams,
|
|
12743
|
+
checkoutAction: checkoutAction
|
|
12744
|
+
});
|
|
12745
|
+
|
|
12746
|
+
case 14:
|
|
12747
|
+
externalCheckoutResults = _context2.sent;
|
|
12748
|
+
|
|
12749
|
+
if (externalCheckoutResults.errorMessage) {
|
|
12750
|
+
errorMessage = externalCheckoutResults.errorMessage;
|
|
12751
|
+
}
|
|
12752
|
+
|
|
12753
|
+
success = success && externalCheckoutResults.success && !errorMessage;
|
|
12754
|
+
_context2.next = 24;
|
|
12755
|
+
break;
|
|
12756
|
+
|
|
12757
|
+
case 19:
|
|
12758
|
+
_context2.next = 21;
|
|
12759
|
+
return checkoutAction(checkoutParams);
|
|
12760
|
+
|
|
12761
|
+
case 21:
|
|
12762
|
+
checkoutActionResults = _context2.sent;
|
|
12763
|
+
|
|
12764
|
+
if (!checkoutActionResults.success && checkoutActionResults.errorMessage) {
|
|
12765
|
+
errorMessage = checkoutActionResults.errorMessage;
|
|
12766
|
+
}
|
|
12767
|
+
|
|
12768
|
+
success = checkoutActionResults.success && !errorMessage;
|
|
12769
|
+
|
|
12770
|
+
case 24:
|
|
12771
|
+
_context2.next = 30;
|
|
12772
|
+
break;
|
|
12773
|
+
|
|
12774
|
+
case 26:
|
|
12775
|
+
_context2.prev = 26;
|
|
12776
|
+
_context2.t0 = _context2["catch"](10);
|
|
12777
|
+
success = false;
|
|
12778
|
+
errorMessage = _context2.t0.message || 'Failed to process checkout';
|
|
12779
|
+
|
|
12780
|
+
case 30:
|
|
12781
|
+
if (!success) {
|
|
12782
|
+
_context2.next = 39;
|
|
12783
|
+
break;
|
|
12784
|
+
}
|
|
12785
|
+
|
|
12786
|
+
setCheckoutSuccess(true);
|
|
12787
|
+
|
|
12788
|
+
if (!onSuccess) {
|
|
12789
|
+
_context2.next = 37;
|
|
12790
|
+
break;
|
|
12791
|
+
}
|
|
12792
|
+
|
|
12793
|
+
onSuccess();
|
|
12794
|
+
|
|
12795
|
+
if (disableSuccessAnimation) {
|
|
12796
|
+
_context2.next = 37;
|
|
12797
|
+
break;
|
|
12798
|
+
}
|
|
12799
|
+
|
|
12800
|
+
_context2.next = 37;
|
|
12801
|
+
return delay$1(ANIMATION_DURATION);
|
|
12802
|
+
|
|
12803
|
+
case 37:
|
|
12804
|
+
_context2.next = 40;
|
|
12805
|
+
break;
|
|
12806
|
+
|
|
12807
|
+
case 39:
|
|
12808
|
+
setErrorMessage(errorMessage);
|
|
12809
|
+
|
|
12810
|
+
case 40:
|
|
12811
|
+
setWidgetReadOnly(false);
|
|
12812
|
+
_context2.next = 43;
|
|
12813
|
+
return onCheckoutCompleted({
|
|
12814
|
+
success: success,
|
|
12815
|
+
error: errorMessage
|
|
12816
|
+
});
|
|
12817
|
+
|
|
12818
|
+
case 43:
|
|
12819
|
+
return _context2.abrupt("return", {
|
|
12820
|
+
success: success,
|
|
12821
|
+
errorMessage: errorMessage
|
|
12822
|
+
});
|
|
12823
|
+
|
|
12824
|
+
case 44:
|
|
12825
|
+
case "end":
|
|
12826
|
+
return _context2.stop();
|
|
12827
|
+
}
|
|
12828
|
+
}
|
|
12829
|
+
}, _callee2, null, [[10, 26]]);
|
|
12830
|
+
}));
|
|
12831
|
+
|
|
12832
|
+
return function (_x) {
|
|
12833
|
+
return _ref2.apply(this, arguments);
|
|
12834
|
+
};
|
|
12835
|
+
}(), [stigg, subscriptionState, checkoutState, onCheckout, onCheckoutCompleted, onSuccess, disableSuccessAnimation, setWidgetReadOnly, setCheckoutSuccess, setErrorMessage]);
|
|
12836
|
+
return {
|
|
12837
|
+
handleZuoraSubmit: handleZuoraSubmit
|
|
12838
|
+
};
|
|
12839
|
+
}
|
|
12840
|
+
|
|
12516
12841
|
var WithSkeleton = function WithSkeleton(_ref) {
|
|
12517
12842
|
var isLoading = _ref.isLoading,
|
|
12518
12843
|
_ref$width = _ref.width,
|
|
@@ -13036,7 +13361,7 @@ var SummaryContainer = /*#__PURE__*/_styled(Box, {
|
|
|
13036
13361
|
})( {
|
|
13037
13362
|
name: "1w9aiz5",
|
|
13038
13363
|
styles: "width:100%;max-width:470px;flex:1.5",
|
|
13039
|
-
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= */",
|
|
13364
|
+
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== */",
|
|
13040
13365
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13041
13366
|
});
|
|
13042
13367
|
var SummaryCard = /*#__PURE__*/_styled(Paper, {
|
|
@@ -13045,7 +13370,7 @@ var SummaryCard = /*#__PURE__*/_styled(Paper, {
|
|
|
13045
13370
|
})("background:", function (_ref) {
|
|
13046
13371
|
var theme = _ref.theme;
|
|
13047
13372
|
return theme.stigg.palette.backgroundHighlight;
|
|
13048
|
-
}, ";padding:16px;", mq.md, "{border-radius:10px;}" + ( "/*# 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= */"));
|
|
13373
|
+
}, ";padding:16px;", mq.md, "{border-radius:10px;}" + ( "/*# 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== */"));
|
|
13049
13374
|
SummaryCard.defaultProps = {
|
|
13050
13375
|
elevation: 0
|
|
13051
13376
|
};
|
|
@@ -13056,7 +13381,7 @@ var SummaryTitle = /*#__PURE__*/_styled(Typography, {
|
|
|
13056
13381
|
})( {
|
|
13057
13382
|
name: "1jcocwa",
|
|
13058
13383
|
styles: "margin-bottom:16px;font-weight:500",
|
|
13059
|
-
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= */",
|
|
13384
|
+
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== */",
|
|
13060
13385
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13061
13386
|
});
|
|
13062
13387
|
|
|
@@ -13066,7 +13391,7 @@ var StyledDivider$1 = /*#__PURE__*/_styled(Divider$1, {
|
|
|
13066
13391
|
})( {
|
|
13067
13392
|
name: "1k6141t",
|
|
13068
13393
|
styles: "margin:16px 0",
|
|
13069
|
-
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= */",
|
|
13394
|
+
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== */",
|
|
13070
13395
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13071
13396
|
});
|
|
13072
13397
|
|
|
@@ -13076,7 +13401,7 @@ var TotalDueText = /*#__PURE__*/_styled(Typography, {
|
|
|
13076
13401
|
})( {
|
|
13077
13402
|
name: "5bhc30",
|
|
13078
13403
|
styles: "margin-bottom:8px",
|
|
13079
|
-
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= */",
|
|
13404
|
+
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== */",
|
|
13080
13405
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$p
|
|
13081
13406
|
});
|
|
13082
13407
|
|
|
@@ -13122,14 +13447,17 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13122
13447
|
setIsCheckoutCompletedSuccessfully = _useState[1];
|
|
13123
13448
|
|
|
13124
13449
|
var _usePaymentStepModel = usePaymentStepModel(),
|
|
13125
|
-
setErrorMessage = _usePaymentStepModel.setErrorMessage
|
|
13450
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage,
|
|
13451
|
+
useNewPaymentMethod = _usePaymentStepModel.useNewPaymentMethod;
|
|
13126
13452
|
|
|
13127
13453
|
var progressBar = useProgressBarModel();
|
|
13128
13454
|
var subscription = useSubscriptionModel();
|
|
13129
13455
|
|
|
13130
13456
|
var _useCheckoutModel = useCheckoutModel(),
|
|
13131
13457
|
checkoutState = _useCheckoutModel.checkoutState,
|
|
13132
|
-
checkoutLocalization = _useCheckoutModel.checkoutLocalization
|
|
13458
|
+
checkoutLocalization = _useCheckoutModel.checkoutLocalization,
|
|
13459
|
+
checkoutSuccess = _useCheckoutModel.checkoutSuccess,
|
|
13460
|
+
widgetState = _useCheckoutModel.widgetState;
|
|
13133
13461
|
|
|
13134
13462
|
var _ref4 = checkoutState || {},
|
|
13135
13463
|
plan = _ref4.plan,
|
|
@@ -13150,6 +13478,11 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13150
13478
|
|
|
13151
13479
|
var isLastStep = isFreeDowngrade || progressBar.isCheckoutComplete && progressBar.isLastStep;
|
|
13152
13480
|
|
|
13481
|
+
var _useZuoraIntegration = useZuoraIntegration(),
|
|
13482
|
+
isZuoraIntegration = _useZuoraIntegration.isZuoraIntegration;
|
|
13483
|
+
|
|
13484
|
+
var isCheckoutCompleted = isCheckoutCompletedSuccessfully || checkoutSuccess;
|
|
13485
|
+
|
|
13153
13486
|
var _usePreviewSubscripti = usePreviewSubscription({
|
|
13154
13487
|
onMockCheckoutPreview: onMockCheckoutPreview
|
|
13155
13488
|
}),
|
|
@@ -13166,18 +13499,28 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13166
13499
|
progressBar.markStepAsCompleted(progressBar.progressBarState.activeStep);
|
|
13167
13500
|
}
|
|
13168
13501
|
}),
|
|
13169
|
-
|
|
13170
|
-
|
|
13502
|
+
handleStripeSubmit = _useSubmit.handleSubmit,
|
|
13503
|
+
isStripeLoading = _useSubmit.isLoading;
|
|
13504
|
+
|
|
13505
|
+
var _useZuoraSubmit = useZuoraSubmit({
|
|
13506
|
+
onCheckout: onCheckout,
|
|
13507
|
+
onCheckoutCompleted: onCheckoutCompleted,
|
|
13508
|
+
disableSuccessAnimation: disableSuccessAnimation,
|
|
13509
|
+
onSuccess: function onSuccess() {
|
|
13510
|
+
progressBar.markStepAsCompleted(progressBar.progressBarState.activeStep);
|
|
13511
|
+
}
|
|
13512
|
+
}),
|
|
13513
|
+
handleZuoraSubmit = _useZuoraSubmit.handleZuoraSubmit;
|
|
13171
13514
|
|
|
13172
13515
|
var handleCheckout = /*#__PURE__*/function () {
|
|
13173
13516
|
var _ref6 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(e) {
|
|
13174
|
-
var _ref7, errorMessage;
|
|
13517
|
+
var result, _ref7, errorMessage;
|
|
13175
13518
|
|
|
13176
13519
|
return runtime_1.wrap(function _callee$(_context) {
|
|
13177
13520
|
while (1) {
|
|
13178
13521
|
switch (_context.prev = _context.next) {
|
|
13179
13522
|
case 0:
|
|
13180
|
-
if (!
|
|
13523
|
+
if (!isCheckoutCompleted) {
|
|
13181
13524
|
_context.next = 2;
|
|
13182
13525
|
break;
|
|
13183
13526
|
}
|
|
@@ -13185,22 +13528,28 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13185
13528
|
return _context.abrupt("return");
|
|
13186
13529
|
|
|
13187
13530
|
case 2:
|
|
13188
|
-
|
|
13189
|
-
|
|
13190
|
-
|
|
13191
|
-
case 4:
|
|
13192
|
-
_context.t0 = _context.sent;
|
|
13193
|
-
|
|
13194
|
-
if (_context.t0) {
|
|
13195
|
-
_context.next = 7;
|
|
13531
|
+
if (!(isZuoraIntegration && !useNewPaymentMethod)) {
|
|
13532
|
+
_context.next = 8;
|
|
13196
13533
|
break;
|
|
13197
13534
|
}
|
|
13198
13535
|
|
|
13199
|
-
_context.
|
|
13536
|
+
_context.next = 5;
|
|
13537
|
+
return handleZuoraSubmit();
|
|
13200
13538
|
|
|
13201
|
-
case
|
|
13202
|
-
|
|
13203
|
-
|
|
13539
|
+
case 5:
|
|
13540
|
+
result = _context.sent;
|
|
13541
|
+
_context.next = 11;
|
|
13542
|
+
break;
|
|
13543
|
+
|
|
13544
|
+
case 8:
|
|
13545
|
+
_context.next = 10;
|
|
13546
|
+
return handleStripeSubmit(e);
|
|
13547
|
+
|
|
13548
|
+
case 10:
|
|
13549
|
+
result = _context.sent;
|
|
13550
|
+
|
|
13551
|
+
case 11:
|
|
13552
|
+
_ref7 = result || {}, errorMessage = _ref7.errorMessage;
|
|
13204
13553
|
|
|
13205
13554
|
if (errorMessage) {
|
|
13206
13555
|
setErrorMessage(errorMessage);
|
|
@@ -13209,7 +13558,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13209
13558
|
setErrorMessage(undefined);
|
|
13210
13559
|
}
|
|
13211
13560
|
|
|
13212
|
-
case
|
|
13561
|
+
case 13:
|
|
13213
13562
|
case "end":
|
|
13214
13563
|
return _context.stop();
|
|
13215
13564
|
}
|
|
@@ -13220,7 +13569,10 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13220
13569
|
return function handleCheckout(_x) {
|
|
13221
13570
|
return _ref6.apply(this, arguments);
|
|
13222
13571
|
};
|
|
13223
|
-
}();
|
|
13572
|
+
}(); // This is sad
|
|
13573
|
+
|
|
13574
|
+
|
|
13575
|
+
var isLoading = isZuoraIntegration && !useNewPaymentMethod ? widgetState.readOnly : isStripeLoading;
|
|
13224
13576
|
|
|
13225
13577
|
var onCheckoutClick = /*#__PURE__*/function () {
|
|
13226
13578
|
var _ref8 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(e) {
|
|
@@ -13269,7 +13621,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13269
13621
|
recurringInvoice = _ref9.recurringInvoice;
|
|
13270
13622
|
|
|
13271
13623
|
var checkoutHasChanges = !!subscriptionPreview && (!!(immediateInvoice != null && immediateInvoice.proration) || !!subscriptionPreview.hasScheduledUpdates);
|
|
13272
|
-
var showPromotionCodeLine = !disablePromotionCode && !isFreeDowngrade;
|
|
13624
|
+
var showPromotionCodeLine = !disablePromotionCode && !isFreeDowngrade && !isZuoraIntegration;
|
|
13273
13625
|
var showDiscountLine = !!(recurringInvoice != null && recurringInvoice.discountDetails) && !isFreeDowngrade;
|
|
13274
13626
|
var hasDiscounts = showPromotionCodeLine || showDiscountLine;
|
|
13275
13627
|
var hasPayAsYouGoCharges = usageCharges.some(function (price) {
|
|
@@ -13458,8 +13810,8 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13458
13810
|
isFetchingSubscriptionPreview: isFetchingSubscriptionPreview,
|
|
13459
13811
|
checkoutLocalization: checkoutLocalization,
|
|
13460
13812
|
billingPeriod: subscription.billingPeriod
|
|
13461
|
-
}), React__default.createElement(Button, {
|
|
13462
|
-
"$success":
|
|
13813
|
+
}), (!isLastStep || !isZuoraIntegration || isZuoraIntegration && !useNewPaymentMethod) && React__default.createElement(Button, {
|
|
13814
|
+
"$success": isCheckoutCompleted,
|
|
13463
13815
|
"$error": isLastStep && isFreeDowngrade,
|
|
13464
13816
|
disabled: isLoading || isFetchingSubscriptionPreview || progressBar.progressBarState.isDisabled || isLastStep && !checkoutHasChanges,
|
|
13465
13817
|
className: "stigg-checkout-summary-cta-button",
|
|
@@ -13482,7 +13834,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13482
13834
|
style: {
|
|
13483
13835
|
display: 'flex'
|
|
13484
13836
|
}
|
|
13485
|
-
},
|
|
13837
|
+
}, isCheckoutCompleted ? React__default.createElement(Icon, {
|
|
13486
13838
|
icon: "Check",
|
|
13487
13839
|
style: {
|
|
13488
13840
|
display: 'contents'
|
|
@@ -13506,7 +13858,7 @@ var CheckoutSummary = function CheckoutSummary(_ref3) {
|
|
|
13506
13858
|
display: 'flex',
|
|
13507
13859
|
justifyContent: 'center'
|
|
13508
13860
|
}
|
|
13509
|
-
}), !disableSuccessAnimation &&
|
|
13861
|
+
}), !disableSuccessAnimation && isCheckoutCompleted && React__default.createElement(CheckoutSuccess, {
|
|
13510
13862
|
checkoutLocalization: checkoutLocalization
|
|
13511
13863
|
}));
|
|
13512
13864
|
};
|
|
@@ -13797,6 +14149,170 @@ var NewPaymentMethodContainer = /*#__PURE__*/styled(PaymentMethodContainer)(_tem
|
|
|
13797
14149
|
var PaymentMethodLayoutContainer = /*#__PURE__*/styled(Grid)(_templateObject4 || (_templateObject4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex: 1;\n gap: 12px;\n"])));
|
|
13798
14150
|
var PaymentMethodTextContainer = /*#__PURE__*/styled(Grid)(_templateObject5 || (_templateObject5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
|
|
13799
14151
|
|
|
14152
|
+
var _templateObject$8, _templateObject2$3, _templateObject3$3, _templateObject4$1;
|
|
14153
|
+
var Container$1 = /*#__PURE__*/styled(Box)(_templateObject$8 || (_templateObject$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n max-width: 500px;\n"])));
|
|
14154
|
+
var PaymentContainer = /*#__PURE__*/styled(Box)(_templateObject2$3 || (_templateObject2$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n opacity: ", ";\n pointer-events: ", ";\n"])), function (_ref) {
|
|
14155
|
+
var $showLoading = _ref.$showLoading;
|
|
14156
|
+
return $showLoading ? 0.6 : 1;
|
|
14157
|
+
}, function (_ref2) {
|
|
14158
|
+
var $showLoading = _ref2.$showLoading;
|
|
14159
|
+
return $showLoading ? 'none' : 'auto';
|
|
14160
|
+
});
|
|
14161
|
+
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"])));
|
|
14162
|
+
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"])));
|
|
14163
|
+
function ZuoraPaymentForm(_ref3) {
|
|
14164
|
+
var _checkoutState$plan, _checkoutState$plan$p, _checkoutState$plan$p2;
|
|
14165
|
+
|
|
14166
|
+
var onCheckout = _ref3.onCheckout,
|
|
14167
|
+
onCheckoutCompleted = _ref3.onCheckoutCompleted;
|
|
14168
|
+
|
|
14169
|
+
var _useZuoraIntegration = useZuoraIntegration(),
|
|
14170
|
+
isZuoraIntegration = _useZuoraIntegration.isZuoraIntegration,
|
|
14171
|
+
isInitialized = _useZuoraIntegration.isInitialized,
|
|
14172
|
+
createPaymentSession = _useZuoraIntegration.createPaymentSession;
|
|
14173
|
+
|
|
14174
|
+
var _usePaymentStepModel = usePaymentStepModel(),
|
|
14175
|
+
setErrorMessage = _usePaymentStepModel.setErrorMessage;
|
|
14176
|
+
|
|
14177
|
+
var _usePlanStepModel = usePlanStepModel(),
|
|
14178
|
+
billingCountryCode = _usePlanStepModel.billingCountryCode;
|
|
14179
|
+
|
|
14180
|
+
var _useCheckoutModel = useCheckoutModel(),
|
|
14181
|
+
checkoutState = _useCheckoutModel.checkoutState,
|
|
14182
|
+
widgetState = _useCheckoutModel.widgetState;
|
|
14183
|
+
|
|
14184
|
+
var _useZuoraSubmit = useZuoraSubmit({
|
|
14185
|
+
onCheckout: onCheckout,
|
|
14186
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14187
|
+
}),
|
|
14188
|
+
handleZuoraSubmit = _useZuoraSubmit.handleZuoraSubmit;
|
|
14189
|
+
|
|
14190
|
+
var hasRenderedRef = React.useRef(false);
|
|
14191
|
+
|
|
14192
|
+
var _React$useState = React__default.useState(false),
|
|
14193
|
+
paymentFormLoading = _React$useState[0],
|
|
14194
|
+
setPaymentFormLoading = _React$useState[1];
|
|
14195
|
+
|
|
14196
|
+
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) || Stigg.Currency.Usd;
|
|
14197
|
+
|
|
14198
|
+
var _checkoutState$billin = checkoutState == null ? void 0 : checkoutState.billingIntegration.billingCredentials,
|
|
14199
|
+
publishableKey = _checkoutState$billin.publishableKey;
|
|
14200
|
+
|
|
14201
|
+
var handleZuoraComplete = React.useCallback( /*#__PURE__*/function () {
|
|
14202
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(result) {
|
|
14203
|
+
var _result$error, errorMessage;
|
|
14204
|
+
|
|
14205
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
14206
|
+
while (1) {
|
|
14207
|
+
switch (_context.prev = _context.next) {
|
|
14208
|
+
case 0:
|
|
14209
|
+
if (!(!result.success || !result.paymentMethodId)) {
|
|
14210
|
+
_context.next = 6;
|
|
14211
|
+
break;
|
|
14212
|
+
}
|
|
14213
|
+
|
|
14214
|
+
errorMessage = ((_result$error = result.error) == null ? void 0 : _result$error.message) || 'Payment failed';
|
|
14215
|
+
setErrorMessage(errorMessage);
|
|
14216
|
+
_context.next = 5;
|
|
14217
|
+
return onCheckoutCompleted({
|
|
14218
|
+
success: false,
|
|
14219
|
+
error: errorMessage
|
|
14220
|
+
});
|
|
14221
|
+
|
|
14222
|
+
case 5:
|
|
14223
|
+
return _context.abrupt("return");
|
|
14224
|
+
|
|
14225
|
+
case 6:
|
|
14226
|
+
_context.next = 8;
|
|
14227
|
+
return handleZuoraSubmit(result.paymentMethodId);
|
|
14228
|
+
|
|
14229
|
+
case 8:
|
|
14230
|
+
case "end":
|
|
14231
|
+
return _context.stop();
|
|
14232
|
+
}
|
|
14233
|
+
}
|
|
14234
|
+
}, _callee);
|
|
14235
|
+
}));
|
|
14236
|
+
|
|
14237
|
+
return function (_x) {
|
|
14238
|
+
return _ref4.apply(this, arguments);
|
|
14239
|
+
};
|
|
14240
|
+
}(), [handleZuoraSubmit, setErrorMessage, onCheckoutCompleted]);
|
|
14241
|
+
React.useEffect(function () {
|
|
14242
|
+
var renderZuoraForm = /*#__PURE__*/function () {
|
|
14243
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
|
|
14244
|
+
var zuora, config, paymentForm;
|
|
14245
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
14246
|
+
while (1) {
|
|
14247
|
+
switch (_context2.prev = _context2.next) {
|
|
14248
|
+
case 0:
|
|
14249
|
+
if (!(!isInitialized || hasRenderedRef.current)) {
|
|
14250
|
+
_context2.next = 2;
|
|
14251
|
+
break;
|
|
14252
|
+
}
|
|
14253
|
+
|
|
14254
|
+
return _context2.abrupt("return");
|
|
14255
|
+
|
|
14256
|
+
case 2:
|
|
14257
|
+
setPaymentFormLoading(true);
|
|
14258
|
+
setErrorMessage(undefined);
|
|
14259
|
+
_context2.prev = 4;
|
|
14260
|
+
hasRenderedRef.current = true;
|
|
14261
|
+
zuora = window.Zuora(publishableKey);
|
|
14262
|
+
config = createZuoraPaymentFormConfig(createPaymentSession, handleZuoraComplete, currency, billingCountryCode);
|
|
14263
|
+
_context2.next = 10;
|
|
14264
|
+
return zuora.createPaymentForm(config);
|
|
14265
|
+
|
|
14266
|
+
case 10:
|
|
14267
|
+
paymentForm = _context2.sent;
|
|
14268
|
+
paymentForm.mount('#zuora_payment');
|
|
14269
|
+
_context2.next = 18;
|
|
14270
|
+
break;
|
|
14271
|
+
|
|
14272
|
+
case 14:
|
|
14273
|
+
_context2.prev = 14;
|
|
14274
|
+
_context2.t0 = _context2["catch"](4);
|
|
14275
|
+
hasRenderedRef.current = false;
|
|
14276
|
+
setErrorMessage('Failed to render Zuora payment form');
|
|
14277
|
+
|
|
14278
|
+
case 18:
|
|
14279
|
+
_context2.prev = 18;
|
|
14280
|
+
setPaymentFormLoading(false);
|
|
14281
|
+
return _context2.finish(18);
|
|
14282
|
+
|
|
14283
|
+
case 21:
|
|
14284
|
+
case "end":
|
|
14285
|
+
return _context2.stop();
|
|
14286
|
+
}
|
|
14287
|
+
}
|
|
14288
|
+
}, _callee2, null, [[4, 14, 18, 21]]);
|
|
14289
|
+
}));
|
|
14290
|
+
|
|
14291
|
+
return function renderZuoraForm() {
|
|
14292
|
+
return _ref5.apply(this, arguments);
|
|
14293
|
+
};
|
|
14294
|
+
}();
|
|
14295
|
+
|
|
14296
|
+
void renderZuoraForm();
|
|
14297
|
+
return function () {
|
|
14298
|
+
hasRenderedRef.current = false;
|
|
14299
|
+
}; // Only depend on isInitialized to prevent multiple form renders
|
|
14300
|
+
// createPaymentSession and handleZuoraComplete are intentionally omitted
|
|
14301
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14302
|
+
}, [isInitialized]);
|
|
14303
|
+
|
|
14304
|
+
if (!isZuoraIntegration) {
|
|
14305
|
+
return null;
|
|
14306
|
+
}
|
|
14307
|
+
|
|
14308
|
+
return React__default.createElement(Container$1, null, React__default.createElement(PaymentContainer, {
|
|
14309
|
+
id: "zuora_payment",
|
|
14310
|
+
"$showLoading": widgetState.readOnly || paymentFormLoading
|
|
14311
|
+
}), (widgetState.readOnly || paymentFormLoading) && React__default.createElement(LoadingOverlay, null, React__default.createElement(LoadingContent, null, React__default.createElement(CircularProgress, {
|
|
14312
|
+
size: 28
|
|
14313
|
+
}))));
|
|
14314
|
+
}
|
|
14315
|
+
|
|
13800
14316
|
function PaymentMethodLayout(_ref) {
|
|
13801
14317
|
var checked = _ref.checked,
|
|
13802
14318
|
text = _ref.text,
|
|
@@ -13849,7 +14365,13 @@ function NewPaymentMethod(_ref3) {
|
|
|
13849
14365
|
readOnly = _ref3.readOnly,
|
|
13850
14366
|
checkoutLocalization = _ref3.checkoutLocalization,
|
|
13851
14367
|
onBillingAddressChange = _ref3.onBillingAddressChange,
|
|
13852
|
-
collectPhoneNumber = _ref3.collectPhoneNumber
|
|
14368
|
+
collectPhoneNumber = _ref3.collectPhoneNumber,
|
|
14369
|
+
onCheckout = _ref3.onCheckout,
|
|
14370
|
+
onCheckoutCompleted = _ref3.onCheckoutCompleted;
|
|
14371
|
+
|
|
14372
|
+
var _useZuoraIntegration = useZuoraIntegration(),
|
|
14373
|
+
isZuoraIntegration = _useZuoraIntegration.isZuoraIntegration;
|
|
14374
|
+
|
|
13853
14375
|
return React__default.createElement(NewPaymentMethodContainer, {
|
|
13854
14376
|
item: true,
|
|
13855
14377
|
"$hideBorders": !hasExistingPaymentMethod,
|
|
@@ -13863,17 +14385,22 @@ function NewPaymentMethod(_ref3) {
|
|
|
13863
14385
|
}, checkoutLocalization.newPaymentMethodText)
|
|
13864
14386
|
}), React__default.createElement(Collapse, {
|
|
13865
14387
|
"in": checked
|
|
13866
|
-
}, React__default.createElement(
|
|
14388
|
+
}, isZuoraIntegration ? React__default.createElement(ZuoraPaymentForm, {
|
|
14389
|
+
onCheckout: onCheckout,
|
|
14390
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14391
|
+
}) : React__default.createElement(StripePaymentForm, {
|
|
13867
14392
|
onBillingAddressChange: onBillingAddressChange,
|
|
13868
14393
|
collectPhoneNumber: collectPhoneNumber
|
|
13869
14394
|
})));
|
|
13870
14395
|
}
|
|
13871
14396
|
|
|
13872
|
-
var _templateObject$
|
|
13873
|
-
var PaymentContainer = /*#__PURE__*/styled(Grid)(_templateObject$
|
|
14397
|
+
var _templateObject$9;
|
|
14398
|
+
var PaymentContainer$1 = /*#__PURE__*/styled(Grid)(_templateObject$9 || (_templateObject$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 24px;\n"])));
|
|
13874
14399
|
function PaymentStep(_ref) {
|
|
13875
14400
|
var onBillingAddressChange = _ref.onBillingAddressChange,
|
|
13876
|
-
collectPhoneNumber = _ref.collectPhoneNumber
|
|
14401
|
+
collectPhoneNumber = _ref.collectPhoneNumber,
|
|
14402
|
+
onCheckout = _ref.onCheckout,
|
|
14403
|
+
onCheckoutCompleted = _ref.onCheckoutCompleted;
|
|
13877
14404
|
|
|
13878
14405
|
var _useCheckoutModel = useCheckoutModel(),
|
|
13879
14406
|
checkoutState = _useCheckoutModel.checkoutState,
|
|
@@ -13898,7 +14425,7 @@ function PaymentStep(_ref) {
|
|
|
13898
14425
|
setUseNewPaymentMethod(openNewPaymentMethod);
|
|
13899
14426
|
};
|
|
13900
14427
|
|
|
13901
|
-
return React__default.createElement(PaymentContainer, {
|
|
14428
|
+
return React__default.createElement(PaymentContainer$1, {
|
|
13902
14429
|
container: true
|
|
13903
14430
|
}, !!errorMessage && React__default.createElement(Alert, {
|
|
13904
14431
|
severity: "error",
|
|
@@ -13923,7 +14450,9 @@ function PaymentStep(_ref) {
|
|
|
13923
14450
|
return handleOnSelect(true);
|
|
13924
14451
|
},
|
|
13925
14452
|
onBillingAddressChange: onBillingAddressChange,
|
|
13926
|
-
collectPhoneNumber: collectPhoneNumber
|
|
14453
|
+
collectPhoneNumber: collectPhoneNumber,
|
|
14454
|
+
onCheckout: onCheckout,
|
|
14455
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
13927
14456
|
}));
|
|
13928
14457
|
}
|
|
13929
14458
|
|
|
@@ -14126,8 +14655,8 @@ function BillingPeriodPicker$1(_ref2) {
|
|
|
14126
14655
|
})));
|
|
14127
14656
|
}
|
|
14128
14657
|
|
|
14129
|
-
var _templateObject$
|
|
14130
|
-
var StyledPlanCharge = /*#__PURE__*/styled.div(_templateObject$
|
|
14658
|
+
var _templateObject$a;
|
|
14659
|
+
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);
|
|
14131
14660
|
|
|
14132
14661
|
var getValidationText = function getValidationText(charge, quantity) {
|
|
14133
14662
|
var minUnitQuantity = charge.minUnitQuantity,
|
|
@@ -14493,7 +15022,9 @@ var DowngradeToFreePlan = function DowngradeToFreePlan(_ref3) {
|
|
|
14493
15022
|
var getStepProps = function getStepProps(currentStep, _ref) {
|
|
14494
15023
|
var onBillingAddressChange = _ref.onBillingAddressChange,
|
|
14495
15024
|
onChangePlan = _ref.onChangePlan,
|
|
14496
|
-
collectPhoneNumber = _ref.collectPhoneNumber
|
|
15025
|
+
collectPhoneNumber = _ref.collectPhoneNumber,
|
|
15026
|
+
onCheckout = _ref.onCheckout,
|
|
15027
|
+
onCheckoutCompleted = _ref.onCheckoutCompleted;
|
|
14497
15028
|
|
|
14498
15029
|
switch (currentStep.key) {
|
|
14499
15030
|
case CheckoutStepKey.PLAN:
|
|
@@ -14512,7 +15043,9 @@ var getStepProps = function getStepProps(currentStep, _ref) {
|
|
|
14512
15043
|
return {
|
|
14513
15044
|
content: React__default.createElement(PaymentStep, {
|
|
14514
15045
|
onBillingAddressChange: onBillingAddressChange,
|
|
14515
|
-
collectPhoneNumber: collectPhoneNumber
|
|
15046
|
+
collectPhoneNumber: collectPhoneNumber,
|
|
15047
|
+
onCheckout: onCheckout,
|
|
15048
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14516
15049
|
})
|
|
14517
15050
|
};
|
|
14518
15051
|
|
|
@@ -14562,7 +15095,9 @@ function CheckoutContainer(_ref2) {
|
|
|
14562
15095
|
var _getStepProps = getStepProps(currentStep, {
|
|
14563
15096
|
onBillingAddressChange: onBillingAddressChange,
|
|
14564
15097
|
onChangePlan: onChangePlan,
|
|
14565
|
-
collectPhoneNumber: collectPhoneNumber
|
|
15098
|
+
collectPhoneNumber: collectPhoneNumber,
|
|
15099
|
+
onCheckout: onCheckout,
|
|
15100
|
+
onCheckoutCompleted: onCheckoutCompleted
|
|
14566
15101
|
}),
|
|
14567
15102
|
content = _getStepProps.content;
|
|
14568
15103
|
|