merchi_checkout 1.2.9 → 1.3.2
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/README.md +196 -196
- package/lib/actions/confirm.js +1 -1
- package/lib/actions/customer.js +1 -1
- package/lib/actions/domain.js +1 -1
- package/lib/actions/files.js +1 -1
- package/lib/actions/helpers.js +1 -1
- package/lib/actions/invoice.js +1 -1
- package/lib/area.js +16 -16
- package/lib/checkoutSession.js +1 -1
- package/lib/components/Alerts.js +1 -1
- package/lib/components/CancelOrderConfirmModal.js +1 -1
- package/lib/components/CheckoutSummaryFields.js +1 -1
- package/lib/components/Collapse.js +1 -1
- package/lib/components/CustomerCheckoutMethodTabs.js +1 -1
- package/lib/components/DiscountInputGroup.js +1 -1
- package/lib/components/DraftImageUploaded.js +1 -1
- package/lib/components/FooterButtons.js +1 -1
- package/lib/components/InvoiceInfo.js +1 -1
- package/lib/components/JobInfoContent.js +1 -1
- package/lib/components/MerchiCheckout.js +1 -1
- package/lib/components/MerchiCheckoutProvider.js +1 -1
- package/lib/components/MerchiCheckoutTabs.js +1 -1
- package/lib/components/TabPane.js +1 -1
- package/lib/components/TabPaneAddress.js +1 -1
- package/lib/components/TabPaneConfirm.js +1 -1
- package/lib/components/TabPaneContainer.js +1 -1
- package/lib/components/TabPaneCustomer.js +1 -1
- package/lib/components/TabPaneNewDomain.js +1 -1
- package/lib/components/TabPanePayment.js +6 -3
- package/lib/components/TabPaneSubmitted.js +1 -1
- package/lib/components/TitleStep.js +1 -1
- package/lib/components/buttons/ButtonInvoiceDownload.js +1 -1
- package/lib/components/buttons/ButtonNext.js +1 -1
- package/lib/components/buttons/ButtonPrevious.js +1 -1
- package/lib/components/buttons/index.js +1 -1
- package/lib/components/currency.js +8 -8
- package/lib/components/forms/CheckboxBillingAddressSameAsShippingAddress.js +1 -1
- package/lib/components/forms/FormAddresses.js +1 -1
- package/lib/components/forms/FormDomainNew.js +1 -1
- package/lib/components/forms/FormWhatsappCustomer.js +1 -1
- package/lib/components/forms/InputAcceptUserTermsAndConditions.js +1 -1
- package/lib/components/forms/InputCheckStoreName.js +1 -1
- package/lib/components/forms/InputError.js +1 -1
- package/lib/components/forms/InputFileUpload.js +1 -1
- package/lib/components/forms/InputSelect.js +1 -1
- package/lib/components/forms/InputText.js +1 -1
- package/lib/components/forms/InputsAddress.js +1 -1
- package/lib/components/forms/index.js +1 -1
- package/lib/components/lists/ListShipmentQuoteOptions.js +1 -1
- package/lib/components/lists/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/merchi_source.js +1 -1
- package/lib/styles/globals.scss +2763 -2763
- package/lib/tabs_utils.js +1 -1
- package/lib/types.js +1 -1
- package/lib/utils.js +20 -9
- package/package.json +91 -91
|
@@ -727,4 +727,4 @@ export default function JobInfoContent() {
|
|
|
727
727
|
})]
|
|
728
728
|
});
|
|
729
729
|
}
|
|
730
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJpIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZSIsIl9lIiwiZiIsIlR5cGVFcnJvciIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJjYWxsIiwic3RlcCIsIm5leHQiLCJfZTIiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImxlbiIsImFycjIiLCJyIiwibCIsInQiLCJ1IiwiYSIsInB1c2giLCJSZWFjdCIsInVzZVN0YXRlIiwiRmFGaWxlUGRmIiwiRmFSZWdJbWFnZSIsImZvcm1hdEN1cnJlbmN5IiwiY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiaXNQcm9kdWN0U3VwcGxpZXJNT0QiLCJpc1NlbGVjdGFibGUiLCJGaWVsZFR5cGUiLCJlc3RpbWF0ZUFyZWFDb3N0cyIsImZvcm1hdEFyZWFTdW1tYXJ5IiwibG9jYWxlUHJlZmVyc0ltcGVyaWFsIiwidXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCIsIlN1bW1hcnlBbW91bnRSb3ciLCJTdW1tYXJ5RmllbGRSb3ciLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJmb3JtYXRDb3N0IiwicHJvZHVjdCIsImNvc3QiLCJjdXJyZW5jeSIsInNob3dDb2RlSWZOb1N5bWJvbCIsInBhcnNlQ29zdEFtb3VudCIsImFtb3VudCIsInBhcnNlRmxvYXQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbCIsIm9uY2VPZmZDb3N0IiwidW5pdENvc3QiLCJwYXJ0cyIsIm9uY2VPZmYiLCJ1bml0IiwiY29uY2F0Iiwiam9pbiIsIm9wdGlvbk9uY2VPZmYiLCJvcHRpb24iLCJ2YXJpYXRpb25Db3N0Iiwib3B0aW9uVW5pdCIsInZhcmlhdGlvblVuaXRDb3N0IiwicHJvZHVjdFNldHVwU3VmZml4Iiwic2V0dXBQcmljZSIsImxhYmVsIiwic2V0dXBQZXJHcm91cCIsImZvcm1hdFVuaXRQcmljZVdpdGhTZXR1cCIsInVuaXRQcmljZSIsImlzUGRmIiwiZmlsZSIsIm1pbWV0eXBlIiwiaXNJbWFnZUZpbGUiLCJzdGFydHNXaXRoIiwidG9Mb3dlckNhc2UiLCJhYnNvbHV0aXplRmlsZVVybCIsInJhdyIsInVybEFwaSIsInVybCIsInRyaW0iLCJiYXNlIiwiVVJMIiwib3JpZ2luIiwiaHJlZiIsIl91bnVzZWQiLCJyZXNvbHZlRmlsZVVybCIsInZpZXdVcmwiLCJkb3dubG9hZFVybCIsIm9wdGlvbkltYWdlVXJsIiwiX29wdGlvbiRsaW5rZWRGaWxlIiwiX29wdGlvbiRsaW5rZWRGaWxlMiIsImxpbmtlZEZpbGUiLCJmaW5kTWF0Y2hpbmdPcHRpb24iLCJvcHRpb25zIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiZmluZCIsIlN0cmluZyIsIm9wdGlvbklkIiwicmVzb2x2ZU9wdGlvbkNvbG91ciIsIl9vcHRpb24kY29sb3VyIiwiX2ZpbmRNYXRjaGluZ09wdGlvbiIsIl9maW5kTWF0Y2hpbmdPcHRpb24yIiwic2VsZWN0YWJsZU9wdGlvbnMiLCJmaWVsZE9wdGlvbnMiLCJkaXJlY3QiLCJjb2xvdXIiLCJmcm9tU2VsZWN0YWJsZSIsInJlc29sdmVPcHRpb25JbWFnZVVybCIsImZvcm1hdE9wdGlvbkNvc3QiLCJzZWxsZXJQcm9kdWN0RWRpdGFibGUiLCJvbmNlT2ZmVW5pdCIsInRvdGFsQ29zdCIsInZhcmlhdGlvbkNvc3REZXRhaWwiLCJ2YXJpYXRpb24iLCJfdmFyaWF0aW9uJG9uY2VPZmZDb3MiLCJfdmFyaWF0aW9uJHVuaXRDb3N0IiwiX3JlZiIsIl9yZWYkaW5jbHVkZVNlbGVjdGVkTyIsImluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzIiwiX3JlZiRmaWVsZENvc3RzT25seSIsImZpZWxkQ29zdHNPbmx5IiwiZmllbGQiLCJ2YXJpYXRpb25GaWVsZCIsImZpZWxkVHlwZSIsIkFSRUEiLCJhcmVhQ29zdHMiLCJzZWxlY3RlZCIsInNlbGVjdGVkT3B0aW9ucyIsImZpZWxkT25jZSIsIkNPTE9VUl9FWFRSQUNUIiwiZmllbGRVbml0IiwicmVkdWNlIiwic3VtIiwiVmFyaWF0aW9uRmlsZVByZXZpZXciLCJfcmVmMiIsImZpbGVVcmwiLCJmaWxlTmFtZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpbWFnZUZhaWxlZCIsInNldEltYWdlRmFpbGVkIiwiY2xhc3NOYW1lIiwidGFyZ2V0IiwicmVsIiwidGl0bGUiLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsIm9uRXJyb3IiLCJWYXJpYXRpb25JbmZvQm9keSIsIl9yZWYzIiwiY29zdERldGFpbCIsImZpbGVzIiwidHlwZSIsImlzQ29sb3VyUGlja2VyIiwiQ09MT1VSX1BJQ0tFUiIsImlzRmlsZVVwbG9hZCIsIkZJTEVfVVBMT0FEIiwiaGFzRmlsZXMiLCJCb29sZWFuIiwiZGlzcGxheVZhbHVlIiwibWFwIiwiaW5kZXgiLCJpZCIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiVmFyaWF0aW9uSW5mbyIsIl9yZWY0IiwiX3VzZU1lcmNoaUNoZWNrYm91dENvIiwidmFyaWF0aW9uRmlsZXMiLCJfdmFyaWF0aW9uRmllbGQkb3B0aW8iLCJpc1ZhcmlhdGlvblNlbGVjdGFibGUiLCJpc1R1cm5hcm91bmRUaW1lIiwiVFVSTkFST1VORF9USU1FIiwiaXNDb2xvdXJFeHRyYWN0IiwicmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMiLCJ1c2VTZWxlY3RhYmxlRGlzcGxheSIsIlZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keSIsImFyZWFVbml0IiwiQ29sb3VyU2VsZWN0T3B0aW9uIiwiX3JlZjUiLCJfb3B0aW9uJHZhbHVlIiwiaGV4IiwiSW1hZ2VTZWxlY3RPcHRpb24iLCJfcmVmNiIsIl9vcHRpb24kdmFsdWUyIiwiX3VzZU1lcmNoaUNoZWNrYm91dENvMiIsImltYWdlVXJsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJnZXRPcHRpb25JZCIsIl9vcHRpb24kb3B0aW9uSWQiLCJzcGxpdFNlbGVjdGVkT3B0aW9uSWRzIiwiZmlsdGVyIiwic3BsaXQiLCJwYXJ0IiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwic2VsZWN0ZWRJZHMiLCJwb29scyIsInJlc29sdmVkIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfbG9vcCIsIl9pIiwiX3Bvb2xzIiwicG9vbCIsIm1hdGNoIiwicmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbiIsInZhbHVlU3RyIiwiX2kyIiwiX3Bvb2xzMiIsImJ5VmFsdWUiLCJfb3B0aW9uJHZhbHVlMyIsImZvcm1hdFR1cm5hcm91bmREZWFkbGluZSIsInVzZXJEZWFkbGluZSIsInNlY29uZHMiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwid2Vla2RheSIsInllYXIiLCJtb250aCIsImRheSIsIlR1cm5hcm91bmRPcHRpb25MYWJlbCIsIl9yZWY3IiwiX29wdGlvbiR2YWx1ZTQiLCJfb3B0aW9uJHZhbHVlNSIsImRheXMiLCJwYXJzZUludCIsImRlYWRsaW5lIiwic2hpcHBpbmdUaW1lSW5jbHVkZWQiLCJkZWFkbGluZUxhYmVsIiwiX3JlZjgiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYyIiwiX3JlZjgkc2VsZWN0YWJsZU9wdGlvIiwiX3JlZjgkZmllbGRPcHRpb25zIiwiZmlyc3RPcHRpb24iLCJpc0NvbG91clNlbGVjdCIsIkNPTE9VUl9TRUxFQ1QiLCJpc0ltYWdlU2VsZWN0IiwiSU1BR0VfU0VMRUNUIiwicmVuZGVyT3B0aW9uTGFiZWwiLCJfbyR2YWx1ZSIsIl9vJG9wdGlvbklkIiwiVmFyaWF0aW9uc0luZm8iLCJfcmVmOSIsInF1YW50aXR5IiwiX3JlZjkkdmFyaWF0aW9ucyIsInZhcmlhdGlvbnMiLCJ2IiwiVmFyaWF0aW9uR3JvdXBJbmZvIiwiX3JlZjEwIiwiZ3JvdXAiLCJzaG93U2V0dXBPblVuaXRQcmljZSIsImlzUmVzZWxsIiwidmlzaWJsZVZhcmlhdGlvbnMiLCJfdiR2YXJpYXRpb25GaWVsZCIsImNvc3RMYWJlbCIsInVuaXRQcmljZVZhbHVlIiwiZ3JvdXBDb3N0IiwiSm9iSW5mb0NvbnRlbnQiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28zIiwiam9iIiwiX2pvYiRxdWFudGl0eSIsIl9qb2IkdmFyaWF0aW9ucyIsIl9qb2IkdmFyaWF0aW9uc0dyb3VwcyIsInZhcmlhdGlvbnNHcm91cHMiLCJuZWVkc1NoaXBwaW5nIiwiaGFzR3JvdXBzIiwiam9iTGV2ZWxWYXJpYXRpb25zIiwiX3YkdmFyaWF0aW9uRmllbGQyIiwidG90YWxRdWFudGl0eSIsImciLCJoYXNTZXR1cFByaWNlIiwibGFiZWxFeHRyYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0pvYkluZm9Db250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XHJcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgRmFGaWxlUGRmLCBGYVJlZ0ltYWdlIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xyXG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IH0gZnJvbSAnLi9jdXJyZW5jeSc7XHJcbmltcG9ydCB7XHJcbiAgaXNJbnN0cnVjdGlvbnNUeXBlLFxyXG4gIGlzUHJvZHVjdFN1cHBsaWVyTU9ELFxyXG4gIGlzU2VsZWN0YWJsZSxcclxuICBGaWVsZFR5cGUsXHJcbn0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIGVzdGltYXRlQXJlYUNvc3RzLFxyXG4gIGZvcm1hdEFyZWFTdW1tYXJ5LFxyXG4gIGxvY2FsZVByZWZlcnNJbXBlcmlhbCxcclxufSBmcm9tICcuLi9hcmVhJztcclxuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4vTWVyY2hpQ2hlY2tvdXRQcm92aWRlcic7XHJcbmltcG9ydCB7XHJcbiAgU3VtbWFyeUFtb3VudFJvdyxcclxuICBTdW1tYXJ5RmllbGRSb3csXHJcbn0gZnJvbSAnLi9DaGVja291dFN1bW1hcnlGaWVsZHMnO1xyXG5cclxuZnVuY3Rpb24gZm9ybWF0Q29zdChwcm9kdWN0OiBhbnksIGNvc3Q6IG51bWJlcikge1xyXG4gIGNvbnN0IGN1cnJlbmN5ID0gcHJvZHVjdC5jdXJyZW5jeSA/IHByb2R1Y3QuY3VycmVuY3kgOiAnQVVEJztcclxuICByZXR1cm4gZm9ybWF0Q3VycmVuY3koY29zdCwge1xyXG4gICAgY3VycmVuY3ksXHJcbiAgICBzaG93Q29kZUlmTm9TeW1ib2w6IGZhbHNlLFxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUNvc3RBbW91bnQodmFsdWU6IGFueSk6IG51bWJlciB7XHJcbiAgY29uc3QgYW1vdW50ID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShhbW91bnQpICYmIGFtb3VudCA+IDAgPyBhbW91bnQgOiAwO1xyXG59XHJcblxyXG4vKiogTWF0Y2ggcHJvZHVjdC1mb3JtIHdvcmRpbmc6IFwiKyAkWCBvbmNlIG9mZlwiIC8gXCIrICRZIHBlciB1bml0XCIuICovXHJcbmZ1bmN0aW9uIGZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbChcclxuICBwcm9kdWN0OiBhbnksXHJcbiAgb25jZU9mZkNvc3Q6IGFueSxcclxuICB1bml0Q29zdDogYW55XHJcbikge1xyXG4gIGNvbnN0IGN1cnJlbmN5ID0gcHJvZHVjdD8uY3VycmVuY3kgfHwgJ0FVRCc7XHJcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XHJcbiAgY29uc3Qgb25jZU9mZiA9IHBhcnNlQ29zdEFtb3VudChvbmNlT2ZmQ29zdCk7XHJcbiAgY29uc3QgdW5pdCA9IHBhcnNlQ29zdEFtb3VudCh1bml0Q29zdCk7XHJcbiAgaWYgKG9uY2VPZmYpIHtcclxuICAgIHBhcnRzLnB1c2goXHJcbiAgICAgIGAgKyAke2Zvcm1hdEN1cnJlbmN5KG9uY2VPZmYsIHsgY3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfSl9IG9uY2Ugb2ZmYFxyXG4gICAgKTtcclxuICB9XHJcbiAgaWYgKHVuaXQpIHtcclxuICAgIHBhcnRzLnB1c2goXHJcbiAgICAgIGAgKyAke2Zvcm1hdEN1cnJlbmN5KHVuaXQsIHsgY3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfSl9IHBlciB1bml0YFxyXG4gICAgKTtcclxuICB9XHJcbiAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBvcHRpb25PbmNlT2ZmKG9wdGlvbjogYW55KTogbnVtYmVyIHtcclxuICByZXR1cm4gKFxyXG4gICAgcGFyc2VDb3N0QW1vdW50KG9wdGlvbj8ub25jZU9mZkNvc3QpIHx8XHJcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy52YXJpYXRpb25Db3N0KSB8fFxyXG4gICAgMFxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG9wdGlvblVuaXQob3B0aW9uOiBhbnkpOiBudW1iZXIge1xyXG4gIHJldHVybiAoXHJcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy51bml0Q29zdCkgfHxcclxuICAgIHBhcnNlQ29zdEFtb3VudChvcHRpb24/LnZhcmlhdGlvblVuaXRDb3N0KSB8fFxyXG4gICAgMFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKiBQcm9kdWN0IHNldHVwIGZlZSBzaG93biBuZXh0IHRvIHVuaXQgcHJpY2UsIG1hdGNoaW5nIHByb2R1Y3QtZm9ybSB3b3JkaW5nLiAqL1xyXG5mdW5jdGlvbiBwcm9kdWN0U2V0dXBTdWZmaXgocHJvZHVjdDogYW55KSB7XHJcbiAgY29uc3Qgc2V0dXBQcmljZSA9IE51bWJlcihwcm9kdWN0Py5zZXR1cFByaWNlKTtcclxuICBpZiAoIXNldHVwUHJpY2UpIHJldHVybiAnJztcclxuICBjb25zdCBsYWJlbCA9IHByb2R1Y3Quc2V0dXBQZXJHcm91cCA/ICdzZXR1cCBwZXIgZ3JvdXAnIDogJ3NldHVwJztcclxuICByZXR1cm4gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBzZXR1cFByaWNlKX0gJHtsYWJlbH1gO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmb3JtYXRVbml0UHJpY2VXaXRoU2V0dXAocHJvZHVjdDogYW55KSB7XHJcbiAgcmV0dXJuIGAke2Zvcm1hdENvc3QocHJvZHVjdCwgTnVtYmVyKHByb2R1Y3Q/LnVuaXRQcmljZSkgfHwgMCl9JHtwcm9kdWN0U2V0dXBTdWZmaXgocHJvZHVjdCl9YDtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNQZGYoZmlsZTogYW55KSB7XHJcbiAgY29uc3QgbWltZXR5cGUgPSBmaWxlPy5taW1ldHlwZSB8fCAnJztcclxuICByZXR1cm4gbWltZXR5cGUgPT09ICdhcHBsaWNhdGlvbi9wZGYnIHx8IG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24veC1wZGYnO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0ltYWdlRmlsZShmaWxlOiBhbnkpIHtcclxuICBjb25zdCBtaW1ldHlwZSA9IGZpbGU/Lm1pbWV0eXBlIHx8ICcnO1xyXG4gIGlmIChtaW1ldHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkgcmV0dXJuIHRydWU7XHJcbiAgY29uc3QgbmFtZSA9IChmaWxlPy5uYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xyXG4gIHJldHVybiAvXFwuKGpwZT9nfHBuZ3xnaWZ8d2VicHxzdmd8Ym1wKSQvLnRlc3QobmFtZSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGFic29sdXRpemVGaWxlVXJsKHJhdzogc3RyaW5nLCB1cmxBcGk/OiBzdHJpbmcpIHtcclxuICBjb25zdCB1cmwgPSAocmF3IHx8ICcnKS50cmltKCk7XHJcbiAgaWYgKCF1cmwgfHwgdXJsID09PSAndW5kZWZpbmVkJyB8fCB1cmwgPT09ICdudWxsJykgcmV0dXJuICcnO1xyXG4gIGlmICgvXihodHRwcz86fGJsb2I6fGRhdGE6KS9pLnRlc3QodXJsKSkgcmV0dXJuIHVybDtcclxuICBpZiAoIXVybEFwaSkgcmV0dXJuIHVybDtcclxuICB0cnkge1xyXG4gICAgY29uc3QgYmFzZSA9IG5ldyBVUkwodXJsQXBpKTtcclxuICAgIHJldHVybiBuZXcgVVJMKHVybCwgYCR7YmFzZS5vcmlnaW59L2ApLmhyZWY7XHJcbiAgfSBjYXRjaCB7XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcmVzb2x2ZUZpbGVVcmwoZmlsZTogYW55LCB1cmxBcGk/OiBzdHJpbmcpIHtcclxuICByZXR1cm4gYWJzb2x1dGl6ZUZpbGVVcmwoXHJcbiAgICBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmRvd25sb2FkVXJsIHx8ICcnLFxyXG4gICAgdXJsQXBpXHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gb3B0aW9uSW1hZ2VVcmwob3B0aW9uOiBhbnksIHVybEFwaT86IHN0cmluZykge1xyXG4gIHJldHVybiBhYnNvbHV0aXplRmlsZVVybChcclxuICAgIG9wdGlvbj8ubGlua2VkRmlsZT8udmlld1VybCB8fCBvcHRpb24/LmxpbmtlZEZpbGU/LmRvd25sb2FkVXJsIHx8ICcnLFxyXG4gICAgdXJsQXBpXHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbjogYW55LCBvcHRpb25zOiBhbnlbXSA9IFtdKSB7XHJcbiAgcmV0dXJuIG9wdGlvbnMuZmluZCgobykgPT4gU3RyaW5nKG8ub3B0aW9uSWQpID09PSBTdHJpbmcob3B0aW9uPy5vcHRpb25JZCkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZXNvbHZlT3B0aW9uQ29sb3VyKFxyXG4gIG9wdGlvbjogYW55LFxyXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxyXG4gIGZpZWxkT3B0aW9uczogYW55W10gPSBbXVxyXG4pIHtcclxuICBjb25zdCBkaXJlY3QgPSBvcHRpb24/LmNvbG91cj8udHJpbSgpO1xyXG4gIGlmIChkaXJlY3QpIHJldHVybiBkaXJlY3Q7XHJcbiAgY29uc3QgZnJvbVNlbGVjdGFibGUgPSBmaW5kTWF0Y2hpbmdPcHRpb24ob3B0aW9uLCBzZWxlY3RhYmxlT3B0aW9ucyk/LmNvbG91cj8udHJpbSgpO1xyXG4gIGlmIChmcm9tU2VsZWN0YWJsZSkgcmV0dXJuIGZyb21TZWxlY3RhYmxlO1xyXG4gIHJldHVybiBmaW5kTWF0Y2hpbmdPcHRpb24ob3B0aW9uLCBmaWVsZE9wdGlvbnMpPy5jb2xvdXI/LnRyaW0oKSB8fCAnJztcclxufVxyXG5cclxuZnVuY3Rpb24gcmVzb2x2ZU9wdGlvbkltYWdlVXJsKFxyXG4gIG9wdGlvbjogYW55LFxyXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxyXG4gIGZpZWxkT3B0aW9uczogYW55W10gPSBbXSxcclxuICB1cmxBcGk/OiBzdHJpbmdcclxuKSB7XHJcbiAgY29uc3QgZGlyZWN0ID0gb3B0aW9uSW1hZ2VVcmwob3B0aW9uLCB1cmxBcGkpO1xyXG4gIGlmIChkaXJlY3QpIHJldHVybiBkaXJlY3Q7XHJcbiAgY29uc3QgZnJvbVNlbGVjdGFibGUgPSBvcHRpb25JbWFnZVVybChcclxuICAgIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zKSxcclxuICAgIHVybEFwaVxyXG4gICk7XHJcbiAgaWYgKGZyb21TZWxlY3RhYmxlKSByZXR1cm4gZnJvbVNlbGVjdGFibGU7XHJcbiAgcmV0dXJuIG9wdGlvbkltYWdlVXJsKGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucyksIHVybEFwaSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdE9wdGlvbkNvc3QoXHJcbiAgcHJvZHVjdDogYW55LFxyXG4gIG9wdGlvbjogYW55LFxyXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZTogYm9vbGVhblxyXG4pIHtcclxuICBpZiAoc2VsbGVyUHJvZHVjdEVkaXRhYmxlIHx8ICFvcHRpb24pIHJldHVybiBudWxsO1xyXG4gIGNvbnN0IG9uY2VPZmZVbml0ID0gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxyXG4gICAgcHJvZHVjdCxcclxuICAgIG9wdGlvbk9uY2VPZmYob3B0aW9uKSxcclxuICAgIG9wdGlvblVuaXQob3B0aW9uKVxyXG4gICk7XHJcbiAgaWYgKG9uY2VPZmZVbml0KSByZXR1cm4gb25jZU9mZlVuaXQ7XHJcbiAgaWYgKG9wdGlvbi50b3RhbENvc3QpIHtcclxuICAgIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIG9wdGlvbi50b3RhbENvc3QpfWA7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5mdW5jdGlvbiB2YXJpYXRpb25Db3N0RGV0YWlsKFxyXG4gIHByb2R1Y3Q6IGFueSxcclxuICB2YXJpYXRpb246IGFueSxcclxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW4sXHJcbiAge1xyXG4gICAgaW5jbHVkZVNlbGVjdGVkT3B0aW9uQ29zdHMgPSB0cnVlLFxyXG4gICAgZmllbGRDb3N0c09ubHkgPSBmYWxzZSxcclxuICB9OiB7XHJcbiAgICBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0cz86IGJvb2xlYW47XHJcbiAgICBmaWVsZENvc3RzT25seT86IGJvb2xlYW47XHJcbiAgfSA9IHt9XHJcbikge1xyXG4gIGlmIChzZWxsZXJQcm9kdWN0RWRpdGFibGUpIHJldHVybiAnJztcclxuXHJcbiAgY29uc3QgZmllbGQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkIHx8IHt9O1xyXG4gIGNvbnN0IGZpZWxkVHlwZSA9IE51bWJlcihmaWVsZC5maWVsZFR5cGUpO1xyXG5cclxuICBpZiAoZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQVJFQSkge1xyXG4gICAgY29uc3QgYXJlYUNvc3RzID0gZXN0aW1hdGVBcmVhQ29zdHMoZmllbGQsIHZhcmlhdGlvbj8udmFsdWUpO1xyXG4gICAgaWYgKGFyZWFDb3N0cykge1xyXG4gICAgICByZXR1cm4gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxyXG4gICAgICAgIHByb2R1Y3QsXHJcbiAgICAgICAgYXJlYUNvc3RzLm9uY2VPZmZDb3N0LFxyXG4gICAgICAgIGFyZWFDb3N0cy51bml0Q29zdFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKGZpZWxkQ29zdHNPbmx5KSB7XHJcbiAgICByZXR1cm4gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxyXG4gICAgICBwcm9kdWN0LFxyXG4gICAgICBmaWVsZC52YXJpYXRpb25Db3N0LFxyXG4gICAgICBmaWVsZC52YXJpYXRpb25Vbml0Q29zdFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHNlbGVjdGVkID0gQXJyYXkuaXNBcnJheSh2YXJpYXRpb24/LnNlbGVjdGVkT3B0aW9ucylcclxuICAgID8gdmFyaWF0aW9uLnNlbGVjdGVkT3B0aW9uc1xyXG4gICAgOiBbXTtcclxuICBpZiAoaW5jbHVkZVNlbGVjdGVkT3B0aW9uQ29zdHMgJiYgc2VsZWN0ZWQubGVuZ3RoKSB7XHJcbiAgICBjb25zdCBmaWVsZE9uY2UgPVxyXG4gICAgICBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVFxyXG4gICAgICAgID8gcGFyc2VDb3N0QW1vdW50KGZpZWxkLnZhcmlhdGlvbkNvc3QpXHJcbiAgICAgICAgOiAwO1xyXG4gICAgY29uc3QgZmllbGRVbml0ID1cclxuICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1RcclxuICAgICAgICA/IHBhcnNlQ29zdEFtb3VudChmaWVsZC52YXJpYXRpb25Vbml0Q29zdClcclxuICAgICAgICA6IDA7XHJcbiAgICByZXR1cm4gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxyXG4gICAgICBwcm9kdWN0LFxyXG4gICAgICBmaWVsZE9uY2UgK1xyXG4gICAgICAgIHNlbGVjdGVkLnJlZHVjZShcclxuICAgICAgICAgIChzdW06IG51bWJlciwgb3B0aW9uOiBhbnkpID0+IHN1bSArIG9wdGlvbk9uY2VPZmYob3B0aW9uKSxcclxuICAgICAgICAgIDBcclxuICAgICAgICApLFxyXG4gICAgICBmaWVsZFVuaXQgK1xyXG4gICAgICAgIHNlbGVjdGVkLnJlZHVjZShcclxuICAgICAgICAgIChzdW06IG51bWJlciwgb3B0aW9uOiBhbnkpID0+IHN1bSArIG9wdGlvblVuaXQob3B0aW9uKSxcclxuICAgICAgICAgIDBcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgb25jZU9mZlVuaXQgPSBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXHJcbiAgICBwcm9kdWN0LFxyXG4gICAgdmFyaWF0aW9uPy5vbmNlT2ZmQ29zdCA/PyBmaWVsZC52YXJpYXRpb25Db3N0LFxyXG4gICAgdmFyaWF0aW9uPy51bml0Q29zdCA/PyBmaWVsZC52YXJpYXRpb25Vbml0Q29zdFxyXG4gICk7XHJcbiAgaWYgKG9uY2VPZmZVbml0KSByZXR1cm4gb25jZU9mZlVuaXQ7XHJcbiAgaWYgKHZhcmlhdGlvbj8uY29zdCkge1xyXG4gICAgcmV0dXJuIGAgKyAke2Zvcm1hdENvc3QocHJvZHVjdCwgdmFyaWF0aW9uLmNvc3QpfWA7XHJcbiAgfVxyXG4gIHJldHVybiAnJztcclxufVxyXG5cclxuZnVuY3Rpb24gVmFyaWF0aW9uRmlsZVByZXZpZXcoe1xyXG4gIGZpbGUsXHJcbiAgdXJsQXBpLFxyXG59OiB7XHJcbiAgZmlsZTogYW55O1xyXG4gIHVybEFwaT86IHN0cmluZztcclxufSkge1xyXG4gIGNvbnN0IGZpbGVVcmwgPSByZXNvbHZlRmlsZVVybChmaWxlLCB1cmxBcGkpO1xyXG4gIGNvbnN0IGZpbGVOYW1lID0gZmlsZT8ubmFtZSB8fCAnRmlsZSc7XHJcbiAgY29uc3QgW2ltYWdlRmFpbGVkLCBzZXRJbWFnZUZhaWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIGlmIChpc1BkZihmaWxlKSkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGFcclxuICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtbGluaydcclxuICAgICAgICBocmVmPXtmaWxlVXJsIHx8IHVuZGVmaW5lZH1cclxuICAgICAgICB0YXJnZXQ9J19ibGFuaydcclxuICAgICAgICByZWw9J25vb3BlbmVyIG5vcmVmZXJyZXInXHJcbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxyXG4gICAgICA+XHJcbiAgICAgICAgPEZhRmlsZVBkZiBhcmlhLWhpZGRlbiAvPlxyXG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XHJcbiAgICAgIDwvYT5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpZiAoaXNJbWFnZUZpbGUoZmlsZSkgJiYgZmlsZVVybCAmJiAhaW1hZ2VGYWlsZWQpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxpbWdcclxuICAgICAgICBjbGFzc05hbWU9J21vZGFsLW1lcmNoaS1jaGVja291dC1qb2ItaW5mby1jb250ZW50LWltZydcclxuICAgICAgICBzcmM9e2ZpbGVVcmx9XHJcbiAgICAgICAgYWx0PXtmaWxlTmFtZX1cclxuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XHJcbiAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SW1hZ2VGYWlsZWQodHJ1ZSl9XHJcbiAgICAgIC8+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaWYgKGlzSW1hZ2VGaWxlKGZpbGUpKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZmlsZS1mYWxsYmFjaydcclxuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XHJcbiAgICAgID5cclxuICAgICAgICA8RmFSZWdJbWFnZSBhcmlhLWhpZGRlbiAvPlxyXG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpZiAoZmlsZVVybCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGFcclxuICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtbGluaydcclxuICAgICAgICBocmVmPXtmaWxlVXJsfVxyXG4gICAgICAgIHRhcmdldD0nX2JsYW5rJ1xyXG4gICAgICAgIHJlbD0nbm9vcGVuZXIgbm9yZWZlcnJlcidcclxuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XHJcbiAgICAgID5cclxuICAgICAgICB7ZmlsZU5hbWV9XHJcbiAgICAgIDwvYT5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gPHNwYW4+e2ZpbGVOYW1lfTwvc3Bhbj47XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFZhcmlhdGlvbkluZm9Cb2R5KHtcclxuICBjb3N0RGV0YWlsLFxyXG4gIG5hbWUsXHJcbiAgcHJvZHVjdCxcclxuICB2YWx1ZSxcclxuICBmaWxlcyxcclxuICB0eXBlLFxyXG4gIHVybEFwaSxcclxufTogYW55KSB7XHJcbiAgY29uc3QgaXNDb2xvdXJQaWNrZXIgPSB0eXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX1BJQ0tFUjtcclxuICBjb25zdCBpc0ZpbGVVcGxvYWQgPVxyXG4gICAgdHlwZSA9PT0gRmllbGRUeXBlLkZJTEVfVVBMT0FEIHx8IHR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcclxuICBjb25zdCBoYXNGaWxlcyA9IEJvb2xlYW4oZmlsZXM/Lmxlbmd0aCk7XHJcbiAgY29uc3QgZGlzcGxheVZhbHVlID0gaXNDb2xvdXJQaWNrZXIgfHwgKGlzRmlsZVVwbG9hZCAmJiBoYXNGaWxlcykgPyBudWxsIDogdmFsdWU7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlJz5cclxuICAgICAgICB7aGFzRmlsZXMgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtcHJldmlld3MnPlxyXG4gICAgICAgICAgICB7ZmlsZXMubWFwKChmaWxlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IChcclxuICAgICAgICAgICAgICA8VmFyaWF0aW9uRmlsZVByZXZpZXdcclxuICAgICAgICAgICAgICAgIGtleT17ZmlsZS52aWV3VXJsIHx8IGZpbGUuaWQgfHwgYCR7bmFtZX0tZmlsZS0ke2luZGV4fWB9XHJcbiAgICAgICAgICAgICAgICBmaWxlPXtmaWxlfVxyXG4gICAgICAgICAgICAgICAgdXJsQXBpPXt1cmxBcGl9XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtpc0NvbG91clBpY2tlciAmJiB2YWx1ZSAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktY29sb3VyLXZhbHVlJz5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHZhbHVlIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2xvci1pbmRpY2F0b3InXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxzcGFuPnt2YWx1ZX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtkaXNwbGF5VmFsdWUgJiYgZGlzcGxheVZhbHVlfVxyXG4gICAgICAgIHtjb3N0RGV0YWlsIHx8ICcnfVxyXG4gICAgICAgIHshaGFzRmlsZXMgJiYgIXZhbHVlICYmICFjb3N0RGV0YWlsICYmICctJ31cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvKHsgcHJvZHVjdCwgdmFyaWF0aW9uIH06IGFueSkge1xyXG4gIGNvbnN0IHsgdXJsQXBpIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XHJcbiAgY29uc3QgeyB2YXJpYXRpb25GaWVsZCwgdmFyaWF0aW9uRmlsZXMsIHNlbGVjdGFibGVPcHRpb25zIH0gPSB2YXJpYXRpb247XHJcbiAgY29uc3QgeyBmaWVsZFR5cGUsIHNlbGxlclByb2R1Y3RFZGl0YWJsZSwgb3B0aW9uczogZmllbGRPcHRpb25zID0gW10gfSA9XHJcbiAgICB2YXJpYXRpb25GaWVsZDtcclxuICBjb25zdCBpc1ZhcmlhdGlvblNlbGVjdGFibGUgPSBpc1NlbGVjdGFibGUoZmllbGRUeXBlKTtcclxuICBjb25zdCBpc1R1cm5hcm91bmRUaW1lID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FO1xyXG4gIGNvbnN0IGlzQ29sb3VyRXh0cmFjdCA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUO1xyXG4gIGNvbnN0IG9wdGlvbnMgPSByZXNvbHZlU2VsZWN0YWJsZVNlbGVjdGVkT3B0aW9ucyhcclxuICAgIHZhcmlhdGlvbixcclxuICAgIHNlbGVjdGFibGVPcHRpb25zLFxyXG4gICAgZmllbGRPcHRpb25zXHJcbiAgKTtcclxuICBjb25zdCB1c2VTZWxlY3RhYmxlRGlzcGxheSA9XHJcbiAgICBpc1ZhcmlhdGlvblNlbGVjdGFibGUgJiZcclxuICAgIChCb29sZWFuKG9wdGlvbnM/Lmxlbmd0aCkgfHwgKGlzVHVybmFyb3VuZFRpbWUgJiYgdmFyaWF0aW9uLnZhbHVlKSk7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24nPlxyXG4gICAgICB7aXNDb2xvdXJFeHRyYWN0ID8gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICA8VmFyaWF0aW9uSW5mb0JvZHlcclxuICAgICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cclxuICAgICAgICAgICAgdHlwZT17ZmllbGRUeXBlfVxyXG4gICAgICAgICAgICB2YWx1ZT17bnVsbH1cclxuICAgICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxyXG4gICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxyXG4gICAgICAgICAgICB1cmxBcGk9e3VybEFwaX1cclxuICAgICAgICAgICAgY29zdERldGFpbD17dmFyaWF0aW9uQ29zdERldGFpbChcclxuICAgICAgICAgICAgICBwcm9kdWN0LFxyXG4gICAgICAgICAgICAgIHZhcmlhdGlvbixcclxuICAgICAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXHJcbiAgICAgICAgICAgICAgLy8gT3B0aW9ucyBsaXN0IHNob3dzIGVhY2ggY29sb3VyIGNvc3Q7IGtlZXAgZmllbGQgYmFzZSBjb3N0IGhlcmUuXHJcbiAgICAgICAgICAgICAgb3B0aW9ucz8ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICA/IHsgZmllbGRDb3N0c09ubHk6IHRydWUgfVxyXG4gICAgICAgICAgICAgICAgOiB7IGluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzOiBmYWxzZSB9XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAge29wdGlvbnM/Lmxlbmd0aCA/IChcclxuICAgICAgICAgICAgPFZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keVxyXG4gICAgICAgICAgICAgIG5hbWU9e2Ake3ZhcmlhdGlvbkZpZWxkLm5hbWV9IGNvbG91cnNgfVxyXG4gICAgICAgICAgICAgIGZpZWxkVHlwZT17ZmllbGRUeXBlfVxyXG4gICAgICAgICAgICAgIHZhbHVlPXt2YXJpYXRpb24udmFsdWV9XHJcbiAgICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cclxuICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnM9e29wdGlvbnN9XHJcbiAgICAgICAgICAgICAgdmFyaWF0aW9uPXt2YXJpYXRpb259XHJcbiAgICAgICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxyXG4gICAgICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxyXG4gICAgICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKSA6IG51bGx9XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICkgOiB1c2VTZWxlY3RhYmxlRGlzcGxheSA/IChcclxuICAgICAgICA8VmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5XHJcbiAgICAgICAgICBuYW1lPXt2YXJpYXRpb25GaWVsZC5uYW1lfVxyXG4gICAgICAgICAgZmllbGRUeXBlPXtmaWVsZFR5cGV9XHJcbiAgICAgICAgICB2YWx1ZT17dmFyaWF0aW9uLnZhbHVlfVxyXG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cclxuICAgICAgICAgIGZpbGVzPXt2YXJpYXRpb25GaWxlc31cclxuICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucz17b3B0aW9uc31cclxuICAgICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxyXG4gICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxyXG4gICAgICAgICAgZmllbGRPcHRpb25zPXtmaWVsZE9wdGlvbnN9XHJcbiAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cclxuICAgICAgICAvPlxyXG4gICAgICApIDogKFxyXG4gICAgICAgIDxWYXJpYXRpb25JbmZvQm9keVxyXG4gICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cclxuICAgICAgICAgIHR5cGU9e3ZhcmlhdGlvbkZpZWxkLmZpZWxkVHlwZX1cclxuICAgICAgICAgIHZhbHVlPXtcclxuICAgICAgICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQVJFQSAmJiB2YXJpYXRpb24udmFsdWVcclxuICAgICAgICAgICAgICA/IGZvcm1hdEFyZWFTdW1tYXJ5KFxyXG4gICAgICAgICAgICAgICAgICB2YXJpYXRpb24udmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgIGxvY2FsZVByZWZlcnNJbXBlcmlhbCgpID8gJ2ltcGVyaWFsJyA6ICdtZXRyaWMnLFxyXG4gICAgICAgICAgICAgICAgICB2YXJpYXRpb25GaWVsZC5hcmVhVW5pdCB8fCAnbW0nXHJcbiAgICAgICAgICAgICAgICApIHx8IHZhcmlhdGlvbi52YWx1ZVxyXG4gICAgICAgICAgICAgIDogdmFyaWF0aW9uLnZhbHVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBmaWxlcz17dmFyaWF0aW9uRmlsZXN9XHJcbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxyXG4gICAgICAgICAgdXJsQXBpPXt1cmxBcGl9XHJcbiAgICAgICAgICBjb3N0RGV0YWlsPXt2YXJpYXRpb25Db3N0RGV0YWlsKFxyXG4gICAgICAgICAgICBwcm9kdWN0LFxyXG4gICAgICAgICAgICB2YXJpYXRpb24sXHJcbiAgICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcclxuICAgICAgICAgICAgeyBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0czogZmFsc2UgfVxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAvPlxyXG4gICAgICApfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gQ29sb3VyU2VsZWN0T3B0aW9uKHtcclxuICBvcHRpb24sXHJcbiAgc2VsZWN0YWJsZU9wdGlvbnMsXHJcbiAgZmllbGRPcHRpb25zLFxyXG4gIHByb2R1Y3QsXHJcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxyXG59OiB7XHJcbiAgb3B0aW9uOiBhbnk7XHJcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcclxuICBmaWVsZE9wdGlvbnM/OiBhbnlbXTtcclxuICBwcm9kdWN0PzogYW55O1xyXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZT86IGJvb2xlYW47XHJcbn0pIHtcclxuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcclxuICBjb25zdCBoZXggPSByZXNvbHZlT3B0aW9uQ29sb3VyKG9wdGlvbiwgc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9ucyk7XHJcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QoXHJcbiAgICBwcm9kdWN0LFxyXG4gICAgb3B0aW9uLFxyXG4gICAgQm9vbGVhbihzZWxsZXJQcm9kdWN0RWRpdGFibGUpXHJcbiAgKTtcclxuICByZXR1cm4gKFxyXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1jb2xvdXItb3B0aW9uJz5cclxuICAgICAge2hleCAmJiAoXHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogaGV4IH19XHJcbiAgICAgICAgICBjbGFzc05hbWU9J2NvbG9yLWluZGljYXRvcidcclxuICAgICAgICAvPlxyXG4gICAgICApfVxyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICB7bGFiZWwgfHwgaGV4IHx8ICfigJMnfVxyXG4gICAgICAgIHtjb3N0IHx8ICcnfVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gSW1hZ2VTZWxlY3RPcHRpb24oe1xyXG4gIG9wdGlvbixcclxuICBzZWxlY3RhYmxlT3B0aW9ucyxcclxuICBmaWVsZE9wdGlvbnMsXHJcbiAgcHJvZHVjdCxcclxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXHJcbn06IHtcclxuICBvcHRpb246IGFueTtcclxuICBzZWxlY3RhYmxlT3B0aW9ucz86IGFueVtdO1xyXG4gIGZpZWxkT3B0aW9ucz86IGFueVtdO1xyXG4gIHByb2R1Y3Q6IGFueTtcclxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW47XHJcbn0pIHtcclxuICBjb25zdCB7IHVybEFwaSB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xyXG4gIGNvbnN0IGltYWdlVXJsID0gcmVzb2x2ZU9wdGlvbkltYWdlVXJsKFxyXG4gICAgb3B0aW9uLFxyXG4gICAgc2VsZWN0YWJsZU9wdGlvbnMsXHJcbiAgICBmaWVsZE9wdGlvbnMsXHJcbiAgICB1cmxBcGlcclxuICApO1xyXG4gIGNvbnN0IGxhYmVsID0gb3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICcnO1xyXG4gIGNvbnN0IGNvc3QgPSBmb3JtYXRPcHRpb25Db3N0KHByb2R1Y3QsIG9wdGlvbiwgc2VsbGVyUHJvZHVjdEVkaXRhYmxlKTtcclxuICBjb25zdCBbaW1hZ2VGYWlsZWQsIHNldEltYWdlRmFpbGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktaW1hZ2Utc2VsZWN0LW9wdGlvbic+XHJcbiAgICAgIHtpbWFnZVVybCAmJiAhaW1hZ2VGYWlsZWQgPyAoXHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudC1pbWcnXHJcbiAgICAgICAgICBzcmM9e2ltYWdlVXJsfVxyXG4gICAgICAgICAgYWx0PXtsYWJlbCB8fCAnU2VsZWN0ZWQgb3B0aW9uJ31cclxuICAgICAgICAgIHRpdGxlPXtsYWJlbCB8fCB1bmRlZmluZWR9XHJcbiAgICAgICAgICBvbkVycm9yPXsoKSA9PiBzZXRJbWFnZUZhaWxlZCh0cnVlKX1cclxuICAgICAgICAvPlxyXG4gICAgICApIDogbnVsbH1cclxuICAgICAgPHNwYW4+XHJcbiAgICAgICAge2xhYmVsIHx8ICfigJMnfVxyXG4gICAgICAgIHtjb3N0IHx8ICcnfVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0T3B0aW9uSWQob3B0aW9uOiBhbnkpIHtcclxuICByZXR1cm4gb3B0aW9uPy5vcHRpb25JZCA/PyBvcHRpb24/LmlkO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzcGxpdFNlbGVjdGVkT3B0aW9uSWRzKHZhbHVlOiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gdmFsdWUubWFwKFN0cmluZykuZmlsdGVyKEJvb2xlYW4pO1xyXG4gIH1cclxuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiBbXTtcclxuICByZXR1cm4gU3RyaW5nKHZhbHVlKVxyXG4gICAgLnNwbGl0KCcsJylcclxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQudHJpbSgpKVxyXG4gICAgLmZpbHRlcihCb29sZWFuKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMoXHJcbiAgdmFyaWF0aW9uOiBhbnksXHJcbiAgc2VsZWN0YWJsZU9wdGlvbnM6IGFueVtdID0gW10sXHJcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdXHJcbik6IGFueVtdIHtcclxuICBjb25zdCBmaWVsZFR5cGUgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5maWVsZFR5cGU7XHJcbiAgaWYgKGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUKSB7XHJcbiAgICByZXR1cm4gdmFyaWF0aW9uPy5zZWxlY3RlZE9wdGlvbnMgfHwgW107XHJcbiAgfVxyXG5cclxuICBjb25zdCBzZWxlY3RlZElkcyA9IHNwbGl0U2VsZWN0ZWRPcHRpb25JZHModmFyaWF0aW9uPy52YWx1ZSk7XHJcbiAgaWYgKHNlbGVjdGVkSWRzLmxlbmd0aCA+IDApIHtcclxuICAgIGNvbnN0IHBvb2xzID0gW3NlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnNdO1xyXG4gICAgY29uc3QgcmVzb2x2ZWQ6IGFueVtdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHNlbGVjdGVkSWRzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgcG9vbCBvZiBwb29scykge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gcG9vbC5maW5kKChvcHRpb246IGFueSkgPT4gU3RyaW5nKGdldE9wdGlvbklkKG9wdGlvbikpID09PSBpZCk7XHJcbiAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICByZXNvbHZlZC5wdXNoKG1hdGNoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHJlc29sdmVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHJlc29sdmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZhcmlhdGlvbj8uc2VsZWN0ZWRPcHRpb25zIHx8IFtdO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZXNvbHZlVHVybmFyb3VuZFNlbGVjdGVkT3B0aW9uKFxyXG4gIHZhcmlhdGlvbjogYW55LFxyXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxyXG4gIGZpZWxkT3B0aW9uczogYW55W10gPSBbXVxyXG4pIHtcclxuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVTZWxlY3RhYmxlU2VsZWN0ZWRPcHRpb25zKFxyXG4gICAgdmFyaWF0aW9uLFxyXG4gICAgc2VsZWN0YWJsZU9wdGlvbnMsXHJcbiAgICBmaWVsZE9wdGlvbnNcclxuICApO1xyXG4gIGlmIChyZXNvbHZlZC5sZW5ndGggPiAwKSB7XHJcbiAgICByZXR1cm4gcmVzb2x2ZWRbMF07XHJcbiAgfVxyXG5cclxuICBjb25zdCB2YWx1ZVN0ciA9XHJcbiAgICB2YXJpYXRpb24/LnZhbHVlICE9IG51bGwgJiYgdmFyaWF0aW9uPy52YWx1ZSAhPT0gJydcclxuICAgICAgPyBTdHJpbmcodmFyaWF0aW9uLnZhbHVlKS50cmltKClcclxuICAgICAgOiAnJztcclxuICBpZiAoIXZhbHVlU3RyKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgY29uc3QgcG9vbHMgPSBbc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9uc107XHJcbiAgZm9yIChjb25zdCBwb29sIG9mIHBvb2xzKSB7XHJcbiAgICBjb25zdCBieVZhbHVlID0gcG9vbC5maW5kKFxyXG4gICAgICAob3B0aW9uOiBhbnkpID0+IFN0cmluZyhvcHRpb24udmFsdWUgPz8gJycpID09PSB2YWx1ZVN0clxyXG4gICAgKTtcclxuICAgIGlmIChieVZhbHVlKSByZXR1cm4gYnlWYWx1ZTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdFR1cm5hcm91bmREZWFkbGluZSh1c2VyRGVhZGxpbmU6IGFueSkge1xyXG4gIGlmICghdXNlckRlYWRsaW5lKSByZXR1cm4gbnVsbDtcclxuICBjb25zdCBzZWNvbmRzID0gTnVtYmVyKHVzZXJEZWFkbGluZSk7XHJcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoc2Vjb25kcykgfHwgc2Vjb25kcyA8PSAwKSByZXR1cm4gbnVsbDtcclxuICByZXR1cm4gbmV3IERhdGUoc2Vjb25kcyAqIDEwMDApLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQVUnLCB7XHJcbiAgICB3ZWVrZGF5OiAnbG9uZycsXHJcbiAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICBtb250aDogJ2xvbmcnLFxyXG4gICAgZGF5OiAnbnVtZXJpYycsXHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFR1cm5hcm91bmRPcHRpb25MYWJlbCh7XHJcbiAgb3B0aW9uLFxyXG4gIHZhcmlhdGlvbkZpZWxkLFxyXG4gIHByb2R1Y3QsXHJcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxyXG59OiB7XHJcbiAgb3B0aW9uOiBhbnk7XHJcbiAgdmFyaWF0aW9uRmllbGQ6IGFueTtcclxuICBwcm9kdWN0OiBhbnk7XHJcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuO1xyXG59KSB7XHJcbiAgY29uc3QgZGF5cyA9IHBhcnNlSW50KFN0cmluZyhvcHRpb24/LnZhbHVlID8/ICcnKSwgMTApIHx8IDA7XHJcbiAgY29uc3QgZGVhZGxpbmUgPSBmb3JtYXRUdXJuYXJvdW5kRGVhZGxpbmUob3B0aW9uPy51c2VyRGVhZGxpbmUpO1xyXG4gIGNvbnN0IHNoaXBwaW5nVGltZUluY2x1ZGVkID0gQm9vbGVhbih2YXJpYXRpb25GaWVsZD8uc2hpcHBpbmdUaW1lSW5jbHVkZWQpO1xyXG4gIGNvbnN0IGRlYWRsaW5lTGFiZWwgPSBzaGlwcGluZ1RpbWVJbmNsdWRlZCA/ICdEZWxpdmVyeSBieScgOiAnUHJvZHVjZWQgYnknO1xyXG4gIGNvbnN0IGNvc3QgPSBmb3JtYXRPcHRpb25Db3N0KHByb2R1Y3QsIG9wdGlvbiwgc2VsbGVyUHJvZHVjdEVkaXRhYmxlKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC12YWx1ZSc+XHJcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC1kYXlzJz5cclxuICAgICAgICB7ZGF5cyA+IDBcclxuICAgICAgICAgID8gYCR7ZGF5c30gYnVzaW5lc3MgZGF5JHtkYXlzICE9PSAxID8gJ3MnIDogJyd9YFxyXG4gICAgICAgICAgOiAob3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICfigJMnKX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICB7ZGVhZGxpbmUgJiYgKFxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC1kZWFkbGluZSc+XHJcbiAgICAgICAgICB7ZGVhZGxpbmVMYWJlbH0ge2RlYWRsaW5lfVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgKX1cclxuICAgICAge2Nvc3QgfHwgJyd9XHJcbiAgICA8L3NwYW4+XHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gVmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5KHtcclxuICBuYW1lLFxyXG4gIHNlbGVjdGVkT3B0aW9ucyxcclxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXHJcbiAgcHJvZHVjdCxcclxuICBmaWVsZFR5cGUsXHJcbiAgdmFyaWF0aW9uLFxyXG4gIHNlbGVjdGFibGVPcHRpb25zID0gW10sXHJcbiAgZmllbGRPcHRpb25zID0gW10sXHJcbn06IGFueSkge1xyXG4gIGNvbnN0IGlzVHVybmFyb3VuZFRpbWUgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5UVVJOQVJPVU5EX1RJTUU7XHJcbiAgY29uc3QgZmlyc3RPcHRpb24gPSBpc1R1cm5hcm91bmRUaW1lXHJcbiAgICA/IHJlc29sdmVUdXJuYXJvdW5kU2VsZWN0ZWRPcHRpb24oXHJcbiAgICAgICAgeyBzZWxlY3RlZE9wdGlvbnMsIHZhbHVlOiB2YXJpYXRpb24/LnZhbHVlIH0sXHJcbiAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnMsXHJcbiAgICAgICAgZmllbGRPcHRpb25zXHJcbiAgICAgIClcclxuICAgIDogc2VsZWN0ZWRPcHRpb25zWzBdO1xyXG4gIGNvbnN0IGlzQ29sb3VyU2VsZWN0ID1cclxuICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9TRUxFQ1QgfHxcclxuICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUO1xyXG4gIGNvbnN0IGlzSW1hZ2VTZWxlY3QgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5JTUFHRV9TRUxFQ1Q7XHJcbiAgY29uc3QgdmFyaWF0aW9uRmllbGQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkID8/IHt9O1xyXG5cclxuICBmdW5jdGlvbiByZW5kZXJPcHRpb25MYWJlbChvOiBhbnkpIHtcclxuICAgIGlmIChpc1R1cm5hcm91bmRUaW1lKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFR1cm5hcm91bmRPcHRpb25MYWJlbFxyXG4gICAgICAgICAgb3B0aW9uPXtvfVxyXG4gICAgICAgICAgdmFyaWF0aW9uRmllbGQ9e3ZhcmlhdGlvbkZpZWxkfVxyXG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cclxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDb2xvdXJTZWxlY3QpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Q29sb3VyU2VsZWN0T3B0aW9uXHJcbiAgICAgICAgICBvcHRpb249e299XHJcbiAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucz17c2VsZWN0YWJsZU9wdGlvbnN9XHJcbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cclxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XHJcbiAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzSW1hZ2VTZWxlY3QpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8SW1hZ2VTZWxlY3RPcHRpb25cclxuICAgICAgICAgIG9wdGlvbj17b31cclxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cclxuICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxyXG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cclxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIHtvLnZhbHVlPy50cmltKCkgfHwgJ+KAkyd9XHJcbiAgICAgICAge2Zvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgbywgc2VsbGVyUHJvZHVjdEVkaXRhYmxlKSB8fCAnJ31cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDw+XHJcbiAgICAgIHtzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMSAmJiAhaXNUdXJuYXJvdW5kVGltZSA/IChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cclxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSBsaXN0LXVuc3R5bGVkIG0tMCc+XHJcbiAgICAgICAgICAgIHtzZWxlY3RlZE9wdGlvbnMubWFwKChvOiBhbnksIGk6IG51bWJlcikgPT4gKFxyXG4gICAgICAgICAgICAgIDxsaSBrZXk9e2Ake2l9LW9wdGlvbi1rZXktJHtvLm9wdGlvbklkID8/IGl9YH0+XHJcbiAgICAgICAgICAgICAgICB7cmVuZGVyT3B0aW9uTGFiZWwobyl9XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApIDogZmlyc3RPcHRpb24gPyAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1sYWJlbCc+e25hbWV9PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlJz5cclxuICAgICAgICAgICAge3JlbmRlck9wdGlvbkxhYmVsKGZpcnN0T3B0aW9uKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApIDogKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSc+LTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApfVxyXG4gICAgPC8+XHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gVmFyaWF0aW9uc0luZm8oeyBwcm9kdWN0LCBxdWFudGl0eSwgdmFyaWF0aW9ucyA9IFtdIH06IGFueSkge1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9ucyc+XHJcbiAgICAgIHt2YXJpYXRpb25zLm1hcCgodjogYW55LCBpOiBudW1iZXIpID0+XHJcbiAgICAgICAgIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2LnZhcmlhdGlvbkZpZWxkLmZpZWxkVHlwZSkgPyAoXHJcbiAgICAgICAgICA8VmFyaWF0aW9uSW5mb1xyXG4gICAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XHJcbiAgICAgICAgICAgIHZhcmlhdGlvbj17dn1cclxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cclxuICAgICAgICAgICAga2V5PXtpfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApIDogbnVsbFxyXG4gICAgICApfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gVmFyaWF0aW9uR3JvdXBJbmZvKHtcclxuICBncm91cCxcclxuICBpbmRleCxcclxuICBwcm9kdWN0LFxyXG4gIHNob3dTZXR1cE9uVW5pdFByaWNlLFxyXG59OiBhbnkpIHtcclxuICBjb25zdCBpc1Jlc2VsbCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xyXG4gIGNvbnN0IHsgcXVhbnRpdHksIHZhcmlhdGlvbnMgfSA9IGdyb3VwO1xyXG4gIGNvbnN0IHZpc2libGVWYXJpYXRpb25zID0gKHZhcmlhdGlvbnMgPz8gW10pLmZpbHRlcihcclxuICAgICh2OiBhbnkpID0+ICFpc0luc3RydWN0aW9uc1R5cGUodj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSlcclxuICApO1xyXG4gIGNvbnN0IGNvc3RMYWJlbCA9IGlzUmVzZWxsID8gJ1VuaXQgQ29zdCcgOiAnR3JvdXAgQ29zdCc7XHJcbiAgY29uc3QgdW5pdFByaWNlVmFsdWUgPSBzaG93U2V0dXBPblVuaXRQcmljZVxyXG4gICAgPyBmb3JtYXRVbml0UHJpY2VXaXRoU2V0dXAocHJvZHVjdClcclxuICAgIDogZm9ybWF0Q29zdChwcm9kdWN0LCBOdW1iZXIocHJvZHVjdD8udW5pdFByaWNlKSB8fCAwKTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxzZWN0aW9uIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZ3JvdXAnPlxyXG4gICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cclxuICAgICAgICBHcm91cCB7aW5kZXggKyAxfSBJbmZvcm1hdGlvblxyXG4gICAgICA8L3N0cm9uZz5cclxuICAgICAgeyFpc1Jlc2VsbCAmJiBxdWFudGl0eSA+IDAgJiYgKFxyXG4gICAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1F1YW50aXR5JyB2YWx1ZT17cXVhbnRpdHl9IC8+XHJcbiAgICAgICl9XHJcbiAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1VuaXQgUHJpY2UnIHZhbHVlPXt1bml0UHJpY2VWYWx1ZX0gLz5cclxuICAgICAge3Zpc2libGVWYXJpYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxyXG4gICAgICAgIDxWYXJpYXRpb25zSW5mb1xyXG4gICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxyXG4gICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cclxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XHJcbiAgICAgICAgLz5cclxuICAgICAgKX1cclxuICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWdyb3VwLWNvc3QnPlxyXG4gICAgICAgIHtjb3N0TGFiZWx9OiB7Zm9ybWF0Q29zdChwcm9kdWN0LCBncm91cC5ncm91cENvc3QpfVxyXG4gICAgICA8L3N0cm9uZz5cclxuICAgIDwvc2VjdGlvbj5cclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKb2JJbmZvQ29udGVudCgpIHtcclxuICBjb25zdCB7IGpvYiB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xyXG4gIGNvbnN0IHsgcHJvZHVjdCwgcXVhbnRpdHkgPSAwLCB2YXJpYXRpb25zID0gW10sIHZhcmlhdGlvbnNHcm91cHMgPSBbXSB9ID0gam9iO1xyXG4gIGNvbnN0IHsgbmVlZHNTaGlwcGluZyB9ID0gcHJvZHVjdDtcclxuICBjb25zdCB0b3RhbENvc3QgPSBjdXJyZW5jeVRvdGFsQ29zdFNob3dJbmNUYXgoam9iKTtcclxuICBjb25zdCBpc1Jlc2VsbCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xyXG4gIGNvbnN0IGhhc0dyb3VwcyA9IHZhcmlhdGlvbnNHcm91cHMubGVuZ3RoID4gMDtcclxuICBjb25zdCBqb2JMZXZlbFZhcmlhdGlvbnMgPSAodmFyaWF0aW9ucyA/PyBbXSkuZmlsdGVyKFxyXG4gICAgKHY6IGFueSkgPT4gIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2Py52YXJpYXRpb25GaWVsZD8uZmllbGRUeXBlKVxyXG4gICk7XHJcbiAgY29uc3QgdG90YWxRdWFudGl0eSA9IGhhc0dyb3Vwc1xyXG4gICAgPyB2YXJpYXRpb25zR3JvdXBzLnJlZHVjZShcclxuICAgICAgICAoc3VtOiBudW1iZXIsIGc6IGFueSkgPT4gc3VtICsgKE51bWJlcihnLnF1YW50aXR5KSB8fCAwKSxcclxuICAgICAgICAwXHJcbiAgICAgIClcclxuICAgIDogTnVtYmVyKHF1YW50aXR5KSB8fCAwO1xyXG4gIGNvbnN0IHNldHVwUGVyR3JvdXAgPSBCb29sZWFuKHByb2R1Y3Q/LnNldHVwUGVyR3JvdXApO1xyXG4gIGNvbnN0IGhhc1NldHVwUHJpY2UgPSBOdW1iZXIocHJvZHVjdD8uc2V0dXBQcmljZSkgPiAwO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9J21vZGFsLW1lcmNoaS1jaGVja291dC1qb2ItaW5mby1jb250ZW50IG1lcmNoaS1jaGVja291dC1zdW1tYXJ5Jz5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXNlY3Rpb24tdGl0bGUnPntwcm9kdWN0Lm5hbWV9PC9kaXY+XHJcbiAgICAgIHtoYXNHcm91cHMgJiYgKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cHMnPlxyXG4gICAgICAgICAge3ZhcmlhdGlvbnNHcm91cHMubWFwKChnOiBhbnksIGk6IG51bWJlcikgPT5cclxuICAgICAgICAgICAgZy5xdWFudGl0eSA/IChcclxuICAgICAgICAgICAgICA8VmFyaWF0aW9uR3JvdXBJbmZvXHJcbiAgICAgICAgICAgICAgICBncm91cD17Z31cclxuICAgICAgICAgICAgICAgIGtleT17YCR7aX0tam9iLWluZm8tY29udGVudGB9XHJcbiAgICAgICAgICAgICAgICBpbmRleD17aX1cclxuICAgICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XHJcbiAgICAgICAgICAgICAgICBzaG93U2V0dXBPblVuaXRQcmljZT17c2V0dXBQZXJHcm91cH1cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICApIDogbnVsbFxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKX1cclxuICAgICAgeyFoYXNHcm91cHMgJiYgKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zdGFuZGFsb25lJz5cclxuICAgICAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1vcmRlci1kZXRhaWwtdGl0bGUnPlxyXG4gICAgICAgICAgICBPcmRlciBJbmZvcm1hdGlvblxyXG4gICAgICAgICAgPC9zdHJvbmc+XHJcbiAgICAgICAgICB7cXVhbnRpdHkgPiAwICYmIChcclxuICAgICAgICAgICAgPFN1bW1hcnlGaWVsZFJvdyBsYWJlbD0nUXVhbnRpdHknIHZhbHVlPXtxdWFudGl0eX0gLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8U3VtbWFyeUZpZWxkUm93XHJcbiAgICAgICAgICAgIGxhYmVsPSdVbml0IFByaWNlJ1xyXG4gICAgICAgICAgICB2YWx1ZT17Zm9ybWF0VW5pdFByaWNlV2l0aFNldHVwKHByb2R1Y3QpfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIHtqb2JMZXZlbFZhcmlhdGlvbnMubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICAgIDxWYXJpYXRpb25zSW5mb1xyXG4gICAgICAgICAgICAgIHF1YW50aXR5PXtxdWFudGl0eX1cclxuICAgICAgICAgICAgICB2YXJpYXRpb25zPXt2YXJpYXRpb25zfVxyXG4gICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApfVxyXG4gICAgICB7aGFzR3JvdXBzICYmIGpvYkxldmVsVmFyaWF0aW9ucy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktc3RhbmRhbG9uZSc+XHJcbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cclxuICAgICAgICAgICAgT3JkZXIgSW5mb3JtYXRpb25cclxuICAgICAgICAgIDwvc3Ryb25nPlxyXG4gICAgICAgICAgPFZhcmlhdGlvbnNJbmZvXHJcbiAgICAgICAgICAgIHF1YW50aXR5PXtxdWFudGl0eX1cclxuICAgICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cclxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICl9XHJcbiAgICAgIHshaXNSZXNlbGwgJiYgKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbCc+XHJcbiAgICAgICAgICB7dG90YWxRdWFudGl0eSA+IDAgJiYgKFxyXG4gICAgICAgICAgICA8U3VtbWFyeUFtb3VudFJvd1xyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtcXVhbnRpdHknXHJcbiAgICAgICAgICAgICAgbGFiZWw9J1RvdGFsIFF1YW50aXR5J1xyXG4gICAgICAgICAgICAgIGFtb3VudD17dG90YWxRdWFudGl0eX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7aGFzR3JvdXBzICYmIGhhc1NldHVwUHJpY2UgJiYgIXNldHVwUGVyR3JvdXAgJiYgKFxyXG4gICAgICAgICAgICA8U3VtbWFyeUFtb3VudFJvd1xyXG4gICAgICAgICAgICAgIGxhYmVsPSdTZXR1cCdcclxuICAgICAgICAgICAgICBhbW91bnQ9e2Zvcm1hdENvc3QocHJvZHVjdCwgTnVtYmVyKHByb2R1Y3Quc2V0dXBQcmljZSkpfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XHJcbiAgICAgICAgICAgIGxhYmVsPSdUb3RhbCBPcmRlciBDb3N0J1xyXG4gICAgICAgICAgICBsYWJlbEV4dHJhPXtcclxuICAgICAgICAgICAgICBuZWVkc1NoaXBwaW5nID8gKFxyXG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtbm90ZSc+IGV4IFNoaXBtZW50PC9zbWFsbD5cclxuICAgICAgICAgICAgICApIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYW1vdW50PXt0b3RhbENvc3R9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApfVxyXG4gICAgICB7ISEoaXNSZXNlbGwgJiYgIWhhc0dyb3VwcykgJiYgKFxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWItMCc+XHJcbiAgICAgICAgICAgIHtpc1Jlc2VsbCA/ICdBcHByb3hpbWF0ZSBVbml0JyA6ICdUb3RhbCd9IENvc3RcclxuICAgICAgICAgIDwvc3Ryb25nPnsnICd9XHJcbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWItMCBkLWJsb2NrJz57dG90YWxDb3N0fTwvc3Ryb25nPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufVxyXG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFBQSxDQUFBLENBQUFRLE1BQUEscUJBQUFOLEVBQUEsRUFBQUYsQ0FBQSxHQUFBRSxFQUFBLE1BQUFPLENBQUEsVUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFBLEVBQUEsUUFBQUgsQ0FBQSxJQUFBVCxDQUFBLENBQUFRLE1BQUEsV0FBQUssSUFBQSxtQkFBQUEsSUFBQSxTQUFBQyxLQUFBLEVBQUFkLENBQUEsQ0FBQVMsQ0FBQSxVQUFBTSxDQUFBLFdBQUFBLEVBQUFDLEVBQUEsVUFBQUEsRUFBQSxLQUFBQyxDQUFBLEVBQUFQLENBQUEsZ0JBQUFRLFNBQUEsaUpBQUFDLGdCQUFBLFNBQUFDLE1BQUEsVUFBQUMsR0FBQSxXQUFBVixDQUFBLFdBQUFBLEVBQUEsSUFBQVQsRUFBQSxHQUFBQSxFQUFBLENBQUFvQixJQUFBLENBQUF0QixDQUFBLE1BQUFZLENBQUEsV0FBQUEsRUFBQSxRQUFBVyxJQUFBLEdBQUFyQixFQUFBLENBQUFzQixJQUFBLElBQUFMLGdCQUFBLEdBQUFJLElBQUEsQ0FBQVYsSUFBQSxTQUFBVSxJQUFBLEtBQUFSLENBQUEsV0FBQUEsRUFBQVUsR0FBQSxJQUFBTCxNQUFBLFNBQUFDLEdBQUEsR0FBQUksR0FBQSxLQUFBUixDQUFBLFdBQUFBLEVBQUEsZUFBQUUsZ0JBQUEsSUFBQWpCLEVBQUEsb0JBQUFBLEVBQUEsOEJBQUFrQixNQUFBLFFBQUFDLEdBQUE7QUFBQSxTQUFBSyxlQUFBQyxHQUFBLEVBQUFsQixDQUFBLFdBQUFtQixlQUFBLENBQUFELEdBQUEsS0FBQUUscUJBQUEsQ0FBQUYsR0FBQSxFQUFBbEIsQ0FBQSxLQUFBRiwyQkFBQSxDQUFBb0IsR0FBQSxFQUFBbEIsQ0FBQSxLQUFBcUIsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBWixTQUFBO0FBQUEsU0FBQVgsNEJBQUFQLENBQUEsRUFBQStCLE1BQUEsU0FBQS9CLENBQUEscUJBQUFBLENBQUEsc0JBQUFnQyxpQkFBQSxDQUFBaEMsQ0FBQSxFQUFBK0IsTUFBQSxPQUFBbkIsQ0FBQSxHQUFBcUIsTUFBQSxDQUFBQyxTQUFBLENBQUFDLFFBQUEsQ0FBQWIsSUFBQSxDQUFBdEIsQ0FBQSxFQUFBb0MsS0FBQSxhQUFBeEIsQ0FBQSxpQkFBQVosQ0FBQSxDQUFBcUMsV0FBQSxFQUFBekIsQ0FBQSxHQUFBWixDQUFBLENBQUFxQyxXQUFBLENBQUFDLElBQUEsTUFBQTFCLENBQUEsY0FBQUEsQ0FBQSxtQkFBQVAsS0FBQSxDQUFBa0MsSUFBQSxDQUFBdkMsQ0FBQSxPQUFBWSxDQUFBLCtEQUFBNEIsSUFBQSxDQUFBNUIsQ0FBQSxVQUFBb0IsaUJBQUEsQ0FBQWhDLENBQUEsRUFBQStCLE1BQUE7QUFBQSxTQUFBQyxrQkFBQUwsR0FBQSxFQUFBYyxHQUFBLFFBQUFBLEdBQUEsWUFBQUEsR0FBQSxHQUFBZCxHQUFBLENBQUFuQixNQUFBLEVBQUFpQyxHQUFBLEdBQUFkLEdBQUEsQ0FBQW5CLE1BQUEsV0FBQUMsQ0FBQSxNQUFBaUMsSUFBQSxPQUFBckMsS0FBQSxDQUFBb0MsR0FBQSxHQUFBaEMsQ0FBQSxHQUFBZ0MsR0FBQSxFQUFBaEMsQ0FBQSxJQUFBaUMsSUFBQSxDQUFBakMsQ0FBQSxJQUFBa0IsR0FBQSxDQUFBbEIsQ0FBQSxVQUFBaUMsSUFBQTtBQUFBLFNBQUFiLHNCQUFBYyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxXQUFBRixDQUFBLGdDQUFBeEMsTUFBQSxJQUFBd0MsQ0FBQSxDQUFBeEMsTUFBQSxDQUFBQyxRQUFBLEtBQUF1QyxDQUFBLDRCQUFBRSxDQUFBLFFBQUE5QixDQUFBLEVBQUFILENBQUEsRUFBQUgsQ0FBQSxFQUFBcUMsQ0FBQSxFQUFBQyxDQUFBLE9BQUE5QixDQUFBLE9BQUFqQixDQUFBLGlCQUFBUyxDQUFBLElBQUFvQyxDQUFBLEdBQUFBLENBQUEsQ0FBQXZCLElBQUEsQ0FBQXFCLENBQUEsR0FBQW5CLElBQUEsUUFBQW9CLENBQUEsUUFBQVgsTUFBQSxDQUFBWSxDQUFBLE1BQUFBLENBQUEsVUFBQTVCLENBQUEsdUJBQUFBLENBQUEsSUFBQUYsQ0FBQSxHQUFBTixDQUFBLENBQUFhLElBQUEsQ0FBQXVCLENBQUEsR0FBQWhDLElBQUEsTUFBQWtDLENBQUEsQ0FBQUMsSUFBQSxDQUFBakMsQ0FBQSxDQUFBRCxLQUFBLEdBQUFpQyxDQUFBLENBQUF2QyxNQUFBLEtBQUFvQyxDQUFBLEdBQUEzQixDQUFBLGlCQUFBMEIsQ0FBQSxJQUFBM0MsQ0FBQSxPQUFBWSxDQUFBLEdBQUErQixDQUFBLHlCQUFBMUIsQ0FBQSxZQUFBNEIsQ0FBQSxlQUFBQyxDQUFBLEdBQUFELENBQUEsY0FBQVosTUFBQSxDQUFBYSxDQUFBLE1BQUFBLENBQUEsMkJBQUE5QyxDQUFBLFFBQUFZLENBQUEsYUFBQW1DLENBQUE7QUFBQSxTQUFBbkIsZ0JBQUFELEdBQUEsUUFBQXRCLEtBQUEsQ0FBQUMsT0FBQSxDQUFBcUIsR0FBQSxVQUFBQSxHQUFBO0FBQ2IsT0FBT3NCLEtBQUssSUFBSUMsUUFBUSxRQUFRLE9BQU87QUFDdkMsU0FBU0MsU0FBUyxFQUFFQyxVQUFVLFFBQVEsZ0JBQWdCO0FBQ3RELFNBQVNDLGNBQWMsRUFBRUMsMkJBQTJCLFFBQVEsWUFBWTtBQUN4RSxTQUNFQyxrQkFBa0IsRUFDbEJDLG9CQUFvQixFQUNwQkMsWUFBWSxFQUNaQyxTQUFTLFFBQ0osVUFBVTtBQUNqQixTQUNFQyxpQkFBaUIsRUFDakJDLGlCQUFpQixFQUNqQkMscUJBQXFCLFFBQ2hCLFNBQVM7QUFDaEIsU0FBU0MseUJBQXlCLFFBQVEsMEJBQTBCO0FBQ3BFLFNBQ0VDLGdCQUFnQixFQUNoQkMsZUFBZSxRQUNWLHlCQUF5QjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUFBLFNBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUFBLFNBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUVqQyxTQUFTQyxVQUFVQSxDQUFDQyxPQUFZLEVBQUVDLElBQVksRUFBRTtFQUM5QyxJQUFNQyxRQUFRLEdBQUdGLE9BQU8sQ0FBQ0UsUUFBUSxHQUFHRixPQUFPLENBQUNFLFFBQVEsR0FBRyxLQUFLO0VBQzVELE9BQU9yQixjQUFjLENBQUNvQixJQUFJLEVBQUU7SUFDMUJDLFFBQVEsRUFBUkEsUUFBUTtJQUNSQyxrQkFBa0IsRUFBRTtFQUN0QixDQUFDLENBQUM7QUFDSjtBQUVBLFNBQVNDLGVBQWVBLENBQUM5RCxLQUFVLEVBQVU7RUFDM0MsSUFBTStELE1BQU0sR0FBR0MsVUFBVSxDQUFDaEUsS0FBSyxDQUFDO0VBQ2hDLE9BQU9pRSxNQUFNLENBQUNDLFFBQVEsQ0FBQ0gsTUFBTSxDQUFDLElBQUlBLE1BQU0sR0FBRyxDQUFDLEdBQUdBLE1BQU0sR0FBRyxDQUFDO0FBQzNEOztBQUVBO0FBQ0EsU0FBU0ksMkJBQTJCQSxDQUNsQ1QsT0FBWSxFQUNaVSxXQUFnQixFQUNoQkMsUUFBYSxFQUNiO0VBQ0EsSUFBTVQsUUFBUSxHQUFHLENBQUFGLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFRSxRQUFRLEtBQUksS0FBSztFQUMzQyxJQUFNVSxLQUFlLEdBQUcsRUFBRTtFQUMxQixJQUFNQyxPQUFPLEdBQUdULGVBQWUsQ0FBQ00sV0FBVyxDQUFDO0VBQzVDLElBQU1JLElBQUksR0FBR1YsZUFBZSxDQUFDTyxRQUFRLENBQUM7RUFDdEMsSUFBSUUsT0FBTyxFQUFFO0lBQ1hELEtBQUssQ0FBQ3BDLElBQUksT0FBQXVDLE1BQUEsQ0FDRmxDLGNBQWMsQ0FBQ2dDLE9BQU8sRUFBRTtNQUFFWCxRQUFRLEVBQVJBLFFBQVE7TUFBRUMsa0JBQWtCLEVBQUU7SUFBTSxDQUFDLENBQUMsY0FDeEUsQ0FBQztFQUNIO0VBQ0EsSUFBSVcsSUFBSSxFQUFFO0lBQ1JGLEtBQUssQ0FBQ3BDLElBQUksT0FBQXVDLE1BQUEsQ0FDRmxDLGNBQWMsQ0FBQ2lDLElBQUksRUFBRTtNQUFFWixRQUFRLEVBQVJBLFFBQVE7TUFBRUMsa0JBQWtCLEVBQUU7SUFBTSxDQUFDLENBQUMsY0FDckUsQ0FBQztFQUNIO0VBQ0EsT0FBT1MsS0FBSyxDQUFDSSxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3ZCO0FBRUEsU0FBU0MsYUFBYUEsQ0FBQ0MsTUFBVyxFQUFVO0VBQzFDLE9BQ0VkLGVBQWUsQ0FBQ2MsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVSLFdBQVcsQ0FBQyxJQUNwQ04sZUFBZSxDQUFDYyxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRUMsYUFBYSxDQUFDLElBQ3RDLENBQUM7QUFFTDtBQUVBLFNBQVNDLFVBQVVBLENBQUNGLE1BQVcsRUFBVTtFQUN2QyxPQUNFZCxlQUFlLENBQUNjLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFUCxRQUFRLENBQUMsSUFDakNQLGVBQWUsQ0FBQ2MsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVHLGlCQUFpQixDQUFDLElBQzFDLENBQUM7QUFFTDs7QUFFQTtBQUNBLFNBQVNDLGtCQUFrQkEsQ0FBQ3RCLE9BQVksRUFBRTtFQUN4QyxJQUFNdUIsVUFBVSxHQUFHaEIsTUFBTSxDQUFDUCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRXVCLFVBQVUsQ0FBQztFQUM5QyxJQUFJLENBQUNBLFVBQVUsRUFBRSxPQUFPLEVBQUU7RUFDMUIsSUFBTUMsS0FBSyxHQUFHeEIsT0FBTyxDQUFDeUIsYUFBYSxHQUFHLGlCQUFpQixHQUFHLE9BQU87RUFDakUsYUFBQVYsTUFBQSxDQUFhaEIsVUFBVSxDQUFDQyxPQUFPLEVBQUV1QixVQUFVLENBQUMsT0FBQVIsTUFBQSxDQUFJUyxLQUFLO0FBQ3ZEO0FBRUEsU0FBU0Usd0JBQXdCQSxDQUFDMUIsT0FBWSxFQUFFO0VBQzlDLFVBQUFlLE1BQUEsQ0FBVWhCLFVBQVUsQ0FBQ0MsT0FBTyxFQUFFTyxNQUFNLENBQUNQLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFMkIsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUFaLE1BQUEsQ0FBR08sa0JBQWtCLENBQUN0QixPQUFPLENBQUM7QUFDOUY7QUFFQSxTQUFTNEIsS0FBS0EsQ0FBQ0MsSUFBUyxFQUFFO0VBQ3hCLElBQU1DLFFBQVEsR0FBRyxDQUFBRCxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRUMsUUFBUSxLQUFJLEVBQUU7RUFDckMsT0FBT0EsUUFBUSxLQUFLLGlCQUFpQixJQUFJQSxRQUFRLEtBQUssbUJBQW1CO0FBQzNFO0FBRUEsU0FBU0MsV0FBV0EsQ0FBQ0YsSUFBUyxFQUFFO0VBQzlCLElBQU1DLFFBQVEsR0FBRyxDQUFBRCxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRUMsUUFBUSxLQUFJLEVBQUU7RUFDckMsSUFBSUEsUUFBUSxDQUFDRSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxJQUFJO0VBQzlDLElBQU1sRSxJQUFJLEdBQUcsQ0FBQyxDQUFBK0QsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUUvRCxJQUFJLEtBQUksRUFBRSxFQUFFbUUsV0FBVyxDQUFDLENBQUM7RUFDN0MsT0FBTyxpQ0FBaUMsQ0FBQ2pFLElBQUksQ0FBQ0YsSUFBSSxDQUFDO0FBQ3JEO0FBRUEsU0FBU29FLGlCQUFpQkEsQ0FBQ0MsR0FBVyxFQUFFQyxNQUFlLEVBQUU7RUFDdkQsSUFBTUMsR0FBRyxHQUFHLENBQUNGLEdBQUcsSUFBSSxFQUFFLEVBQUVHLElBQUksQ0FBQyxDQUFDO0VBQzlCLElBQUksQ0FBQ0QsR0FBRyxJQUFJQSxHQUFHLEtBQUssV0FBVyxJQUFJQSxHQUFHLEtBQUssTUFBTSxFQUFFLE9BQU8sRUFBRTtFQUM1RCxJQUFJLHlCQUF5QixDQUFDckUsSUFBSSxDQUFDcUUsR0FBRyxDQUFDLEVBQUUsT0FBT0EsR0FBRztFQUNuRCxJQUFJLENBQUNELE1BQU0sRUFBRSxPQUFPQyxHQUFHO0VBQ3ZCLElBQUk7SUFDRixJQUFNRSxJQUFJLEdBQUcsSUFBSUMsR0FBRyxDQUFDSixNQUFNLENBQUM7SUFDNUIsT0FBTyxJQUFJSSxHQUFHLENBQUNILEdBQUcsS0FBQXRCLE1BQUEsQ0FBS3dCLElBQUksQ0FBQ0UsTUFBTSxNQUFHLENBQUMsQ0FBQ0MsSUFBSTtFQUM3QyxDQUFDLENBQUMsT0FBQUMsT0FBQSxFQUFNO0lBQ04sT0FBT04sR0FBRztFQUNaO0FBQ0Y7QUFFQSxTQUFTTyxjQUFjQSxDQUFDZixJQUFTLEVBQUVPLE1BQWUsRUFBRTtFQUNsRCxPQUFPRixpQkFBaUIsQ0FDdEIsQ0FBQUwsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVnQixPQUFPLE1BQUloQixJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRWlCLFdBQVcsS0FBSSxFQUFFLEVBQ3hDVixNQUNGLENBQUM7QUFDSDtBQUVBLFNBQVNXLGNBQWNBLENBQUM3QixNQUFXLEVBQUVrQixNQUFlLEVBQUU7RUFBQSxJQUFBWSxrQkFBQSxFQUFBQyxtQkFBQTtFQUNwRCxPQUFPZixpQkFBaUIsQ0FDdEIsQ0FBQWhCLE1BQU0sYUFBTkEsTUFBTSxnQkFBQThCLGtCQUFBLEdBQU45QixNQUFNLENBQUVnQyxVQUFVLGNBQUFGLGtCQUFBLHVCQUFsQkEsa0JBQUEsQ0FBb0JILE9BQU8sTUFBSTNCLE1BQU0sYUFBTkEsTUFBTSxnQkFBQStCLG1CQUFBLEdBQU4vQixNQUFNLENBQUVnQyxVQUFVLGNBQUFELG1CQUFBLHVCQUFsQkEsbUJBQUEsQ0FBb0JILFdBQVcsS0FBSSxFQUFFLEVBQ3BFVixNQUNGLENBQUM7QUFDSDtBQUVBLFNBQVNlLGtCQUFrQkEsQ0FBQ2pDLE1BQVcsRUFBdUI7RUFBQSxJQUFyQmtDLE9BQWMsR0FBQUMsU0FBQSxDQUFBckgsTUFBQSxRQUFBcUgsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxFQUFFO0VBQzFELE9BQU9ELE9BQU8sQ0FBQ0csSUFBSSxDQUFDLFVBQUMvSCxDQUFDO0lBQUEsT0FBS2dJLE1BQU0sQ0FBQ2hJLENBQUMsQ0FBQ2lJLFFBQVEsQ0FBQyxLQUFLRCxNQUFNLENBQUN0QyxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXVDLFFBQVEsQ0FBQztFQUFBLEVBQUM7QUFDN0U7QUFFQSxTQUFTQyxtQkFBbUJBLENBQzFCeEMsTUFBVyxFQUdYO0VBQUEsSUFBQXlDLGNBQUEsRUFBQUMsbUJBQUEsRUFBQUMsb0JBQUE7RUFBQSxJQUZBQyxpQkFBd0IsR0FBQVQsU0FBQSxDQUFBckgsTUFBQSxRQUFBcUgsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxFQUFFO0VBQUEsSUFDN0JVLFlBQW1CLEdBQUFWLFNBQUEsQ0FBQXJILE1BQUEsUUFBQXFILFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsRUFBRTtFQUV4QixJQUFNVyxNQUFNLEdBQUc5QyxNQUFNLGFBQU5BLE1BQU0sZ0JBQUF5QyxjQUFBLEdBQU56QyxNQUFNLENBQUUrQyxNQUFNLGNBQUFOLGNBQUEsdUJBQWRBLGNBQUEsQ0FBZ0JyQixJQUFJLENBQUMsQ0FBQztFQUNyQyxJQUFJMEIsTUFBTSxFQUFFLE9BQU9BLE1BQU07RUFDekIsSUFBTUUsY0FBYyxJQUFBTixtQkFBQSxHQUFHVCxrQkFBa0IsQ0FBQ2pDLE1BQU0sRUFBRTRDLGlCQUFpQixDQUFDLGNBQUFGLG1CQUFBLGdCQUFBQSxtQkFBQSxHQUE3Q0EsbUJBQUEsQ0FBK0NLLE1BQU0sY0FBQUwsbUJBQUEsdUJBQXJEQSxtQkFBQSxDQUF1RHRCLElBQUksQ0FBQyxDQUFDO0VBQ3BGLElBQUk0QixjQUFjLEVBQUUsT0FBT0EsY0FBYztFQUN6QyxPQUFPLEVBQUFMLG9CQUFBLEdBQUFWLGtCQUFrQixDQUFDakMsTUFBTSxFQUFFNkMsWUFBWSxDQUFDLGNBQUFGLG9CQUFBLGdCQUFBQSxvQkFBQSxHQUF4Q0Esb0JBQUEsQ0FBMENJLE1BQU0sY0FBQUosb0JBQUEsdUJBQWhEQSxvQkFBQSxDQUFrRHZCLElBQUksQ0FBQyxDQUFDLEtBQUksRUFBRTtBQUN2RTtBQUVBLFNBQVM2QixxQkFBcUJBLENBQzVCakQsTUFBVyxFQUlYO0VBQUEsSUFIQTRDLGlCQUF3QixHQUFBVCxTQUFBLENBQUFySCxNQUFBLFFBQUFxSCxTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEVBQUU7RUFBQSxJQUM3QlUsWUFBbUIsR0FBQVYsU0FBQSxDQUFBckgsTUFBQSxRQUFBcUgsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxFQUFFO0VBQUEsSUFDeEJqQixNQUFlLEdBQUFpQixTQUFBLENBQUFySCxNQUFBLE9BQUFxSCxTQUFBLE1BQUFDLFNBQUE7RUFFZixJQUFNVSxNQUFNLEdBQUdqQixjQUFjLENBQUM3QixNQUFNLEVBQUVrQixNQUFNLENBQUM7RUFDN0MsSUFBSTRCLE1BQU0sRUFBRSxPQUFPQSxNQUFNO0VBQ3pCLElBQU1FLGNBQWMsR0FBR25CLGNBQWMsQ0FDbkNJLGtCQUFrQixDQUFDakMsTUFBTSxFQUFFNEMsaUJBQWlCLENBQUMsRUFDN0MxQixNQUNGLENBQUM7RUFDRCxJQUFJOEIsY0FBYyxFQUFFLE9BQU9BLGNBQWM7RUFDekMsT0FBT25CLGNBQWMsQ0FBQ0ksa0JBQWtCLENBQUNqQyxNQUFNLEVBQUU2QyxZQUFZLENBQUMsRUFBRTNCLE1BQU0sQ0FBQztBQUN6RTtBQUVBLFNBQVNnQyxnQkFBZ0JBLENBQ3ZCcEUsT0FBWSxFQUNaa0IsTUFBVyxFQUNYbUQscUJBQThCLEVBQzlCO0VBQ0EsSUFBSUEscUJBQXFCLElBQUksQ0FBQ25ELE1BQU0sRUFBRSxPQUFPLElBQUk7RUFDakQsSUFBTW9ELFdBQVcsR0FBRzdELDJCQUEyQixDQUM3Q1QsT0FBTyxFQUNQaUIsYUFBYSxDQUFDQyxNQUFNLENBQUMsRUFDckJFLFVBQVUsQ0FBQ0YsTUFBTSxDQUNuQixDQUFDO0VBQ0QsSUFBSW9ELFdBQVcsRUFBRSxPQUFPQSxXQUFXO0VBQ25DLElBQUlwRCxNQUFNLENBQUNxRCxTQUFTLEVBQUU7SUFDcEIsYUFBQXhELE1BQUEsQ0FBYWhCLFVBQVUsQ0FBQ0MsT0FBTyxFQUFFa0IsTUFBTSxDQUFDcUQsU0FBUyxDQUFDO0VBQ3BEO0VBQ0EsT0FBTyxJQUFJO0FBQ2I7QUFFQSxTQUFTQyxtQkFBbUJBLENBQzFCeEUsT0FBWSxFQUNaeUUsU0FBYyxFQUNkSixxQkFBOEIsRUFROUI7RUFBQSxJQUFBSyxxQkFBQSxFQUFBQyxtQkFBQTtFQUFBLElBQUFDLElBQUEsR0FBQXZCLFNBQUEsQ0FBQXJILE1BQUEsUUFBQXFILFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BREksQ0FBQyxDQUFDO0lBQUF3QixxQkFBQSxHQUFBRCxJQUFBLENBTEpFLDBCQUEwQjtJQUExQkEsMEJBQTBCLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUFBRSxtQkFBQSxHQUFBSCxJQUFBLENBQ2pDSSxjQUFjO0lBQWRBLGNBQWMsR0FBQUQsbUJBQUEsY0FBRyxLQUFLLEdBQUFBLG1CQUFBO0VBTXhCLElBQUlWLHFCQUFxQixFQUFFLE9BQU8sRUFBRTtFQUVwQyxJQUFNWSxLQUFLLEdBQUcsQ0FBQVIsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVTLGNBQWMsS0FBSSxDQUFDLENBQUM7RUFDN0MsSUFBTUMsU0FBUyxHQUFHNUUsTUFBTSxDQUFDMEUsS0FBSyxDQUFDRSxTQUFTLENBQUM7RUFFekMsSUFBSUEsU0FBUyxLQUFLakcsU0FBUyxDQUFDa0csSUFBSSxFQUFFO0lBQ2hDLElBQU1DLFNBQVMsR0FBR2xHLGlCQUFpQixDQUFDOEYsS0FBSyxFQUFFUixTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRW5JLEtBQUssQ0FBQztJQUM1RCxJQUFJK0ksU0FBUyxFQUFFO01BQ2IsT0FBTzVFLDJCQUEyQixDQUNoQ1QsT0FBTyxFQUNQcUYsU0FBUyxDQUFDM0UsV0FBVyxFQUNyQjJFLFNBQVMsQ0FBQzFFLFFBQ1osQ0FBQztJQUNIO0VBQ0Y7RUFFQSxJQUFJcUUsY0FBYyxFQUFFO0lBQ2xCLE9BQU92RSwyQkFBMkIsQ0FDaENULE9BQU8sRUFDUGlGLEtBQUssQ0FBQzlELGFBQWEsRUFDbkI4RCxLQUFLLENBQUM1RCxpQkFDUixDQUFDO0VBQ0g7RUFFQSxJQUFNaUUsUUFBUSxHQUFHekosS0FBSyxDQUFDQyxPQUFPLENBQUMySSxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRWMsZUFBZSxDQUFDLEdBQ3REZCxTQUFTLENBQUNjLGVBQWUsR0FDekIsRUFBRTtFQUNOLElBQUlULDBCQUEwQixJQUFJUSxRQUFRLENBQUN0SixNQUFNLEVBQUU7SUFDakQsSUFBTXdKLFNBQVMsR0FDYkwsU0FBUyxLQUFLakcsU0FBUyxDQUFDdUcsY0FBYyxHQUNsQ3JGLGVBQWUsQ0FBQzZFLEtBQUssQ0FBQzlELGFBQWEsQ0FBQyxHQUNwQyxDQUFDO0lBQ1AsSUFBTXVFLFNBQVMsR0FDYlAsU0FBUyxLQUFLakcsU0FBUyxDQUFDdUcsY0FBYyxHQUNsQ3JGLGVBQWUsQ0FBQzZFLEtBQUssQ0FBQzVELGlCQUFpQixDQUFDLEdBQ3hDLENBQUM7SUFDUCxPQUFPWiwyQkFBMkIsQ0FDaENULE9BQU8sRUFDUHdGLFNBQVMsR0FDUEYsUUFBUSxDQUFDSyxNQUFNLENBQ2IsVUFBQ0MsR0FBVyxFQUFFMUUsTUFBVztNQUFBLE9BQUswRSxHQUFHLEdBQUczRSxhQUFhLENBQUNDLE1BQU0sQ0FBQztJQUFBLEdBQ3pELENBQ0YsQ0FBQyxFQUNId0UsU0FBUyxHQUNQSixRQUFRLENBQUNLLE1BQU0sQ0FDYixVQUFDQyxHQUFXLEVBQUUxRSxNQUFXO01BQUEsT0FBSzBFLEdBQUcsR0FBR3hFLFVBQVUsQ0FBQ0YsTUFBTSxDQUFDO0lBQUEsR0FDdEQsQ0FDRixDQUNKLENBQUM7RUFDSDtFQUVBLElBQU1vRCxXQUFXLEdBQUc3RCwyQkFBMkIsQ0FDN0NULE9BQU8sR0FBQTBFLHFCQUFBLEdBQ1BELFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFL0QsV0FBVyxjQUFBZ0UscUJBQUEsY0FBQUEscUJBQUEsR0FBSU8sS0FBSyxDQUFDOUQsYUFBYSxHQUFBd0QsbUJBQUEsR0FDN0NGLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFOUQsUUFBUSxjQUFBZ0UsbUJBQUEsY0FBQUEsbUJBQUEsR0FBSU0sS0FBSyxDQUFDNUQsaUJBQy9CLENBQUM7RUFDRCxJQUFJaUQsV0FBVyxFQUFFLE9BQU9BLFdBQVc7RUFDbkMsSUFBSUcsU0FBUyxhQUFUQSxTQUFTLGVBQVRBLFNBQVMsQ0FBRXhFLElBQUksRUFBRTtJQUNuQixhQUFBYyxNQUFBLENBQWFoQixVQUFVLENBQUNDLE9BQU8sRUFBRXlFLFNBQVMsQ0FBQ3hFLElBQUksQ0FBQztFQUNsRDtFQUNBLE9BQU8sRUFBRTtBQUNYO0FBRUEsU0FBUzRGLG9CQUFvQkEsQ0FBQUMsS0FBQSxFQU0xQjtFQUFBLElBTERqRSxJQUFJLEdBQUFpRSxLQUFBLENBQUpqRSxJQUFJO0lBQ0pPLE1BQU0sR0FBQTBELEtBQUEsQ0FBTjFELE1BQU07RUFLTixJQUFNMkQsT0FBTyxHQUFHbkQsY0FBYyxDQUFDZixJQUFJLEVBQUVPLE1BQU0sQ0FBQztFQUM1QyxJQUFNNEQsUUFBUSxHQUFHLENBQUFuRSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRS9ELElBQUksS0FBSSxNQUFNO0VBQ3JDLElBQUFtSSxTQUFBLEdBQXNDdkgsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBd0gsVUFBQSxHQUFBaEosY0FBQSxDQUFBK0ksU0FBQTtJQUE5Q0UsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUVsQyxJQUFJdEUsS0FBSyxDQUFDQyxJQUFJLENBQUMsRUFBRTtJQUNmLG9CQUNFakMsS0FBQTtNQUNFeUcsU0FBUyxFQUFDLG1DQUFtQztNQUM3QzNELElBQUksRUFBRXFELE9BQU8sSUFBSXpDLFNBQVU7TUFDM0JnRCxNQUFNLEVBQUMsUUFBUTtNQUNmQyxHQUFHLEVBQUMscUJBQXFCO01BQ3pCQyxLQUFLLEVBQUVSLFFBQVM7TUFBQVMsUUFBQSxnQkFFaEIvRyxJQUFBLENBQUNmLFNBQVM7UUFBQztNQUFXLENBQUUsQ0FBQyxlQUN6QmUsSUFBQTtRQUFBK0csUUFBQSxFQUFPVDtNQUFRLENBQU8sQ0FBQztJQUFBLENBQ3RCLENBQUM7RUFFUjtFQUVBLElBQUlqRSxXQUFXLENBQUNGLElBQUksQ0FBQyxJQUFJa0UsT0FBTyxJQUFJLENBQUNJLFdBQVcsRUFBRTtJQUNoRCxvQkFDRXpHLElBQUE7TUFDRTJHLFNBQVMsRUFBQyw0Q0FBNEM7TUFDdERLLEdBQUcsRUFBRVgsT0FBUTtNQUNiWSxHQUFHLEVBQUVYLFFBQVM7TUFDZFEsS0FBSyxFQUFFUixRQUFTO01BQ2hCWSxPQUFPLEVBQUUsU0FBQUEsUUFBQTtRQUFBLE9BQU1SLGNBQWMsQ0FBQyxJQUFJLENBQUM7TUFBQTtJQUFDLENBQ3JDLENBQUM7RUFFTjtFQUVBLElBQUlyRSxXQUFXLENBQUNGLElBQUksQ0FBQyxFQUFFO0lBQ3JCLG9CQUNFakMsS0FBQTtNQUNFeUcsU0FBUyxFQUFDLHVDQUF1QztNQUNqREcsS0FBSyxFQUFFUixRQUFTO01BQUFTLFFBQUEsZ0JBRWhCL0csSUFBQSxDQUFDZCxVQUFVO1FBQUM7TUFBVyxDQUFFLENBQUMsZUFDMUJjLElBQUE7UUFBQStHLFFBQUEsRUFBT1Q7TUFBUSxDQUFPLENBQUM7SUFBQSxDQUNuQixDQUFDO0VBRVg7RUFFQSxJQUFJRCxPQUFPLEVBQUU7SUFDWCxvQkFDRXJHLElBQUE7TUFDRTJHLFNBQVMsRUFBQyxtQ0FBbUM7TUFDN0MzRCxJQUFJLEVBQUVxRCxPQUFRO01BQ2RPLE1BQU0sRUFBQyxRQUFRO01BQ2ZDLEdBQUcsRUFBQyxxQkFBcUI7TUFDekJDLEtBQUssRUFBRVIsUUFBUztNQUFBUyxRQUFBLEVBRWZUO0lBQVEsQ0FDUixDQUFDO0VBRVI7RUFFQSxvQkFBT3RHLElBQUE7SUFBQStHLFFBQUEsRUFBT1Q7RUFBUSxDQUFPLENBQUM7QUFDaEM7QUFFQSxTQUFTYSxpQkFBaUJBLENBQUFDLEtBQUEsRUFRbEI7RUFBQSxJQVBOQyxVQUFVLEdBQUFELEtBQUEsQ0FBVkMsVUFBVTtJQUNWakosSUFBSSxHQUFBZ0osS0FBQSxDQUFKaEosSUFBSTtJQUNKa0MsT0FBTyxHQUFBOEcsS0FBQSxDQUFQOUcsT0FBTztJQUNQMUQsS0FBSyxHQUFBd0ssS0FBQSxDQUFMeEssS0FBSztJQUNMMEssS0FBSyxHQUFBRixLQUFBLENBQUxFLEtBQUs7SUFDTEMsSUFBSSxHQUFBSCxLQUFBLENBQUpHLElBQUk7SUFDSjdFLE1BQU0sR0FBQTBFLEtBQUEsQ0FBTjFFLE1BQU07RUFFTixJQUFNOEUsY0FBYyxHQUFHRCxJQUFJLEtBQUsvSCxTQUFTLENBQUNpSSxhQUFhO0VBQ3ZELElBQU1DLFlBQVksR0FDaEJILElBQUksS0FBSy9ILFNBQVMsQ0FBQ21JLFdBQVcsSUFBSUosSUFBSSxLQUFLL0gsU0FBUyxDQUFDdUcsY0FBYztFQUNyRSxJQUFNNkIsUUFBUSxHQUFHQyxPQUFPLENBQUNQLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFaEwsTUFBTSxDQUFDO0VBQ3ZDLElBQU13TCxZQUFZLEdBQUdOLGNBQWMsSUFBS0UsWUFBWSxJQUFJRSxRQUFTLEdBQUcsSUFBSSxHQUFHaEwsS0FBSztFQUVoRixvQkFDRXNELEtBQUE7SUFBS3lHLFNBQVMsRUFBQyx1Q0FBdUM7SUFBQUksUUFBQSxnQkFDcEQvRyxJQUFBO01BQUsyRyxTQUFTLEVBQUMseUNBQXlDO01BQUFJLFFBQUEsRUFBRTNJO0lBQUksQ0FBTSxDQUFDLGVBQ3JFOEIsS0FBQTtNQUFLeUcsU0FBUyxFQUFDLHlDQUF5QztNQUFBSSxRQUFBLEdBQ3JEYSxRQUFRLGlCQUNQNUgsSUFBQTtRQUFLMkcsU0FBUyxFQUFDLHVDQUF1QztRQUFBSSxRQUFBLEVBQ25ETyxLQUFLLENBQUNTLEdBQUcsQ0FBQyxVQUFDNUYsSUFBUyxFQUFFNkYsS0FBYTtVQUFBLG9CQUNsQ2hJLElBQUEsQ0FBQ21HLG9CQUFvQjtZQUVuQmhFLElBQUksRUFBRUEsSUFBSztZQUNYTyxNQUFNLEVBQUVBO1VBQU8sR0FGVlAsSUFBSSxDQUFDZ0IsT0FBTyxJQUFJaEIsSUFBSSxDQUFDOEYsRUFBRSxPQUFBNUcsTUFBQSxDQUFPakQsSUFBSSxZQUFBaUQsTUFBQSxDQUFTMkcsS0FBSyxDQUd0RCxDQUFDO1FBQUEsQ0FDSDtNQUFDLENBQ0MsQ0FDTixFQUNBUixjQUFjLElBQUk1SyxLQUFLLGlCQUN0QnNELEtBQUE7UUFBS3lHLFNBQVMsRUFBQyxzQ0FBc0M7UUFBQUksUUFBQSxnQkFDbkQvRyxJQUFBO1VBQ0VrSSxLQUFLLEVBQUU7WUFBRUMsZUFBZSxFQUFFdkw7VUFBTSxDQUFFO1VBQ2xDK0osU0FBUyxFQUFDO1FBQWlCLENBQzVCLENBQUMsZUFDRjNHLElBQUE7VUFBQStHLFFBQUEsRUFBT25LO1FBQUssQ0FBTyxDQUFDO01BQUEsQ0FDakIsQ0FDTixFQUNBa0wsWUFBWSxJQUFJQSxZQUFZLEVBQzVCVCxVQUFVLElBQUksRUFBRSxFQUNoQixDQUFDTyxRQUFRLElBQUksQ0FBQ2hMLEtBQUssSUFBSSxDQUFDeUssVUFBVSxJQUFJLEdBQUc7SUFBQSxDQUN2QyxDQUFDO0VBQUEsQ0FDSCxDQUFDO0FBRVY7QUFFQSxTQUFTZSxhQUFhQSxDQUFBQyxLQUFBLEVBQThCO0VBQUEsSUFBM0IvSCxPQUFPLEdBQUErSCxLQUFBLENBQVAvSCxPQUFPO0lBQUV5RSxTQUFTLEdBQUFzRCxLQUFBLENBQVR0RCxTQUFTO0VBQ3pDLElBQUF1RCxxQkFBQSxHQUFtQjFJLHlCQUF5QixDQUFDLENBQUM7SUFBdEM4QyxNQUFNLEdBQUE0RixxQkFBQSxDQUFONUYsTUFBTTtFQUNkLElBQVE4QyxjQUFjLEdBQXdDVCxTQUFTLENBQS9EUyxjQUFjO0lBQUUrQyxjQUFjLEdBQXdCeEQsU0FBUyxDQUEvQ3dELGNBQWM7SUFBRW5FLGlCQUFpQixHQUFLVyxTQUFTLENBQS9CWCxpQkFBaUI7RUFDekQsSUFBUXFCLFNBQVMsR0FDZkQsY0FBYyxDQURSQyxTQUFTO0lBQUVkLHFCQUFxQixHQUN0Q2EsY0FBYyxDQURHYixxQkFBcUI7SUFBQTZELHFCQUFBLEdBQ3RDaEQsY0FBYyxDQUQwQjlCLE9BQU87SUFBRVcsWUFBWSxHQUFBbUUscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0VBRXBFLElBQU1DLHFCQUFxQixHQUFHbEosWUFBWSxDQUFDa0csU0FBUyxDQUFDO0VBQ3JELElBQU1pRCxnQkFBZ0IsR0FBR2pELFNBQVMsS0FBS2pHLFNBQVMsQ0FBQ21KLGVBQWU7RUFDaEUsSUFBTUMsZUFBZSxHQUFHbkQsU0FBUyxLQUFLakcsU0FBUyxDQUFDdUcsY0FBYztFQUM5RCxJQUFNckMsT0FBTyxHQUFHbUYsZ0NBQWdDLENBQzlDOUQsU0FBUyxFQUNUWCxpQkFBaUIsRUFDakJDLFlBQ0YsQ0FBQztFQUNELElBQU15RSxvQkFBb0IsR0FDeEJMLHFCQUFxQixLQUNwQlosT0FBTyxDQUFDbkUsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVwSCxNQUFNLENBQUMsSUFBS29NLGdCQUFnQixJQUFJM0QsU0FBUyxDQUFDbkksS0FBTSxDQUFDO0VBQ3JFLG9CQUNFb0QsSUFBQTtJQUFLMkcsU0FBUyxFQUFDLG1DQUFtQztJQUFBSSxRQUFBLEVBQy9DNkIsZUFBZSxnQkFDZDFJLEtBQUEsQ0FBQUUsU0FBQTtNQUFBMkcsUUFBQSxnQkFDRS9HLElBQUEsQ0FBQ21ILGlCQUFpQjtRQUNoQi9JLElBQUksRUFBRW9ILGNBQWMsQ0FBQ3BILElBQUs7UUFDMUJtSixJQUFJLEVBQUU5QixTQUFVO1FBQ2hCN0ksS0FBSyxFQUFFLElBQUs7UUFDWjBLLEtBQUssRUFBRWlCLGNBQWU7UUFDdEJqSSxPQUFPLEVBQUVBLE9BQVE7UUFDakJvQyxNQUFNLEVBQUVBLE1BQU87UUFDZjJFLFVBQVUsRUFBRXZDLG1CQUFtQixDQUM3QnhFLE9BQU8sRUFDUHlFLFNBQVMsRUFDVEoscUJBQXFCO1FBQ3JCO1FBQ0FqQixPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFFcEgsTUFBTSxHQUNYO1VBQUVnSixjQUFjLEVBQUU7UUFBSyxDQUFDLEdBQ3hCO1VBQUVGLDBCQUEwQixFQUFFO1FBQU0sQ0FDMUM7TUFBRSxDQUNILENBQUMsRUFDRDFCLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUVwSCxNQUFNLGdCQUNkMEQsSUFBQSxDQUFDK0ksd0JBQXdCO1FBQ3ZCM0ssSUFBSSxLQUFBaUQsTUFBQSxDQUFLbUUsY0FBYyxDQUFDcEgsSUFBSSxhQUFXO1FBQ3ZDcUgsU0FBUyxFQUFFQSxTQUFVO1FBQ3JCN0ksS0FBSyxFQUFFbUksU0FBUyxDQUFDbkksS0FBTTtRQUN2QjBELE9BQU8sRUFBRUEsT0FBUTtRQUNqQnVGLGVBQWUsRUFBRW5DLE9BQVE7UUFDekJxQixTQUFTLEVBQUVBLFNBQVU7UUFDckJYLGlCQUFpQixFQUFFQSxpQkFBa0I7UUFDckNDLFlBQVksRUFBRUEsWUFBYTtRQUMzQk0scUJBQXFCLEVBQUVBO01BQXNCLENBQzlDLENBQUMsR0FDQSxJQUFJO0lBQUEsQ0FDUixDQUFDLEdBQ0RtRSxvQkFBb0IsZ0JBQ3RCOUksSUFBQSxDQUFDK0ksd0JBQXdCO01BQ3ZCM0ssSUFBSSxFQUFFb0gsY0FBYyxDQUFDcEgsSUFBSztNQUMxQnFILFNBQVMsRUFBRUEsU0FBVTtNQUNyQjdJLEtBQUssRUFBRW1JLFNBQVMsQ0FBQ25JLEtBQU07TUFDdkIwRCxPQUFPLEVBQUVBLE9BQVE7TUFDakJnSCxLQUFLLEVBQUVpQixjQUFlO01BQ3RCMUMsZUFBZSxFQUFFbkMsT0FBUTtNQUN6QnFCLFNBQVMsRUFBRUEsU0FBVTtNQUNyQlgsaUJBQWlCLEVBQUVBLGlCQUFrQjtNQUNyQ0MsWUFBWSxFQUFFQSxZQUFhO01BQzNCTSxxQkFBcUIsRUFBRUE7SUFBc0IsQ0FDOUMsQ0FBQyxnQkFFRjNFLElBQUEsQ0FBQ21ILGlCQUFpQjtNQUNoQi9JLElBQUksRUFBRW9ILGNBQWMsQ0FBQ3BILElBQUs7TUFDMUJtSixJQUFJLEVBQUUvQixjQUFjLENBQUNDLFNBQVU7TUFDL0I3SSxLQUFLLEVBQ0g2SSxTQUFTLEtBQUtqRyxTQUFTLENBQUNrRyxJQUFJLElBQUlYLFNBQVMsQ0FBQ25JLEtBQUssR0FDM0M4QyxpQkFBaUIsQ0FDZnFGLFNBQVMsQ0FBQ25JLEtBQUssRUFDZitDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsUUFBUSxFQUMvQzZGLGNBQWMsQ0FBQ3dELFFBQVEsSUFBSSxJQUM3QixDQUFDLElBQUlqRSxTQUFTLENBQUNuSSxLQUFLLEdBQ3BCbUksU0FBUyxDQUFDbkksS0FDZjtNQUNEMEssS0FBSyxFQUFFaUIsY0FBZTtNQUN0QmpJLE9BQU8sRUFBRUEsT0FBUTtNQUNqQm9DLE1BQU0sRUFBRUEsTUFBTztNQUNmMkUsVUFBVSxFQUFFdkMsbUJBQW1CLENBQzdCeEUsT0FBTyxFQUNQeUUsU0FBUyxFQUNUSixxQkFBcUIsRUFDckI7UUFBRVMsMEJBQTBCLEVBQUU7TUFBTSxDQUN0QztJQUFFLENBQ0g7RUFDRixDQUNFLENBQUM7QUFFVjtBQUVBLFNBQVM2RCxrQkFBa0JBLENBQUFDLEtBQUEsRUFZeEI7RUFBQSxJQUFBQyxhQUFBO0VBQUEsSUFYRDNILE1BQU0sR0FBQTBILEtBQUEsQ0FBTjFILE1BQU07SUFDTjRDLGlCQUFpQixHQUFBOEUsS0FBQSxDQUFqQjlFLGlCQUFpQjtJQUNqQkMsWUFBWSxHQUFBNkUsS0FBQSxDQUFaN0UsWUFBWTtJQUNaL0QsT0FBTyxHQUFBNEksS0FBQSxDQUFQNUksT0FBTztJQUNQcUUscUJBQXFCLEdBQUF1RSxLQUFBLENBQXJCdkUscUJBQXFCO0VBUXJCLElBQU03QyxLQUFLLEdBQUcsQ0FBQU4sTUFBTSxhQUFOQSxNQUFNLGdCQUFBMkgsYUFBQSxHQUFOM0gsTUFBTSxDQUFFNUUsS0FBSyxjQUFBdU0sYUFBQSx1QkFBYkEsYUFBQSxDQUFldkcsSUFBSSxDQUFDLENBQUMsS0FBSSxFQUFFO0VBQ3pDLElBQU13RyxHQUFHLEdBQUdwRixtQkFBbUIsQ0FBQ3hDLE1BQU0sRUFBRTRDLGlCQUFpQixFQUFFQyxZQUFZLENBQUM7RUFDeEUsSUFBTTlELElBQUksR0FBR21FLGdCQUFnQixDQUMzQnBFLE9BQU8sRUFDUGtCLE1BQU0sRUFDTnFHLE9BQU8sQ0FBQ2xELHFCQUFxQixDQUMvQixDQUFDO0VBQ0Qsb0JBQ0V6RSxLQUFBO0lBQU15RyxTQUFTLEVBQUMsdUNBQXVDO0lBQUFJLFFBQUEsR0FDcERxQyxHQUFHLGlCQUNGcEosSUFBQTtNQUNFa0ksS0FBSyxFQUFFO1FBQUVDLGVBQWUsRUFBRWlCO01BQUksQ0FBRTtNQUNoQ3pDLFNBQVMsRUFBQztJQUFpQixDQUM1QixDQUNGLGVBQ0R6RyxLQUFBO01BQUE2RyxRQUFBLEdBQ0dqRixLQUFLLElBQUlzSCxHQUFHLElBQUksR0FBRyxFQUNuQjdJLElBQUksSUFBSSxFQUFFO0lBQUEsQ0FDUCxDQUFDO0VBQUEsQ0FDSCxDQUFDO0FBRVg7QUFFQSxTQUFTOEksaUJBQWlCQSxDQUFBQyxLQUFBLEVBWXZCO0VBQUEsSUFBQUMsY0FBQTtFQUFBLElBWEQvSCxNQUFNLEdBQUE4SCxLQUFBLENBQU45SCxNQUFNO0lBQ040QyxpQkFBaUIsR0FBQWtGLEtBQUEsQ0FBakJsRixpQkFBaUI7SUFDakJDLFlBQVksR0FBQWlGLEtBQUEsQ0FBWmpGLFlBQVk7SUFDWi9ELE9BQU8sR0FBQWdKLEtBQUEsQ0FBUGhKLE9BQU87SUFDUHFFLHFCQUFxQixHQUFBMkUsS0FBQSxDQUFyQjNFLHFCQUFxQjtFQVFyQixJQUFBNkUsc0JBQUEsR0FBbUI1Six5QkFBeUIsQ0FBQyxDQUFDO0lBQXRDOEMsTUFBTSxHQUFBOEcsc0JBQUEsQ0FBTjlHLE1BQU07RUFDZCxJQUFNK0csUUFBUSxHQUFHaEYscUJBQXFCLENBQ3BDakQsTUFBTSxFQUNONEMsaUJBQWlCLEVBQ2pCQyxZQUFZLEVBQ1ozQixNQUNGLENBQUM7RUFDRCxJQUFNWixLQUFLLEdBQUcsQ0FBQU4sTUFBTSxhQUFOQSxNQUFNLGdCQUFBK0gsY0FBQSxHQUFOL0gsTUFBTSxDQUFFNUUsS0FBSyxjQUFBMk0sY0FBQSx1QkFBYkEsY0FBQSxDQUFlM0csSUFBSSxDQUFDLENBQUMsS0FBSSxFQUFFO0VBQ3pDLElBQU1yQyxJQUFJLEdBQUdtRSxnQkFBZ0IsQ0FBQ3BFLE9BQU8sRUFBRWtCLE1BQU0sRUFBRW1ELHFCQUFxQixDQUFDO0VBQ3JFLElBQUErRSxVQUFBLEdBQXNDMUssUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBMkssVUFBQSxHQUFBbk0sY0FBQSxDQUFBa00sVUFBQTtJQUE5Q2pELFdBQVcsR0FBQWtELFVBQUE7SUFBRWpELGNBQWMsR0FBQWlELFVBQUE7RUFFbEMsb0JBQ0V6SixLQUFBO0lBQU15RyxTQUFTLEVBQUMsNkNBQTZDO0lBQUFJLFFBQUEsR0FDMUQwQyxRQUFRLElBQUksQ0FBQ2hELFdBQVcsZ0JBQ3ZCekcsSUFBQTtNQUNFMkcsU0FBUyxFQUFDLDRDQUE0QztNQUN0REssR0FBRyxFQUFFeUMsUUFBUztNQUNkeEMsR0FBRyxFQUFFbkYsS0FBSyxJQUFJLGlCQUFrQjtNQUNoQ2dGLEtBQUssRUFBRWhGLEtBQUssSUFBSThCLFNBQVU7TUFDMUJzRCxPQUFPLEVBQUUsU0FBQUEsUUFBQTtRQUFBLE9BQU1SLGNBQWMsQ0FBQyxJQUFJLENBQUM7TUFBQTtJQUFDLENBQ3JDLENBQUMsR0FDQSxJQUFJLGVBQ1J4RyxLQUFBO01BQUE2RyxRQUFBLEdBQ0dqRixLQUFLLElBQUksR0FBRyxFQUNadkIsSUFBSSxJQUFJLEVBQUU7SUFBQSxDQUNQLENBQUM7RUFBQSxDQUNILENBQUM7QUFFWDtBQUVBLFNBQVNxSixXQUFXQSxDQUFDcEksTUFBVyxFQUFFO0VBQUEsSUFBQXFJLGdCQUFBO0VBQ2hDLFFBQUFBLGdCQUFBLEdBQU9ySSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXVDLFFBQVEsY0FBQThGLGdCQUFBLGNBQUFBLGdCQUFBLEdBQUlySSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXlHLEVBQUU7QUFDdkM7QUFFQSxTQUFTNkIsc0JBQXNCQSxDQUFDbE4sS0FBVSxFQUFZO0VBQ3BELElBQUlULEtBQUssQ0FBQ0MsT0FBTyxDQUFDUSxLQUFLLENBQUMsRUFBRTtJQUN4QixPQUFPQSxLQUFLLENBQUNtTCxHQUFHLENBQUNqRSxNQUFNLENBQUMsQ0FBQ2lHLE1BQU0sQ0FBQ2xDLE9BQU8sQ0FBQztFQUMxQztFQUNBLElBQUlqTCxLQUFLLElBQUksSUFBSSxJQUFJQSxLQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRTtFQUM1QyxPQUFPa0gsTUFBTSxDQUFDbEgsS0FBSyxDQUFDLENBQ2pCb04sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUNWakMsR0FBRyxDQUFDLFVBQUNrQyxJQUFJO0lBQUEsT0FBS0EsSUFBSSxDQUFDckgsSUFBSSxDQUFDLENBQUM7RUFBQSxFQUFDLENBQzFCbUgsTUFBTSxDQUFDbEMsT0FBTyxDQUFDO0FBQ3BCO0FBRUEsU0FBU2dCLGdDQUFnQ0EsQ0FDdkM5RCxTQUFjLEVBR1A7RUFBQSxJQUFBbUYscUJBQUE7RUFBQSxJQUZQOUYsaUJBQXdCLEdBQUFULFNBQUEsQ0FBQXJILE1BQUEsUUFBQXFILFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsRUFBRTtFQUFBLElBQzdCVSxZQUFtQixHQUFBVixTQUFBLENBQUFySCxNQUFBLFFBQUFxSCxTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEVBQUU7RUFFeEIsSUFBTThCLFNBQVMsR0FBR1YsU0FBUyxhQUFUQSxTQUFTLGdCQUFBbUYscUJBQUEsR0FBVG5GLFNBQVMsQ0FBRVMsY0FBYyxjQUFBMEUscUJBQUEsdUJBQXpCQSxxQkFBQSxDQUEyQnpFLFNBQVM7RUFDdEQsSUFBSUEsU0FBUyxLQUFLakcsU0FBUyxDQUFDdUcsY0FBYyxFQUFFO0lBQzFDLE9BQU8sQ0FBQWhCLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFYyxlQUFlLEtBQUksRUFBRTtFQUN6QztFQUVBLElBQU1zRSxXQUFXLEdBQUdMLHNCQUFzQixDQUFDL0UsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVuSSxLQUFLLENBQUM7RUFDNUQsSUFBSXVOLFdBQVcsQ0FBQzdOLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDMUIsSUFBTThOLEtBQUssR0FBRyxDQUFDaEcsaUJBQWlCLEVBQUVDLFlBQVksQ0FBQztJQUMvQyxJQUFNZ0csUUFBZSxHQUFHLEVBQUU7SUFBQyxJQUFBQyxTQUFBLEdBQUF6TywwQkFBQSxDQUNWc08sV0FBVztNQUFBSSxLQUFBO0lBQUE7TUFBQSxJQUFBQyxLQUFBLFlBQUFBLE1BQUEsRUFBRTtRQUFBLElBQW5CdkMsRUFBRSxHQUFBc0MsS0FBQSxDQUFBM04sS0FBQTtRQUNYLFNBQUE2TixFQUFBLE1BQUFDLE1BQUEsR0FBbUJOLEtBQUssRUFBQUssRUFBQSxHQUFBQyxNQUFBLENBQUFwTyxNQUFBLEVBQUFtTyxFQUFBLElBQUU7VUFBckIsSUFBTUUsSUFBSSxHQUFBRCxNQUFBLENBQUFELEVBQUE7VUFDYixJQUFNRyxLQUFLLEdBQUdELElBQUksQ0FBQzlHLElBQUksQ0FBQyxVQUFDckMsTUFBVztZQUFBLE9BQUtzQyxNQUFNLENBQUM4RixXQUFXLENBQUNwSSxNQUFNLENBQUMsQ0FBQyxLQUFLeUcsRUFBRTtVQUFBLEVBQUM7VUFDNUUsSUFBSTJDLEtBQUssRUFBRTtZQUNUUCxRQUFRLENBQUN2TCxJQUFJLENBQUM4TCxLQUFLLENBQUM7WUFDcEI7VUFDRjtRQUNGO01BQ0YsQ0FBQztNQVJELEtBQUFOLFNBQUEsQ0FBQTdOLENBQUEsTUFBQThOLEtBQUEsR0FBQUQsU0FBQSxDQUFBNU4sQ0FBQSxJQUFBQyxJQUFBO1FBQUE2TixLQUFBO01BQUE7SUFRQyxTQUFBck4sR0FBQTtNQUFBbU4sU0FBQSxDQUFBek4sQ0FBQSxDQUFBTSxHQUFBO0lBQUE7TUFBQW1OLFNBQUEsQ0FBQXZOLENBQUE7SUFBQTtJQUNELElBQUlzTixRQUFRLENBQUMvTixNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQ3ZCLE9BQU8rTixRQUFRO0lBQ2pCO0VBQ0Y7RUFFQSxPQUFPLENBQUF0RixTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRWMsZUFBZSxLQUFJLEVBQUU7QUFDekM7QUFFQSxTQUFTZ0YsK0JBQStCQSxDQUN0QzlGLFNBQWMsRUFHZDtFQUFBLElBRkFYLGlCQUF3QixHQUFBVCxTQUFBLENBQUFySCxNQUFBLFFBQUFxSCxTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEVBQUU7RUFBQSxJQUM3QlUsWUFBbUIsR0FBQVYsU0FBQSxDQUFBckgsTUFBQSxRQUFBcUgsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxFQUFFO0VBRXhCLElBQU0wRyxRQUFRLEdBQUd4QixnQ0FBZ0MsQ0FDL0M5RCxTQUFTLEVBQ1RYLGlCQUFpQixFQUNqQkMsWUFDRixDQUFDO0VBQ0QsSUFBSWdHLFFBQVEsQ0FBQy9OLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDdkIsT0FBTytOLFFBQVEsQ0FBQyxDQUFDLENBQUM7RUFDcEI7RUFFQSxJQUFNUyxRQUFRLEdBQ1osQ0FBQS9GLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFbkksS0FBSyxLQUFJLElBQUksSUFBSSxDQUFBbUksU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVuSSxLQUFLLE1BQUssRUFBRSxHQUMvQ2tILE1BQU0sQ0FBQ2lCLFNBQVMsQ0FBQ25JLEtBQUssQ0FBQyxDQUFDZ0csSUFBSSxDQUFDLENBQUMsR0FDOUIsRUFBRTtFQUNSLElBQUksQ0FBQ2tJLFFBQVEsRUFBRSxPQUFPLElBQUk7RUFFMUIsSUFBTVYsS0FBSyxHQUFHLENBQUNoRyxpQkFBaUIsRUFBRUMsWUFBWSxDQUFDO0VBQy9DLFNBQUEwRyxHQUFBLE1BQUFDLE9BQUEsR0FBbUJaLEtBQUssRUFBQVcsR0FBQSxHQUFBQyxPQUFBLENBQUExTyxNQUFBLEVBQUF5TyxHQUFBLElBQUU7SUFBckIsSUFBTUosSUFBSSxHQUFBSyxPQUFBLENBQUFELEdBQUE7SUFDYixJQUFNRSxPQUFPLEdBQUdOLElBQUksQ0FBQzlHLElBQUksQ0FDdkIsVUFBQ3JDLE1BQVc7TUFBQSxJQUFBMEosY0FBQTtNQUFBLE9BQUtwSCxNQUFNLEVBQUFvSCxjQUFBLEdBQUMxSixNQUFNLENBQUM1RSxLQUFLLGNBQUFzTyxjQUFBLGNBQUFBLGNBQUEsR0FBSSxFQUFFLENBQUMsS0FBS0osUUFBUTtJQUFBLENBQzFELENBQUM7SUFDRCxJQUFJRyxPQUFPLEVBQUUsT0FBT0EsT0FBTztFQUM3QjtFQUNBLE9BQU8sSUFBSTtBQUNiO0FBRUEsU0FBU0Usd0JBQXdCQSxDQUFDQyxZQUFpQixFQUFFO0VBQ25ELElBQUksQ0FBQ0EsWUFBWSxFQUFFLE9BQU8sSUFBSTtFQUM5QixJQUFNQyxPQUFPLEdBQUd4SyxNQUFNLENBQUN1SyxZQUFZLENBQUM7RUFDcEMsSUFBSSxDQUFDdkssTUFBTSxDQUFDQyxRQUFRLENBQUN1SyxPQUFPLENBQUMsSUFBSUEsT0FBTyxJQUFJLENBQUMsRUFBRSxPQUFPLElBQUk7RUFDMUQsT0FBTyxJQUFJQyxJQUFJLENBQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQ0Usa0JBQWtCLENBQUMsT0FBTyxFQUFFO0lBQzFEQyxPQUFPLEVBQUUsTUFBTTtJQUNmQyxJQUFJLEVBQUUsU0FBUztJQUNmQyxLQUFLLEVBQUUsTUFBTTtJQUNiQyxHQUFHLEVBQUU7RUFDUCxDQUFDLENBQUM7QUFDSjtBQUVBLFNBQVNDLHFCQUFxQkEsQ0FBQUMsS0FBQSxFQVUzQjtFQUFBLElBQUFDLGNBQUEsRUFBQUMsY0FBQTtFQUFBLElBVER2SyxNQUFNLEdBQUFxSyxLQUFBLENBQU5ySyxNQUFNO0lBQ05nRSxjQUFjLEdBQUFxRyxLQUFBLENBQWRyRyxjQUFjO0lBQ2RsRixPQUFPLEdBQUF1TCxLQUFBLENBQVB2TCxPQUFPO0lBQ1BxRSxxQkFBcUIsR0FBQWtILEtBQUEsQ0FBckJsSCxxQkFBcUI7RUFPckIsSUFBTXFILElBQUksR0FBR0MsUUFBUSxDQUFDbkksTUFBTSxFQUFBZ0ksY0FBQSxHQUFDdEssTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUU1RSxLQUFLLGNBQUFrUCxjQUFBLGNBQUFBLGNBQUEsR0FBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0VBQzNELElBQU1JLFFBQVEsR0FBR2Ysd0JBQXdCLENBQUMzSixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRTRKLFlBQVksQ0FBQztFQUMvRCxJQUFNZSxvQkFBb0IsR0FBR3RFLE9BQU8sQ0FBQ3JDLGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFMkcsb0JBQW9CLENBQUM7RUFDMUUsSUFBTUMsYUFBYSxHQUFHRCxvQkFBb0IsR0FBRyxhQUFhLEdBQUcsYUFBYTtFQUMxRSxJQUFNNUwsSUFBSSxHQUFHbUUsZ0JBQWdCLENBQUNwRSxPQUFPLEVBQUVrQixNQUFNLEVBQUVtRCxxQkFBcUIsQ0FBQztFQUVyRSxvQkFDRXpFLEtBQUE7SUFBTXlHLFNBQVMsRUFBQywwQ0FBMEM7SUFBQUksUUFBQSxnQkFDeEQvRyxJQUFBO01BQU0yRyxTQUFTLEVBQUMseUNBQXlDO01BQUFJLFFBQUEsRUFDdERpRixJQUFJLEdBQUcsQ0FBQyxNQUFBM0ssTUFBQSxDQUNGMkssSUFBSSxtQkFBQTNLLE1BQUEsQ0FBZ0IySyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQzNDLENBQUF4SyxNQUFNLGFBQU5BLE1BQU0sZ0JBQUF1SyxjQUFBLEdBQU52SyxNQUFNLENBQUU1RSxLQUFLLGNBQUFtUCxjQUFBLHVCQUFiQSxjQUFBLENBQWVuSixJQUFJLENBQUMsQ0FBQyxLQUFJO0lBQUksQ0FDOUIsQ0FBQyxFQUNOc0osUUFBUSxpQkFDUGhNLEtBQUE7TUFBTXlHLFNBQVMsRUFBQyw2Q0FBNkM7TUFBQUksUUFBQSxHQUMxRHFGLGFBQWEsRUFBQyxHQUFDLEVBQUNGLFFBQVE7SUFBQSxDQUNyQixDQUNQLEVBQ0EzTCxJQUFJLElBQUksRUFBRTtFQUFBLENBQ1AsQ0FBQztBQUVYO0FBRUEsU0FBU3dJLHdCQUF3QkEsQ0FBQXNELEtBQUEsRUFTekI7RUFBQSxJQUFBQyxzQkFBQTtFQUFBLElBUk5sTyxJQUFJLEdBQUFpTyxLQUFBLENBQUpqTyxJQUFJO0lBQ0p5SCxlQUFlLEdBQUF3RyxLQUFBLENBQWZ4RyxlQUFlO0lBQ2ZsQixxQkFBcUIsR0FBQTBILEtBQUEsQ0FBckIxSCxxQkFBcUI7SUFDckJyRSxPQUFPLEdBQUErTCxLQUFBLENBQVAvTCxPQUFPO0lBQ1BtRixTQUFTLEdBQUE0RyxLQUFBLENBQVQ1RyxTQUFTO0lBQ1RWLFNBQVMsR0FBQXNILEtBQUEsQ0FBVHRILFNBQVM7SUFBQXdILHFCQUFBLEdBQUFGLEtBQUEsQ0FDVGpJLGlCQUFpQjtJQUFqQkEsaUJBQWlCLEdBQUFtSSxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7SUFBQUMsa0JBQUEsR0FBQUgsS0FBQSxDQUN0QmhJLFlBQVk7SUFBWkEsWUFBWSxHQUFBbUksa0JBQUEsY0FBRyxFQUFFLEdBQUFBLGtCQUFBO0VBRWpCLElBQU05RCxnQkFBZ0IsR0FBR2pELFNBQVMsS0FBS2pHLFNBQVMsQ0FBQ21KLGVBQWU7RUFDaEUsSUFBTThELFdBQVcsR0FBRy9ELGdCQUFnQixHQUNoQ21DLCtCQUErQixDQUM3QjtJQUFFaEYsZUFBZSxFQUFmQSxlQUFlO0lBQUVqSixLQUFLLEVBQUVtSSxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRW5JO0VBQU0sQ0FBQyxFQUM1Q3dILGlCQUFpQixFQUNqQkMsWUFDRixDQUFDLEdBQ0R3QixlQUFlLENBQUMsQ0FBQyxDQUFDO0VBQ3RCLElBQU02RyxjQUFjLEdBQ2xCakgsU0FBUyxLQUFLakcsU0FBUyxDQUFDbU4sYUFBYSxJQUNyQ2xILFNBQVMsS0FBS2pHLFNBQVMsQ0FBQ3VHLGNBQWM7RUFDeEMsSUFBTTZHLGFBQWEsR0FBR25ILFNBQVMsS0FBS2pHLFNBQVMsQ0FBQ3FOLFlBQVk7RUFDMUQsSUFBTXJILGNBQWMsSUFBQThHLHNCQUFBLEdBQUd2SCxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRVMsY0FBYyxjQUFBOEcsc0JBQUEsY0FBQUEsc0JBQUEsR0FBSSxDQUFDLENBQUM7RUFFdEQsU0FBU1EsaUJBQWlCQSxDQUFDaFIsQ0FBTSxFQUFFO0lBQUEsSUFBQWlSLFFBQUE7SUFDakMsSUFBSXJFLGdCQUFnQixFQUFFO01BQ3BCLG9CQUNFMUksSUFBQSxDQUFDNEwscUJBQXFCO1FBQ3BCcEssTUFBTSxFQUFFMUYsQ0FBRTtRQUNWMEosY0FBYyxFQUFFQSxjQUFlO1FBQy9CbEYsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCcUUscUJBQXFCLEVBQUVBO01BQXNCLENBQzlDLENBQUM7SUFFTjtJQUNBLElBQUkrSCxjQUFjLEVBQUU7TUFDbEIsb0JBQ0UxTSxJQUFBLENBQUNpSixrQkFBa0I7UUFDakJ6SCxNQUFNLEVBQUUxRixDQUFFO1FBQ1ZzSSxpQkFBaUIsRUFBRUEsaUJBQWtCO1FBQ3JDQyxZQUFZLEVBQUVBLFlBQWE7UUFDM0IvRCxPQUFPLEVBQUVBLE9BQVE7UUFDakJxRSxxQkFBcUIsRUFBRUE7TUFBc0IsQ0FDOUMsQ0FBQztJQUVOO0lBQ0EsSUFBSWlJLGFBQWEsRUFBRTtNQUNqQixvQkFDRTVNLElBQUEsQ0FBQ3FKLGlCQUFpQjtRQUNoQjdILE1BQU0sRUFBRTFGLENBQUU7UUFDVnNJLGlCQUFpQixFQUFFQSxpQkFBa0I7UUFDckNDLFlBQVksRUFBRUEsWUFBYTtRQUMzQi9ELE9BQU8sRUFBRUEsT0FBUTtRQUNqQnFFLHFCQUFxQixFQUFFQTtNQUFzQixDQUM5QyxDQUFDO0lBRU47SUFDQSxvQkFDRXpFLEtBQUEsQ0FBQUUsU0FBQTtNQUFBMkcsUUFBQSxHQUNHLEVBQUFnRyxRQUFBLEdBQUFqUixDQUFDLENBQUNjLEtBQUssY0FBQW1RLFFBQUEsdUJBQVBBLFFBQUEsQ0FBU25LLElBQUksQ0FBQyxDQUFDLEtBQUksR0FBRyxFQUN0QjhCLGdCQUFnQixDQUFDcEUsT0FBTyxFQUFFeEUsQ0FBQyxFQUFFNkkscUJBQXFCLENBQUMsSUFBSSxFQUFFO0lBQUEsQ0FDMUQsQ0FBQztFQUVQO0VBRUEsb0JBQ0UzRSxJQUFBLENBQUFJLFNBQUE7SUFBQTJHLFFBQUEsRUFDR2xCLGVBQWUsQ0FBQ3ZKLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQ29NLGdCQUFnQixnQkFDOUN4SSxLQUFBO01BQUt5RyxTQUFTLEVBQUMsdUNBQXVDO01BQUFJLFFBQUEsZ0JBQ3BEL0csSUFBQTtRQUFLMkcsU0FBUyxFQUFDLHlDQUF5QztRQUFBSSxRQUFBLEVBQUUzSTtNQUFJLENBQU0sQ0FBQyxlQUNyRTRCLElBQUE7UUFBSTJHLFNBQVMsRUFBQywyREFBMkQ7UUFBQUksUUFBQSxFQUN0RWxCLGVBQWUsQ0FBQ2tDLEdBQUcsQ0FBQyxVQUFDak0sQ0FBTSxFQUFFUyxDQUFTO1VBQUEsSUFBQXlRLFdBQUE7VUFBQSxvQkFDckNoTixJQUFBO1lBQUErRyxRQUFBLEVBQ0crRixpQkFBaUIsQ0FBQ2hSLENBQUM7VUFBQyxNQUFBdUYsTUFBQSxDQURYOUUsQ0FBQyxrQkFBQThFLE1BQUEsRUFBQTJMLFdBQUEsR0FBZWxSLENBQUMsQ0FBQ2lJLFFBQVEsY0FBQWlKLFdBQUEsY0FBQUEsV0FBQSxHQUFJelEsQ0FBQyxDQUV2QyxDQUFDO1FBQUEsQ0FDTjtNQUFDLENBQ0EsQ0FBQztJQUFBLENBQ0YsQ0FBQyxHQUNKa1EsV0FBVyxnQkFDYnZNLEtBQUE7TUFBS3lHLFNBQVMsRUFBQyx1Q0FBdUM7TUFBQUksUUFBQSxnQkFDcEQvRyxJQUFBO1FBQUsyRyxTQUFTLEVBQUMseUNBQXlDO1FBQUFJLFFBQUEsRUFBRTNJO01BQUksQ0FBTSxDQUFDLGVBQ3JFNEIsSUFBQTtRQUFLMkcsU0FBUyxFQUFDLHlDQUF5QztRQUFBSSxRQUFBLEVBQ3JEK0YsaUJBQWlCLENBQUNMLFdBQVc7TUFBQyxDQUM1QixDQUFDO0lBQUEsQ0FDSCxDQUFDLGdCQUVOdk0sS0FBQTtNQUFLeUcsU0FBUyxFQUFDLHVDQUF1QztNQUFBSSxRQUFBLGdCQUNwRC9HLElBQUE7UUFBSzJHLFNBQVMsRUFBQyx5Q0FBeUM7UUFBQUksUUFBQSxFQUFFM0k7TUFBSSxDQUFNLENBQUMsZUFDckU0QixJQUFBO1FBQUsyRyxTQUFTLEVBQUMseUNBQXlDO1FBQUFJLFFBQUEsRUFBQztNQUFDLENBQUssQ0FBQztJQUFBLENBQzdEO0VBQ04sQ0FDRCxDQUFDO0FBRVA7QUFFQSxTQUFTa0csY0FBY0EsQ0FBQUMsS0FBQSxFQUE4QztFQUFBLElBQTNDNU0sT0FBTyxHQUFBNE0sS0FBQSxDQUFQNU0sT0FBTztJQUFFNk0sUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7SUFBQUMsZ0JBQUEsR0FBQUYsS0FBQSxDQUFFRyxVQUFVO0lBQVZBLFVBQVUsR0FBQUQsZ0JBQUEsY0FBRyxFQUFFLEdBQUFBLGdCQUFBO0VBQzFELG9CQUNFcE4sSUFBQTtJQUFLMkcsU0FBUyxFQUFDLG9DQUFvQztJQUFBSSxRQUFBLEVBQ2hEc0csVUFBVSxDQUFDdEYsR0FBRyxDQUFDLFVBQUN1RixDQUFNLEVBQUUvUSxDQUFTO01BQUEsT0FDaEMsQ0FBQzhDLGtCQUFrQixDQUFDaU8sQ0FBQyxDQUFDOUgsY0FBYyxDQUFDQyxTQUFTLENBQUMsZ0JBQzdDekYsSUFBQSxDQUFDb0ksYUFBYTtRQUNaK0UsUUFBUSxFQUFFQSxRQUFTO1FBQ25CcEksU0FBUyxFQUFFdUksQ0FBRTtRQUNiaE4sT0FBTyxFQUFFQTtNQUFRLEdBQ1ovRCxDQUNOLENBQUMsR0FDQSxJQUFJO0lBQUEsQ0FDVjtFQUFDLENBQ0UsQ0FBQztBQUVWO0FBRUEsU0FBU2dSLGtCQUFrQkEsQ0FBQUMsTUFBQSxFQUtuQjtFQUFBLElBSk5DLEtBQUssR0FBQUQsTUFBQSxDQUFMQyxLQUFLO0lBQ0x6RixLQUFLLEdBQUF3RixNQUFBLENBQUx4RixLQUFLO0lBQ0wxSCxPQUFPLEdBQUFrTixNQUFBLENBQVBsTixPQUFPO0lBQ1BvTixvQkFBb0IsR0FBQUYsTUFBQSxDQUFwQkUsb0JBQW9CO0VBRXBCLElBQU1DLFFBQVEsR0FBR3JPLG9CQUFvQixDQUFDZ0IsT0FBTyxDQUFDO0VBQzlDLElBQVE2TSxRQUFRLEdBQWlCTSxLQUFLLENBQTlCTixRQUFRO0lBQUVFLFVBQVUsR0FBS0ksS0FBSyxDQUFwQkosVUFBVTtFQUM1QixJQUFNTyxpQkFBaUIsR0FBRyxDQUFDUCxVQUFVLGFBQVZBLFVBQVUsY0FBVkEsVUFBVSxHQUFJLEVBQUUsRUFBRXRELE1BQU0sQ0FDakQsVUFBQ3VELENBQU07SUFBQSxJQUFBTyxpQkFBQTtJQUFBLE9BQUssQ0FBQ3hPLGtCQUFrQixDQUFDaU8sQ0FBQyxhQUFEQSxDQUFDLGdCQUFBTyxpQkFBQSxHQUFEUCxDQUFDLENBQUU5SCxjQUFjLGNBQUFxSSxpQkFBQSx1QkFBakJBLGlCQUFBLENBQW1CcEksU0FBUyxDQUFDO0VBQUEsQ0FDL0QsQ0FBQztFQUNELElBQU1xSSxTQUFTLEdBQUdILFFBQVEsR0FBRyxXQUFXLEdBQUcsWUFBWTtFQUN2RCxJQUFNSSxjQUFjLEdBQUdMLG9CQUFvQixHQUN2QzFMLHdCQUF3QixDQUFDMUIsT0FBTyxDQUFDLEdBQ2pDRCxVQUFVLENBQUNDLE9BQU8sRUFBRU8sTUFBTSxDQUFDUCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRTJCLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztFQUV4RCxvQkFDRS9CLEtBQUE7SUFBU3lHLFNBQVMsRUFBQywrQkFBK0I7SUFBQUksUUFBQSxnQkFDaEQ3RyxLQUFBO01BQVF5RyxTQUFTLEVBQUMsNENBQTRDO01BQUFJLFFBQUEsR0FBQyxRQUN2RCxFQUFDaUIsS0FBSyxHQUFHLENBQUMsRUFBQyxjQUNuQjtJQUFBLENBQVEsQ0FBQyxFQUNSLENBQUMyRixRQUFRLElBQUlSLFFBQVEsR0FBRyxDQUFDLGlCQUN4Qm5OLElBQUEsQ0FBQ0YsZUFBZTtNQUFDZ0MsS0FBSyxFQUFDLFVBQVU7TUFBQ2xGLEtBQUssRUFBRXVRO0lBQVMsQ0FBRSxDQUNyRCxlQUNEbk4sSUFBQSxDQUFDRixlQUFlO01BQUNnQyxLQUFLLEVBQUMsWUFBWTtNQUFDbEYsS0FBSyxFQUFFbVI7SUFBZSxDQUFFLENBQUMsRUFDNURILGlCQUFpQixDQUFDdFIsTUFBTSxHQUFHLENBQUMsaUJBQzNCMEQsSUFBQSxDQUFDaU4sY0FBYztNQUNiRSxRQUFRLEVBQUVBLFFBQVM7TUFDbkJFLFVBQVUsRUFBRUEsVUFBVztNQUN2Qi9NLE9BQU8sRUFBRUE7SUFBUSxDQUNsQixDQUNGLGVBQ0RKLEtBQUE7TUFBUXlHLFNBQVMsRUFBQyxvQ0FBb0M7TUFBQUksUUFBQSxHQUNuRCtHLFNBQVMsRUFBQyxJQUFFLEVBQUN6TixVQUFVLENBQUNDLE9BQU8sRUFBRW1OLEtBQUssQ0FBQ08sU0FBUyxDQUFDO0lBQUEsQ0FDNUMsQ0FBQztFQUFBLENBQ0YsQ0FBQztBQUVkO0FBRUEsZUFBZSxTQUFTQyxjQUFjQSxDQUFBLEVBQUc7RUFDdkMsSUFBQUMsc0JBQUEsR0FBZ0J0Tyx5QkFBeUIsQ0FBQyxDQUFDO0lBQW5DdU8sR0FBRyxHQUFBRCxzQkFBQSxDQUFIQyxHQUFHO0VBQ1gsSUFBUTdOLE9BQU8sR0FBMkQ2TixHQUFHLENBQXJFN04sT0FBTztJQUFBOE4sYUFBQSxHQUEyREQsR0FBRyxDQUE1RGhCLFFBQVE7SUFBUkEsUUFBUSxHQUFBaUIsYUFBQSxjQUFHLENBQUMsR0FBQUEsYUFBQTtJQUFBQyxlQUFBLEdBQTZDRixHQUFHLENBQTlDZCxVQUFVO0lBQVZBLFVBQVUsR0FBQWdCLGVBQUEsY0FBRyxFQUFFLEdBQUFBLGVBQUE7SUFBQUMscUJBQUEsR0FBNEJILEdBQUcsQ0FBN0JJLGdCQUFnQjtJQUFoQkEsZ0JBQWdCLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtFQUNyRSxJQUFRRSxhQUFhLEdBQUtsTyxPQUFPLENBQXpCa08sYUFBYTtFQUNyQixJQUFNM0osU0FBUyxHQUFHekYsMkJBQTJCLENBQUMrTyxHQUFHLENBQUM7RUFDbEQsSUFBTVIsUUFBUSxHQUFHck8sb0JBQW9CLENBQUNnQixPQUFPLENBQUM7RUFDOUMsSUFBTW1PLFNBQVMsR0FBR0YsZ0JBQWdCLENBQUNqUyxNQUFNLEdBQUcsQ0FBQztFQUM3QyxJQUFNb1Msa0JBQWtCLEdBQUcsQ0FBQ3JCLFVBQVUsYUFBVkEsVUFBVSxjQUFWQSxVQUFVLEdBQUksRUFBRSxFQUFFdEQsTUFBTSxDQUNsRCxVQUFDdUQsQ0FBTTtJQUFBLElBQUFxQixrQkFBQTtJQUFBLE9BQUssQ0FBQ3RQLGtCQUFrQixDQUFDaU8sQ0FBQyxhQUFEQSxDQUFDLGdCQUFBcUIsa0JBQUEsR0FBRHJCLENBQUMsQ0FBRTlILGNBQWMsY0FBQW1KLGtCQUFBLHVCQUFqQkEsa0JBQUEsQ0FBbUJsSixTQUFTLENBQUM7RUFBQSxDQUMvRCxDQUFDO0VBQ0QsSUFBTW1KLGFBQWEsR0FBR0gsU0FBUyxHQUMzQkYsZ0JBQWdCLENBQUN0SSxNQUFNLENBQ3JCLFVBQUNDLEdBQVcsRUFBRTJJLENBQU07SUFBQSxPQUFLM0ksR0FBRyxJQUFJckYsTUFBTSxDQUFDZ08sQ0FBQyxDQUFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0VBQUEsR0FDeEQsQ0FDRixDQUFDLEdBQ0R0TSxNQUFNLENBQUNzTSxRQUFRLENBQUMsSUFBSSxDQUFDO0VBQ3pCLElBQU1wTCxhQUFhLEdBQUc4RixPQUFPLENBQUN2SCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRXlCLGFBQWEsQ0FBQztFQUNyRCxJQUFNK00sYUFBYSxHQUFHak8sTUFBTSxDQUFDUCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRXVCLFVBQVUsQ0FBQyxHQUFHLENBQUM7RUFFckQsb0JBQ0UzQixLQUFBO0lBQUt5RyxTQUFTLEVBQUMsZ0VBQWdFO0lBQUFJLFFBQUEsZ0JBQzdFL0csSUFBQTtNQUFLMkcsU0FBUyxFQUFDLHVDQUF1QztNQUFBSSxRQUFBLEVBQUV6RyxPQUFPLENBQUNsQztJQUFJLENBQU0sQ0FBQyxFQUMxRXFRLFNBQVMsaUJBQ1J6TyxJQUFBO01BQUsyRyxTQUFTLEVBQUMsZ0NBQWdDO01BQUFJLFFBQUEsRUFDNUN3SCxnQkFBZ0IsQ0FBQ3hHLEdBQUcsQ0FBQyxVQUFDOEcsQ0FBTSxFQUFFdFMsQ0FBUztRQUFBLE9BQ3RDc1MsQ0FBQyxDQUFDMUIsUUFBUSxnQkFDUm5OLElBQUEsQ0FBQ3VOLGtCQUFrQjtVQUNqQkUsS0FBSyxFQUFFb0IsQ0FBRTtVQUVUN0csS0FBSyxFQUFFekwsQ0FBRTtVQUNUK0QsT0FBTyxFQUFFQSxPQUFRO1VBQ2pCb04sb0JBQW9CLEVBQUUzTDtRQUFjLE1BQUFWLE1BQUEsQ0FINUI5RSxDQUFDLHNCQUlWLENBQUMsR0FDQSxJQUFJO01BQUEsQ0FDVjtJQUFDLENBQ0UsQ0FDTixFQUNBLENBQUNrUyxTQUFTLGlCQUNUdk8sS0FBQTtNQUFLeUcsU0FBUyxFQUFDLG9DQUFvQztNQUFBSSxRQUFBLGdCQUNqRC9HLElBQUE7UUFBUTJHLFNBQVMsRUFBQyw0Q0FBNEM7UUFBQUksUUFBQSxFQUFDO01BRS9ELENBQVEsQ0FBQyxFQUNSb0csUUFBUSxHQUFHLENBQUMsaUJBQ1huTixJQUFBLENBQUNGLGVBQWU7UUFBQ2dDLEtBQUssRUFBQyxVQUFVO1FBQUNsRixLQUFLLEVBQUV1UTtNQUFTLENBQUUsQ0FDckQsZUFDRG5OLElBQUEsQ0FBQ0YsZUFBZTtRQUNkZ0MsS0FBSyxFQUFDLFlBQVk7UUFDbEJsRixLQUFLLEVBQUVvRix3QkFBd0IsQ0FBQzFCLE9BQU87TUFBRSxDQUMxQyxDQUFDLEVBQ0RvTyxrQkFBa0IsQ0FBQ3BTLE1BQU0sR0FBRyxDQUFDLGlCQUM1QjBELElBQUEsQ0FBQ2lOLGNBQWM7UUFDYkUsUUFBUSxFQUFFQSxRQUFTO1FBQ25CRSxVQUFVLEVBQUVBLFVBQVc7UUFDdkIvTSxPQUFPLEVBQUVBO01BQVEsQ0FDbEIsQ0FDRjtJQUFBLENBQ0UsQ0FDTixFQUNBbU8sU0FBUyxJQUFJQyxrQkFBa0IsQ0FBQ3BTLE1BQU0sR0FBRyxDQUFDLGlCQUN6QzRELEtBQUE7TUFBS3lHLFNBQVMsRUFBQyxvQ0FBb0M7TUFBQUksUUFBQSxnQkFDakQvRyxJQUFBO1FBQVEyRyxTQUFTLEVBQUMsNENBQTRDO1FBQUFJLFFBQUEsRUFBQztNQUUvRCxDQUFRLENBQUMsZUFDVC9HLElBQUEsQ0FBQ2lOLGNBQWM7UUFDYkUsUUFBUSxFQUFFQSxRQUFTO1FBQ25CRSxVQUFVLEVBQUVBLFVBQVc7UUFDdkIvTSxPQUFPLEVBQUVBO01BQVEsQ0FDbEIsQ0FBQztJQUFBLENBQ0MsQ0FDTixFQUNBLENBQUNxTixRQUFRLGlCQUNSek4sS0FBQTtNQUFLeUcsU0FBUyxFQUFDLCtCQUErQjtNQUFBSSxRQUFBLEdBQzNDNkgsYUFBYSxHQUFHLENBQUMsaUJBQ2hCNU8sSUFBQSxDQUFDSCxnQkFBZ0I7UUFDZjhHLFNBQVMsRUFBQyx3Q0FBd0M7UUFDbEQ3RSxLQUFLLEVBQUMsZ0JBQWdCO1FBQ3RCbkIsTUFBTSxFQUFFaU87TUFBYyxDQUN2QixDQUNGLEVBQ0FILFNBQVMsSUFBSUssYUFBYSxJQUFJLENBQUMvTSxhQUFhLGlCQUMzQy9CLElBQUEsQ0FBQ0gsZ0JBQWdCO1FBQ2ZpQyxLQUFLLEVBQUMsT0FBTztRQUNibkIsTUFBTSxFQUFFTixVQUFVLENBQUNDLE9BQU8sRUFBRU8sTUFBTSxDQUFDUCxPQUFPLENBQUN1QixVQUFVLENBQUM7TUFBRSxDQUN6RCxDQUNGLGVBQ0Q3QixJQUFBLENBQUNILGdCQUFnQjtRQUNmaUMsS0FBSyxFQUFDLGtCQUFrQjtRQUN4QmlOLFVBQVUsRUFDUlAsYUFBYSxnQkFDWHhPLElBQUE7VUFBTzJHLFNBQVMsRUFBQyxvQ0FBb0M7VUFBQUksUUFBQSxFQUFDO1FBQVksQ0FBTyxDQUFDLEdBQ3hFbkQsU0FDTDtRQUNEakQsTUFBTSxFQUFFa0U7TUFBVSxDQUNuQixDQUFDO0lBQUEsQ0FDQyxDQUNOLEVBQ0EsQ0FBQyxFQUFFOEksUUFBUSxJQUFJLENBQUNjLFNBQVMsQ0FBQyxpQkFDekJ2TyxLQUFBO01BQUE2RyxRQUFBLGdCQUNFN0csS0FBQTtRQUFReUcsU0FBUyxFQUFDLE1BQU07UUFBQUksUUFBQSxHQUNyQjRHLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxPQUFPLEVBQUMsT0FDM0M7TUFBQSxDQUFRLENBQUMsRUFBQyxHQUFHLGVBQ2IzTixJQUFBO1FBQVEyRyxTQUFTLEVBQUMsY0FBYztRQUFBSSxRQUFBLEVBQUVsQztNQUFTLENBQVMsQ0FBQztJQUFBLENBQ2xELENBQ047RUFBQSxDQUNFLENBQUM7QUFFViJ9
|
|
730
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJpIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZSIsIl9lIiwiZiIsIlR5cGVFcnJvciIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJjYWxsIiwic3RlcCIsIm5leHQiLCJfZTIiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImxlbiIsImFycjIiLCJyIiwibCIsInQiLCJ1IiwiYSIsInB1c2giLCJSZWFjdCIsInVzZVN0YXRlIiwiRmFGaWxlUGRmIiwiRmFSZWdJbWFnZSIsImZvcm1hdEN1cnJlbmN5IiwiY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiaXNQcm9kdWN0U3VwcGxpZXJNT0QiLCJpc1NlbGVjdGFibGUiLCJGaWVsZFR5cGUiLCJlc3RpbWF0ZUFyZWFDb3N0cyIsImZvcm1hdEFyZWFTdW1tYXJ5IiwibG9jYWxlUHJlZmVyc0ltcGVyaWFsIiwidXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCIsIlN1bW1hcnlBbW91bnRSb3ciLCJTdW1tYXJ5RmllbGRSb3ciLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJmb3JtYXRDb3N0IiwicHJvZHVjdCIsImNvc3QiLCJjdXJyZW5jeSIsInNob3dDb2RlSWZOb1N5bWJvbCIsInBhcnNlQ29zdEFtb3VudCIsImFtb3VudCIsInBhcnNlRmxvYXQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbCIsIm9uY2VPZmZDb3N0IiwidW5pdENvc3QiLCJwYXJ0cyIsIm9uY2VPZmYiLCJ1bml0IiwiY29uY2F0Iiwiam9pbiIsIm9wdGlvbk9uY2VPZmYiLCJvcHRpb24iLCJ2YXJpYXRpb25Db3N0Iiwib3B0aW9uVW5pdCIsInZhcmlhdGlvblVuaXRDb3N0IiwicHJvZHVjdFNldHVwU3VmZml4Iiwic2V0dXBQcmljZSIsImxhYmVsIiwic2V0dXBQZXJHcm91cCIsImZvcm1hdFVuaXRQcmljZVdpdGhTZXR1cCIsInVuaXRQcmljZSIsImlzUGRmIiwiZmlsZSIsIm1pbWV0eXBlIiwiaXNJbWFnZUZpbGUiLCJzdGFydHNXaXRoIiwidG9Mb3dlckNhc2UiLCJhYnNvbHV0aXplRmlsZVVybCIsInJhdyIsInVybEFwaSIsInVybCIsInRyaW0iLCJiYXNlIiwiVVJMIiwib3JpZ2luIiwiaHJlZiIsIl91bnVzZWQiLCJyZXNvbHZlRmlsZVVybCIsInZpZXdVcmwiLCJkb3dubG9hZFVybCIsIm9wdGlvbkltYWdlVXJsIiwiX29wdGlvbiRsaW5rZWRGaWxlIiwiX29wdGlvbiRsaW5rZWRGaWxlMiIsImxpbmtlZEZpbGUiLCJmaW5kTWF0Y2hpbmdPcHRpb24iLCJvcHRpb25zIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiZmluZCIsIlN0cmluZyIsIm9wdGlvbklkIiwicmVzb2x2ZU9wdGlvbkNvbG91ciIsIl9vcHRpb24kY29sb3VyIiwiX2ZpbmRNYXRjaGluZ09wdGlvbiIsIl9maW5kTWF0Y2hpbmdPcHRpb24yIiwic2VsZWN0YWJsZU9wdGlvbnMiLCJmaWVsZE9wdGlvbnMiLCJkaXJlY3QiLCJjb2xvdXIiLCJmcm9tU2VsZWN0YWJsZSIsInJlc29sdmVPcHRpb25JbWFnZVVybCIsImZvcm1hdE9wdGlvbkNvc3QiLCJzZWxsZXJQcm9kdWN0RWRpdGFibGUiLCJvbmNlT2ZmVW5pdCIsInRvdGFsQ29zdCIsInZhcmlhdGlvbkNvc3REZXRhaWwiLCJ2YXJpYXRpb24iLCJfdmFyaWF0aW9uJG9uY2VPZmZDb3MiLCJfdmFyaWF0aW9uJHVuaXRDb3N0IiwiX3JlZiIsIl9yZWYkaW5jbHVkZVNlbGVjdGVkTyIsImluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzIiwiX3JlZiRmaWVsZENvc3RzT25seSIsImZpZWxkQ29zdHNPbmx5IiwiZmllbGQiLCJ2YXJpYXRpb25GaWVsZCIsImZpZWxkVHlwZSIsIkFSRUEiLCJhcmVhQ29zdHMiLCJzZWxlY3RlZCIsInNlbGVjdGVkT3B0aW9ucyIsImZpZWxkT25jZSIsIkNPTE9VUl9FWFRSQUNUIiwiZmllbGRVbml0IiwicmVkdWNlIiwic3VtIiwiVmFyaWF0aW9uRmlsZVByZXZpZXciLCJfcmVmMiIsImZpbGVVcmwiLCJmaWxlTmFtZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpbWFnZUZhaWxlZCIsInNldEltYWdlRmFpbGVkIiwiY2xhc3NOYW1lIiwidGFyZ2V0IiwicmVsIiwidGl0bGUiLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsIm9uRXJyb3IiLCJWYXJpYXRpb25JbmZvQm9keSIsIl9yZWYzIiwiY29zdERldGFpbCIsImZpbGVzIiwidHlwZSIsImlzQ29sb3VyUGlja2VyIiwiQ09MT1VSX1BJQ0tFUiIsImlzRmlsZVVwbG9hZCIsIkZJTEVfVVBMT0FEIiwiaGFzRmlsZXMiLCJCb29sZWFuIiwiZGlzcGxheVZhbHVlIiwibWFwIiwiaW5kZXgiLCJpZCIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiVmFyaWF0aW9uSW5mbyIsIl9yZWY0IiwiX3VzZU1lcmNoaUNoZWNrYm91dENvIiwidmFyaWF0aW9uRmlsZXMiLCJfdmFyaWF0aW9uRmllbGQkb3B0aW8iLCJpc1ZhcmlhdGlvblNlbGVjdGFibGUiLCJpc1R1cm5hcm91bmRUaW1lIiwiVFVSTkFST1VORF9USU1FIiwiaXNDb2xvdXJFeHRyYWN0IiwicmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMiLCJ1c2VTZWxlY3RhYmxlRGlzcGxheSIsIlZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keSIsImFyZWFVbml0IiwiQ29sb3VyU2VsZWN0T3B0aW9uIiwiX3JlZjUiLCJfb3B0aW9uJHZhbHVlIiwiaGV4IiwiSW1hZ2VTZWxlY3RPcHRpb24iLCJfcmVmNiIsIl9vcHRpb24kdmFsdWUyIiwiX3VzZU1lcmNoaUNoZWNrYm91dENvMiIsImltYWdlVXJsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJnZXRPcHRpb25JZCIsIl9vcHRpb24kb3B0aW9uSWQiLCJzcGxpdFNlbGVjdGVkT3B0aW9uSWRzIiwiZmlsdGVyIiwic3BsaXQiLCJwYXJ0IiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwic2VsZWN0ZWRJZHMiLCJwb29scyIsInJlc29sdmVkIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfbG9vcCIsIl9pIiwiX3Bvb2xzIiwicG9vbCIsIm1hdGNoIiwicmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbiIsInZhbHVlU3RyIiwiX2kyIiwiX3Bvb2xzMiIsImJ5VmFsdWUiLCJfb3B0aW9uJHZhbHVlMyIsImZvcm1hdFR1cm5hcm91bmREZWFkbGluZSIsInVzZXJEZWFkbGluZSIsInNlY29uZHMiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwid2Vla2RheSIsInllYXIiLCJtb250aCIsImRheSIsIlR1cm5hcm91bmRPcHRpb25MYWJlbCIsIl9yZWY3IiwiX29wdGlvbiR2YWx1ZTQiLCJfb3B0aW9uJHZhbHVlNSIsImRheXMiLCJwYXJzZUludCIsImRlYWRsaW5lIiwic2hpcHBpbmdUaW1lSW5jbHVkZWQiLCJkZWFkbGluZUxhYmVsIiwiX3JlZjgiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYyIiwiX3JlZjgkc2VsZWN0YWJsZU9wdGlvIiwiX3JlZjgkZmllbGRPcHRpb25zIiwiZmlyc3RPcHRpb24iLCJpc0NvbG91clNlbGVjdCIsIkNPTE9VUl9TRUxFQ1QiLCJpc0ltYWdlU2VsZWN0IiwiSU1BR0VfU0VMRUNUIiwicmVuZGVyT3B0aW9uTGFiZWwiLCJfbyR2YWx1ZSIsIl9vJG9wdGlvbklkIiwiVmFyaWF0aW9uc0luZm8iLCJfcmVmOSIsInF1YW50aXR5IiwiX3JlZjkkdmFyaWF0aW9ucyIsInZhcmlhdGlvbnMiLCJ2IiwiVmFyaWF0aW9uR3JvdXBJbmZvIiwiX3JlZjEwIiwiZ3JvdXAiLCJzaG93U2V0dXBPblVuaXRQcmljZSIsImlzUmVzZWxsIiwidmlzaWJsZVZhcmlhdGlvbnMiLCJfdiR2YXJpYXRpb25GaWVsZCIsImNvc3RMYWJlbCIsInVuaXRQcmljZVZhbHVlIiwiZ3JvdXBDb3N0IiwiSm9iSW5mb0NvbnRlbnQiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28zIiwiam9iIiwiX2pvYiRxdWFudGl0eSIsIl9qb2IkdmFyaWF0aW9ucyIsIl9qb2IkdmFyaWF0aW9uc0dyb3VwcyIsInZhcmlhdGlvbnNHcm91cHMiLCJuZWVkc1NoaXBwaW5nIiwiaGFzR3JvdXBzIiwiam9iTGV2ZWxWYXJpYXRpb25zIiwiX3YkdmFyaWF0aW9uRmllbGQyIiwidG90YWxRdWFudGl0eSIsImciLCJoYXNTZXR1cFByaWNlIiwibGFiZWxFeHRyYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0pvYkluZm9Db250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGYUZpbGVQZGYsIEZhUmVnSW1hZ2UgfSBmcm9tICdyZWFjdC1pY29ucy9mYSc7XG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IH0gZnJvbSAnLi9jdXJyZW5jeSc7XG5pbXBvcnQge1xuICBpc0luc3RydWN0aW9uc1R5cGUsXG4gIGlzUHJvZHVjdFN1cHBsaWVyTU9ELFxuICBpc1NlbGVjdGFibGUsXG4gIEZpZWxkVHlwZSxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgZXN0aW1hdGVBcmVhQ29zdHMsXG4gIGZvcm1hdEFyZWFTdW1tYXJ5LFxuICBsb2NhbGVQcmVmZXJzSW1wZXJpYWwsXG59IGZyb20gJy4uL2FyZWEnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4vTWVyY2hpQ2hlY2tvdXRQcm92aWRlcic7XG5pbXBvcnQge1xuICBTdW1tYXJ5QW1vdW50Um93LFxuICBTdW1tYXJ5RmllbGRSb3csXG59IGZyb20gJy4vQ2hlY2tvdXRTdW1tYXJ5RmllbGRzJztcblxuZnVuY3Rpb24gZm9ybWF0Q29zdChwcm9kdWN0OiBhbnksIGNvc3Q6IG51bWJlcikge1xuICBjb25zdCBjdXJyZW5jeSA9IHByb2R1Y3QuY3VycmVuY3kgPyBwcm9kdWN0LmN1cnJlbmN5IDogJ0FVRCc7XG4gIHJldHVybiBmb3JtYXRDdXJyZW5jeShjb3N0LCB7XG4gICAgY3VycmVuY3ksXG4gICAgc2hvd0NvZGVJZk5vU3ltYm9sOiBmYWxzZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlQ29zdEFtb3VudCh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgY29uc3QgYW1vdW50ID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUoYW1vdW50KSAmJiBhbW91bnQgPiAwID8gYW1vdW50IDogMDtcbn1cblxuLyoqIE1hdGNoIHByb2R1Y3QtZm9ybSB3b3JkaW5nOiBcIisgJFggb25jZSBvZmZcIiAvIFwiKyAkWSBwZXIgdW5pdFwiLiAqL1xuZnVuY3Rpb24gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxuICBwcm9kdWN0OiBhbnksXG4gIG9uY2VPZmZDb3N0OiBhbnksXG4gIHVuaXRDb3N0OiBhbnlcbikge1xuICBjb25zdCBjdXJyZW5jeSA9IHByb2R1Y3Q/LmN1cnJlbmN5IHx8ICdBVUQnO1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgY29uc3Qgb25jZU9mZiA9IHBhcnNlQ29zdEFtb3VudChvbmNlT2ZmQ29zdCk7XG4gIGNvbnN0IHVuaXQgPSBwYXJzZUNvc3RBbW91bnQodW5pdENvc3QpO1xuICBpZiAob25jZU9mZikge1xuICAgIHBhcnRzLnB1c2goXG4gICAgICBgICsgJHtmb3JtYXRDdXJyZW5jeShvbmNlT2ZmLCB7IGN1cnJlbmN5LCBzaG93Q29kZUlmTm9TeW1ib2w6IGZhbHNlIH0pfSBvbmNlIG9mZmBcbiAgICApO1xuICB9XG4gIGlmICh1bml0KSB7XG4gICAgcGFydHMucHVzaChcbiAgICAgIGAgKyAke2Zvcm1hdEN1cnJlbmN5KHVuaXQsIHsgY3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfSl9IHBlciB1bml0YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBvcHRpb25PbmNlT2ZmKG9wdGlvbjogYW55KTogbnVtYmVyIHtcbiAgcmV0dXJuIChcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy5vbmNlT2ZmQ29zdCkgfHxcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy52YXJpYXRpb25Db3N0KSB8fFxuICAgIDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gb3B0aW9uVW5pdChvcHRpb246IGFueSk6IG51bWJlciB7XG4gIHJldHVybiAoXG4gICAgcGFyc2VDb3N0QW1vdW50KG9wdGlvbj8udW5pdENvc3QpIHx8XG4gICAgcGFyc2VDb3N0QW1vdW50KG9wdGlvbj8udmFyaWF0aW9uVW5pdENvc3QpIHx8XG4gICAgMFxuICApO1xufVxuXG4vKiogUHJvZHVjdCBzZXR1cCBmZWUgc2hvd24gbmV4dCB0byB1bml0IHByaWNlLCBtYXRjaGluZyBwcm9kdWN0LWZvcm0gd29yZGluZy4gKi9cbmZ1bmN0aW9uIHByb2R1Y3RTZXR1cFN1ZmZpeChwcm9kdWN0OiBhbnkpIHtcbiAgY29uc3Qgc2V0dXBQcmljZSA9IE51bWJlcihwcm9kdWN0Py5zZXR1cFByaWNlKTtcbiAgaWYgKCFzZXR1cFByaWNlKSByZXR1cm4gJyc7XG4gIGNvbnN0IGxhYmVsID0gcHJvZHVjdC5zZXR1cFBlckdyb3VwID8gJ3NldHVwIHBlciBncm91cCcgOiAnc2V0dXAnO1xuICByZXR1cm4gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBzZXR1cFByaWNlKX0gJHtsYWJlbH1gO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRVbml0UHJpY2VXaXRoU2V0dXAocHJvZHVjdDogYW55KSB7XG4gIHJldHVybiBgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIE51bWJlcihwcm9kdWN0Py51bml0UHJpY2UpIHx8IDApfSR7cHJvZHVjdFNldHVwU3VmZml4KHByb2R1Y3QpfWA7XG59XG5cbmZ1bmN0aW9uIGlzUGRmKGZpbGU6IGFueSkge1xuICBjb25zdCBtaW1ldHlwZSA9IGZpbGU/Lm1pbWV0eXBlIHx8ICcnO1xuICByZXR1cm4gbWltZXR5cGUgPT09ICdhcHBsaWNhdGlvbi9wZGYnIHx8IG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24veC1wZGYnO1xufVxuXG5mdW5jdGlvbiBpc0ltYWdlRmlsZShmaWxlOiBhbnkpIHtcbiAgY29uc3QgbWltZXR5cGUgPSBmaWxlPy5taW1ldHlwZSB8fCAnJztcbiAgaWYgKG1pbWV0eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSByZXR1cm4gdHJ1ZTtcbiAgY29uc3QgbmFtZSA9IChmaWxlPy5uYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gL1xcLihqcGU/Z3xwbmd8Z2lmfHdlYnB8c3ZnfGJtcCkkLy50ZXN0KG5hbWUpO1xufVxuXG5mdW5jdGlvbiBhYnNvbHV0aXplRmlsZVVybChyYXc6IHN0cmluZywgdXJsQXBpPzogc3RyaW5nKSB7XG4gIGNvbnN0IHVybCA9IChyYXcgfHwgJycpLnRyaW0oKTtcbiAgaWYgKCF1cmwgfHwgdXJsID09PSAndW5kZWZpbmVkJyB8fCB1cmwgPT09ICdudWxsJykgcmV0dXJuICcnO1xuICBpZiAoL14oaHR0cHM/OnxibG9iOnxkYXRhOikvaS50ZXN0KHVybCkpIHJldHVybiB1cmw7XG4gIGlmICghdXJsQXBpKSByZXR1cm4gdXJsO1xuICB0cnkge1xuICAgIGNvbnN0IGJhc2UgPSBuZXcgVVJMKHVybEFwaSk7XG4gICAgcmV0dXJuIG5ldyBVUkwodXJsLCBgJHtiYXNlLm9yaWdpbn0vYCkuaHJlZjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlRmlsZVVybChmaWxlOiBhbnksIHVybEFwaT86IHN0cmluZykge1xuICByZXR1cm4gYWJzb2x1dGl6ZUZpbGVVcmwoXG4gICAgZmlsZT8udmlld1VybCB8fCBmaWxlPy5kb3dubG9hZFVybCB8fCAnJyxcbiAgICB1cmxBcGlcbiAgKTtcbn1cblxuZnVuY3Rpb24gb3B0aW9uSW1hZ2VVcmwob3B0aW9uOiBhbnksIHVybEFwaT86IHN0cmluZykge1xuICByZXR1cm4gYWJzb2x1dGl6ZUZpbGVVcmwoXG4gICAgb3B0aW9uPy5saW5rZWRGaWxlPy52aWV3VXJsIHx8IG9wdGlvbj8ubGlua2VkRmlsZT8uZG93bmxvYWRVcmwgfHwgJycsXG4gICAgdXJsQXBpXG4gICk7XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb246IGFueSwgb3B0aW9uczogYW55W10gPSBbXSkge1xuICByZXR1cm4gb3B0aW9ucy5maW5kKChvKSA9PiBTdHJpbmcoby5vcHRpb25JZCkgPT09IFN0cmluZyhvcHRpb24/Lm9wdGlvbklkKSk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVPcHRpb25Db2xvdXIoXG4gIG9wdGlvbjogYW55LFxuICBzZWxlY3RhYmxlT3B0aW9uczogYW55W10gPSBbXSxcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdXG4pIHtcbiAgY29uc3QgZGlyZWN0ID0gb3B0aW9uPy5jb2xvdXI/LnRyaW0oKTtcbiAgaWYgKGRpcmVjdCkgcmV0dXJuIGRpcmVjdDtcbiAgY29uc3QgZnJvbVNlbGVjdGFibGUgPSBmaW5kTWF0Y2hpbmdPcHRpb24ob3B0aW9uLCBzZWxlY3RhYmxlT3B0aW9ucyk/LmNvbG91cj8udHJpbSgpO1xuICBpZiAoZnJvbVNlbGVjdGFibGUpIHJldHVybiBmcm9tU2VsZWN0YWJsZTtcbiAgcmV0dXJuIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucyk/LmNvbG91cj8udHJpbSgpIHx8ICcnO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlT3B0aW9uSW1hZ2VVcmwoXG4gIG9wdGlvbjogYW55LFxuICBzZWxlY3RhYmxlT3B0aW9uczogYW55W10gPSBbXSxcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdLFxuICB1cmxBcGk/OiBzdHJpbmdcbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb25JbWFnZVVybChvcHRpb24sIHVybEFwaSk7XG4gIGlmIChkaXJlY3QpIHJldHVybiBkaXJlY3Q7XG4gIGNvbnN0IGZyb21TZWxlY3RhYmxlID0gb3B0aW9uSW1hZ2VVcmwoXG4gICAgZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbiwgc2VsZWN0YWJsZU9wdGlvbnMpLFxuICAgIHVybEFwaVxuICApO1xuICBpZiAoZnJvbVNlbGVjdGFibGUpIHJldHVybiBmcm9tU2VsZWN0YWJsZTtcbiAgcmV0dXJuIG9wdGlvbkltYWdlVXJsKGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucyksIHVybEFwaSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdE9wdGlvbkNvc3QoXG4gIHByb2R1Y3Q6IGFueSxcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZTogYm9vbGVhblxuKSB7XG4gIGlmIChzZWxsZXJQcm9kdWN0RWRpdGFibGUgfHwgIW9wdGlvbikgcmV0dXJuIG51bGw7XG4gIGNvbnN0IG9uY2VPZmZVbml0ID0gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxuICAgIHByb2R1Y3QsXG4gICAgb3B0aW9uT25jZU9mZihvcHRpb24pLFxuICAgIG9wdGlvblVuaXQob3B0aW9uKVxuICApO1xuICBpZiAob25jZU9mZlVuaXQpIHJldHVybiBvbmNlT2ZmVW5pdDtcbiAgaWYgKG9wdGlvbi50b3RhbENvc3QpIHtcbiAgICByZXR1cm4gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBvcHRpb24udG90YWxDb3N0KX1gO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiB2YXJpYXRpb25Db3N0RGV0YWlsKFxuICBwcm9kdWN0OiBhbnksXG4gIHZhcmlhdGlvbjogYW55LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW4sXG4gIHtcbiAgICBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0cyA9IHRydWUsXG4gICAgZmllbGRDb3N0c09ubHkgPSBmYWxzZSxcbiAgfToge1xuICAgIGluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzPzogYm9vbGVhbjtcbiAgICBmaWVsZENvc3RzT25seT86IGJvb2xlYW47XG4gIH0gPSB7fVxuKSB7XG4gIGlmIChzZWxsZXJQcm9kdWN0RWRpdGFibGUpIHJldHVybiAnJztcblxuICBjb25zdCBmaWVsZCA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQgfHwge307XG4gIGNvbnN0IGZpZWxkVHlwZSA9IE51bWJlcihmaWVsZC5maWVsZFR5cGUpO1xuXG4gIGlmIChmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5BUkVBKSB7XG4gICAgY29uc3QgYXJlYUNvc3RzID0gZXN0aW1hdGVBcmVhQ29zdHMoZmllbGQsIHZhcmlhdGlvbj8udmFsdWUpO1xuICAgIGlmIChhcmVhQ29zdHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgICAgIHByb2R1Y3QsXG4gICAgICAgIGFyZWFDb3N0cy5vbmNlT2ZmQ29zdCxcbiAgICAgICAgYXJlYUNvc3RzLnVuaXRDb3N0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZENvc3RzT25seSkge1xuICAgIHJldHVybiBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgICBwcm9kdWN0LFxuICAgICAgZmllbGQudmFyaWF0aW9uQ29zdCxcbiAgICAgIGZpZWxkLnZhcmlhdGlvblVuaXRDb3N0XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkID0gQXJyYXkuaXNBcnJheSh2YXJpYXRpb24/LnNlbGVjdGVkT3B0aW9ucylcbiAgICA/IHZhcmlhdGlvbi5zZWxlY3RlZE9wdGlvbnNcbiAgICA6IFtdO1xuICBpZiAoaW5jbHVkZVNlbGVjdGVkT3B0aW9uQ29zdHMgJiYgc2VsZWN0ZWQubGVuZ3RoKSB7XG4gICAgY29uc3QgZmllbGRPbmNlID1cbiAgICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUXG4gICAgICAgID8gcGFyc2VDb3N0QW1vdW50KGZpZWxkLnZhcmlhdGlvbkNvc3QpXG4gICAgICAgIDogMDtcbiAgICBjb25zdCBmaWVsZFVuaXQgPVxuICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1RcbiAgICAgICAgPyBwYXJzZUNvc3RBbW91bnQoZmllbGQudmFyaWF0aW9uVW5pdENvc3QpXG4gICAgICAgIDogMDtcbiAgICByZXR1cm4gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxuICAgICAgcHJvZHVjdCxcbiAgICAgIGZpZWxkT25jZSArXG4gICAgICAgIHNlbGVjdGVkLnJlZHVjZShcbiAgICAgICAgICAoc3VtOiBudW1iZXIsIG9wdGlvbjogYW55KSA9PiBzdW0gKyBvcHRpb25PbmNlT2ZmKG9wdGlvbiksXG4gICAgICAgICAgMFxuICAgICAgICApLFxuICAgICAgZmllbGRVbml0ICtcbiAgICAgICAgc2VsZWN0ZWQucmVkdWNlKFxuICAgICAgICAgIChzdW06IG51bWJlciwgb3B0aW9uOiBhbnkpID0+IHN1bSArIG9wdGlvblVuaXQob3B0aW9uKSxcbiAgICAgICAgICAwXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb25jZU9mZlVuaXQgPSBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgcHJvZHVjdCxcbiAgICB2YXJpYXRpb24/Lm9uY2VPZmZDb3N0ID8/IGZpZWxkLnZhcmlhdGlvbkNvc3QsXG4gICAgdmFyaWF0aW9uPy51bml0Q29zdCA/PyBmaWVsZC52YXJpYXRpb25Vbml0Q29zdFxuICApO1xuICBpZiAob25jZU9mZlVuaXQpIHJldHVybiBvbmNlT2ZmVW5pdDtcbiAgaWYgKHZhcmlhdGlvbj8uY29zdCkge1xuICAgIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIHZhcmlhdGlvbi5jb3N0KX1gO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uRmlsZVByZXZpZXcoe1xuICBmaWxlLFxuICB1cmxBcGksXG59OiB7XG4gIGZpbGU6IGFueTtcbiAgdXJsQXBpPzogc3RyaW5nO1xufSkge1xuICBjb25zdCBmaWxlVXJsID0gcmVzb2x2ZUZpbGVVcmwoZmlsZSwgdXJsQXBpKTtcbiAgY29uc3QgZmlsZU5hbWUgPSBmaWxlPy5uYW1lIHx8ICdGaWxlJztcbiAgY29uc3QgW2ltYWdlRmFpbGVkLCBzZXRJbWFnZUZhaWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgaWYgKGlzUGRmKGZpbGUpKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZmlsZS1saW5rJ1xuICAgICAgICBocmVmPXtmaWxlVXJsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgdGFyZ2V0PSdfYmxhbmsnXG4gICAgICAgIHJlbD0nbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgPlxuICAgICAgICA8RmFGaWxlUGRmIGFyaWEtaGlkZGVuIC8+XG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChpc0ltYWdlRmlsZShmaWxlKSAmJiBmaWxlVXJsICYmICFpbWFnZUZhaWxlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzTmFtZT0nbW9kYWwtbWVyY2hpLWNoZWNrb3V0LWpvYi1pbmZvLWNvbnRlbnQtaW1nJ1xuICAgICAgICBzcmM9e2ZpbGVVcmx9XG4gICAgICAgIGFsdD17ZmlsZU5hbWV9XG4gICAgICAgIHRpdGxlPXtmaWxlTmFtZX1cbiAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SW1hZ2VGYWlsZWQodHJ1ZSl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cblxuICBpZiAoaXNJbWFnZUZpbGUoZmlsZSkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLWZhbGxiYWNrJ1xuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XG4gICAgICA+XG4gICAgICAgIDxGYVJlZ0ltYWdlIGFyaWEtaGlkZGVuIC8+XG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChmaWxlVXJsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZmlsZS1saW5rJ1xuICAgICAgICBocmVmPXtmaWxlVXJsfVxuICAgICAgICB0YXJnZXQ9J19ibGFuaydcbiAgICAgICAgcmVsPSdub29wZW5lciBub3JlZmVycmVyJ1xuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XG4gICAgICA+XG4gICAgICAgIHtmaWxlTmFtZX1cbiAgICAgIDwvYT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+O1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvQm9keSh7XG4gIGNvc3REZXRhaWwsXG4gIG5hbWUsXG4gIHByb2R1Y3QsXG4gIHZhbHVlLFxuICBmaWxlcyxcbiAgdHlwZSxcbiAgdXJsQXBpLFxufTogYW55KSB7XG4gIGNvbnN0IGlzQ29sb3VyUGlja2VyID0gdHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9QSUNLRVI7XG4gIGNvbnN0IGlzRmlsZVVwbG9hZCA9XG4gICAgdHlwZSA9PT0gRmllbGRUeXBlLkZJTEVfVVBMT0FEIHx8IHR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcbiAgY29uc3QgaGFzRmlsZXMgPSBCb29sZWFuKGZpbGVzPy5sZW5ndGgpO1xuICBjb25zdCBkaXNwbGF5VmFsdWUgPSBpc0NvbG91clBpY2tlciB8fCAoaXNGaWxlVXBsb2FkICYmIGhhc0ZpbGVzKSA/IG51bGwgOiB2YWx1ZTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSc+XG4gICAgICAgIHtoYXNGaWxlcyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtcHJldmlld3MnPlxuICAgICAgICAgICAge2ZpbGVzLm1hcCgoZmlsZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICAgIDxWYXJpYXRpb25GaWxlUHJldmlld1xuICAgICAgICAgICAgICAgIGtleT17ZmlsZS52aWV3VXJsIHx8IGZpbGUuaWQgfHwgYCR7bmFtZX0tZmlsZS0ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgZmlsZT17ZmlsZX1cbiAgICAgICAgICAgICAgICB1cmxBcGk9e3VybEFwaX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7aXNDb2xvdXJQaWNrZXIgJiYgdmFsdWUgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1jb2xvdXItdmFsdWUnPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiB2YWx1ZSB9fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbG9yLWluZGljYXRvcidcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj57dmFsdWV9PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ZGlzcGxheVZhbHVlICYmIGRpc3BsYXlWYWx1ZX1cbiAgICAgICAge2Nvc3REZXRhaWwgfHwgJyd9XG4gICAgICAgIHshaGFzRmlsZXMgJiYgIXZhbHVlICYmICFjb3N0RGV0YWlsICYmICctJ31cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvKHsgcHJvZHVjdCwgdmFyaWF0aW9uIH06IGFueSkge1xuICBjb25zdCB7IHVybEFwaSB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCB7IHZhcmlhdGlvbkZpZWxkLCB2YXJpYXRpb25GaWxlcywgc2VsZWN0YWJsZU9wdGlvbnMgfSA9IHZhcmlhdGlvbjtcbiAgY29uc3QgeyBmaWVsZFR5cGUsIHNlbGxlclByb2R1Y3RFZGl0YWJsZSwgb3B0aW9uczogZmllbGRPcHRpb25zID0gW10gfSA9XG4gICAgdmFyaWF0aW9uRmllbGQ7XG4gIGNvbnN0IGlzVmFyaWF0aW9uU2VsZWN0YWJsZSA9IGlzU2VsZWN0YWJsZShmaWVsZFR5cGUpO1xuICBjb25zdCBpc1R1cm5hcm91bmRUaW1lID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FO1xuICBjb25zdCBpc0NvbG91ckV4dHJhY3QgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcbiAgY29uc3Qgb3B0aW9ucyA9IHJlc29sdmVTZWxlY3RhYmxlU2VsZWN0ZWRPcHRpb25zKFxuICAgIHZhcmlhdGlvbixcbiAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICBmaWVsZE9wdGlvbnNcbiAgKTtcbiAgY29uc3QgdXNlU2VsZWN0YWJsZURpc3BsYXkgPVxuICAgIGlzVmFyaWF0aW9uU2VsZWN0YWJsZSAmJlxuICAgIChCb29sZWFuKG9wdGlvbnM/Lmxlbmd0aCkgfHwgKGlzVHVybmFyb3VuZFRpbWUgJiYgdmFyaWF0aW9uLnZhbHVlKSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbic+XG4gICAgICB7aXNDb2xvdXJFeHRyYWN0ID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxWYXJpYXRpb25JbmZvQm9keVxuICAgICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cbiAgICAgICAgICAgIHR5cGU9e2ZpZWxkVHlwZX1cbiAgICAgICAgICAgIHZhbHVlPXtudWxsfVxuICAgICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgIHVybEFwaT17dXJsQXBpfVxuICAgICAgICAgICAgY29zdERldGFpbD17dmFyaWF0aW9uQ29zdERldGFpbChcbiAgICAgICAgICAgICAgcHJvZHVjdCxcbiAgICAgICAgICAgICAgdmFyaWF0aW9uLFxuICAgICAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG4gICAgICAgICAgICAgIC8vIE9wdGlvbnMgbGlzdCBzaG93cyBlYWNoIGNvbG91ciBjb3N0OyBrZWVwIGZpZWxkIGJhc2UgY29zdCBoZXJlLlxuICAgICAgICAgICAgICBvcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHsgZmllbGRDb3N0c09ubHk6IHRydWUgfVxuICAgICAgICAgICAgICAgIDogeyBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0czogZmFsc2UgfVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtvcHRpb25zPy5sZW5ndGggPyAoXG4gICAgICAgICAgICA8VmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5XG4gICAgICAgICAgICAgIG5hbWU9e2Ake3ZhcmlhdGlvbkZpZWxkLm5hbWV9IGNvbG91cnNgfVxuICAgICAgICAgICAgICBmaWVsZFR5cGU9e2ZpZWxkVHlwZX1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhcmlhdGlvbi52YWx1ZX1cbiAgICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgICB2YXJpYXRpb249e3ZhcmlhdGlvbn1cbiAgICAgICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiB1c2VTZWxlY3RhYmxlRGlzcGxheSA/IChcbiAgICAgICAgPFZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keVxuICAgICAgICAgIG5hbWU9e3ZhcmlhdGlvbkZpZWxkLm5hbWV9XG4gICAgICAgICAgZmllbGRUeXBlPXtmaWVsZFR5cGV9XG4gICAgICAgICAgdmFsdWU9e3ZhcmlhdGlvbi52YWx1ZX1cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIGZpbGVzPXt2YXJpYXRpb25GaWxlc31cbiAgICAgICAgICBzZWxlY3RlZE9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgdmFyaWF0aW9uPXt2YXJpYXRpb259XG4gICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFZhcmlhdGlvbkluZm9Cb2R5XG4gICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cbiAgICAgICAgICB0eXBlPXt2YXJpYXRpb25GaWVsZC5maWVsZFR5cGV9XG4gICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQVJFQSAmJiB2YXJpYXRpb24udmFsdWVcbiAgICAgICAgICAgICAgPyBmb3JtYXRBcmVhU3VtbWFyeShcbiAgICAgICAgICAgICAgICAgIHZhcmlhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZVByZWZlcnNJbXBlcmlhbCgpID8gJ2ltcGVyaWFsJyA6ICdtZXRyaWMnLFxuICAgICAgICAgICAgICAgICAgdmFyaWF0aW9uRmllbGQuYXJlYVVuaXQgfHwgJ21tJ1xuICAgICAgICAgICAgICAgICkgfHwgdmFyaWF0aW9uLnZhbHVlXG4gICAgICAgICAgICAgIDogdmFyaWF0aW9uLnZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICAgIGZpbGVzPXt2YXJpYXRpb25GaWxlc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHVybEFwaT17dXJsQXBpfVxuICAgICAgICAgIGNvc3REZXRhaWw9e3ZhcmlhdGlvbkNvc3REZXRhaWwoXG4gICAgICAgICAgICBwcm9kdWN0LFxuICAgICAgICAgICAgdmFyaWF0aW9uLFxuICAgICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxuICAgICAgICAgICAgeyBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0czogZmFsc2UgfVxuICAgICAgICAgICl9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBDb2xvdXJTZWxlY3RPcHRpb24oe1xuICBvcHRpb24sXG4gIHNlbGVjdGFibGVPcHRpb25zLFxuICBmaWVsZE9wdGlvbnMsXG4gIHByb2R1Y3QsXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcbn06IHtcbiAgb3B0aW9uOiBhbnk7XG4gIHNlbGVjdGFibGVPcHRpb25zPzogYW55W107XG4gIGZpZWxkT3B0aW9ucz86IGFueVtdO1xuICBwcm9kdWN0PzogYW55O1xuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU/OiBib29sZWFuO1xufSkge1xuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcbiAgY29uc3QgaGV4ID0gcmVzb2x2ZU9wdGlvbkNvbG91cihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnMpO1xuICBjb25zdCBjb3N0ID0gZm9ybWF0T3B0aW9uQ29zdChcbiAgICBwcm9kdWN0LFxuICAgIG9wdGlvbixcbiAgICBCb29sZWFuKHNlbGxlclByb2R1Y3RFZGl0YWJsZSlcbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWNvbG91ci1vcHRpb24nPlxuICAgICAge2hleCAmJiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBoZXggfX1cbiAgICAgICAgICBjbGFzc05hbWU9J2NvbG9yLWluZGljYXRvcidcbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICA8c3Bhbj5cbiAgICAgICAge2xhYmVsIHx8IGhleCB8fCAn4oCTJ31cbiAgICAgICAge2Nvc3QgfHwgJyd9XG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBJbWFnZVNlbGVjdE9wdGlvbih7XG4gIG9wdGlvbixcbiAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gIGZpZWxkT3B0aW9ucyxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG4gIHByb2R1Y3Q6IGFueTtcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuO1xufSkge1xuICBjb25zdCB7IHVybEFwaSB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCBpbWFnZVVybCA9IHJlc29sdmVPcHRpb25JbWFnZVVybChcbiAgICBvcHRpb24sXG4gICAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gICAgZmllbGRPcHRpb25zLFxuICAgIHVybEFwaVxuICApO1xuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgb3B0aW9uLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpO1xuICBjb25zdCBbaW1hZ2VGYWlsZWQsIHNldEltYWdlRmFpbGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICByZXR1cm4gKFxuICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktaW1hZ2Utc2VsZWN0LW9wdGlvbic+XG4gICAgICB7aW1hZ2VVcmwgJiYgIWltYWdlRmFpbGVkID8gKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudC1pbWcnXG4gICAgICAgICAgc3JjPXtpbWFnZVVybH1cbiAgICAgICAgICBhbHQ9e2xhYmVsIHx8ICdTZWxlY3RlZCBvcHRpb24nfVxuICAgICAgICAgIHRpdGxlPXtsYWJlbCB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SW1hZ2VGYWlsZWQodHJ1ZSl9XG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxzcGFuPlxuICAgICAgICB7bGFiZWwgfHwgJ+KAkyd9XG4gICAgICAgIHtjb3N0IHx8ICcnfVxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uSWQob3B0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIG9wdGlvbj8ub3B0aW9uSWQgPz8gb3B0aW9uPy5pZDtcbn1cblxuZnVuY3Rpb24gc3BsaXRTZWxlY3RlZE9wdGlvbklkcyh2YWx1ZTogYW55KTogc3RyaW5nW10ge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubWFwKFN0cmluZykuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIFtdO1xuICByZXR1cm4gU3RyaW5nKHZhbHVlKVxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcCgocGFydCkgPT4gcGFydC50cmltKCkpXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMoXG4gIHZhcmlhdGlvbjogYW55LFxuICBzZWxlY3RhYmxlT3B0aW9uczogYW55W10gPSBbXSxcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdXG4pOiBhbnlbXSB7XG4gIGNvbnN0IGZpZWxkVHlwZSA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZTtcbiAgaWYgKGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUKSB7XG4gICAgcmV0dXJuIHZhcmlhdGlvbj8uc2VsZWN0ZWRPcHRpb25zIHx8IFtdO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBzcGxpdFNlbGVjdGVkT3B0aW9uSWRzKHZhcmlhdGlvbj8udmFsdWUpO1xuICBpZiAoc2VsZWN0ZWRJZHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHBvb2xzID0gW3NlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnNdO1xuICAgIGNvbnN0IHJlc29sdmVkOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaWQgb2Ygc2VsZWN0ZWRJZHMpIHtcbiAgICAgIGZvciAoY29uc3QgcG9vbCBvZiBwb29scykge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHBvb2wuZmluZCgob3B0aW9uOiBhbnkpID0+IFN0cmluZyhnZXRPcHRpb25JZChvcHRpb24pKSA9PT0gaWQpO1xuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICByZXNvbHZlZC5wdXNoKG1hdGNoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVzb2x2ZWQubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHJlc29sdmVkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YXJpYXRpb24/LnNlbGVjdGVkT3B0aW9ucyB8fCBbXTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbihcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVTZWxlY3RhYmxlU2VsZWN0ZWRPcHRpb25zKFxuICAgIHZhcmlhdGlvbixcbiAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICBmaWVsZE9wdGlvbnNcbiAgKTtcbiAgaWYgKHJlc29sdmVkLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gcmVzb2x2ZWRbMF07XG4gIH1cblxuICBjb25zdCB2YWx1ZVN0ciA9XG4gICAgdmFyaWF0aW9uPy52YWx1ZSAhPSBudWxsICYmIHZhcmlhdGlvbj8udmFsdWUgIT09ICcnXG4gICAgICA/IFN0cmluZyh2YXJpYXRpb24udmFsdWUpLnRyaW0oKVxuICAgICAgOiAnJztcbiAgaWYgKCF2YWx1ZVN0cikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcG9vbHMgPSBbc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9uc107XG4gIGZvciAoY29uc3QgcG9vbCBvZiBwb29scykge1xuICAgIGNvbnN0IGJ5VmFsdWUgPSBwb29sLmZpbmQoXG4gICAgICAob3B0aW9uOiBhbnkpID0+IFN0cmluZyhvcHRpb24udmFsdWUgPz8gJycpID09PSB2YWx1ZVN0clxuICAgICk7XG4gICAgaWYgKGJ5VmFsdWUpIHJldHVybiBieVZhbHVlO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRUdXJuYXJvdW5kRGVhZGxpbmUodXNlckRlYWRsaW5lOiBhbnkpIHtcbiAgaWYgKCF1c2VyRGVhZGxpbmUpIHJldHVybiBudWxsO1xuICBjb25zdCBzZWNvbmRzID0gTnVtYmVyKHVzZXJEZWFkbGluZSk7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKHNlY29uZHMpIHx8IHNlY29uZHMgPD0gMCkgcmV0dXJuIG51bGw7XG4gIHJldHVybiBuZXcgRGF0ZShzZWNvbmRzICogMTAwMCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1BVScsIHtcbiAgICB3ZWVrZGF5OiAnbG9uZycsXG4gICAgeWVhcjogJ251bWVyaWMnLFxuICAgIG1vbnRoOiAnbG9uZycsXG4gICAgZGF5OiAnbnVtZXJpYycsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBUdXJuYXJvdW5kT3B0aW9uTGFiZWwoe1xuICBvcHRpb24sXG4gIHZhcmlhdGlvbkZpZWxkLFxuICBwcm9kdWN0LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG59OiB7XG4gIG9wdGlvbjogYW55O1xuICB2YXJpYXRpb25GaWVsZDogYW55O1xuICBwcm9kdWN0OiBhbnk7XG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZTogYm9vbGVhbjtcbn0pIHtcbiAgY29uc3QgZGF5cyA9IHBhcnNlSW50KFN0cmluZyhvcHRpb24/LnZhbHVlID8/ICcnKSwgMTApIHx8IDA7XG4gIGNvbnN0IGRlYWRsaW5lID0gZm9ybWF0VHVybmFyb3VuZERlYWRsaW5lKG9wdGlvbj8udXNlckRlYWRsaW5lKTtcbiAgY29uc3Qgc2hpcHBpbmdUaW1lSW5jbHVkZWQgPSBCb29sZWFuKHZhcmlhdGlvbkZpZWxkPy5zaGlwcGluZ1RpbWVJbmNsdWRlZCk7XG4gIGNvbnN0IGRlYWRsaW5lTGFiZWwgPSBzaGlwcGluZ1RpbWVJbmNsdWRlZCA/ICdEZWxpdmVyeSBieScgOiAnUHJvZHVjZWQgYnknO1xuICBjb25zdCBjb3N0ID0gZm9ybWF0T3B0aW9uQ29zdChwcm9kdWN0LCBvcHRpb24sIHNlbGxlclByb2R1Y3RFZGl0YWJsZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXR1cm5hcm91bmQtdmFsdWUnPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10dXJuYXJvdW5kLWRheXMnPlxuICAgICAgICB7ZGF5cyA+IDBcbiAgICAgICAgICA/IGAke2RheXN9IGJ1c2luZXNzIGRheSR7ZGF5cyAhPT0gMSA/ICdzJyA6ICcnfWBcbiAgICAgICAgICA6IChvcHRpb24/LnZhbHVlPy50cmltKCkgfHwgJ+KAkycpfVxuICAgICAgPC9zcGFuPlxuICAgICAge2RlYWRsaW5lICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10dXJuYXJvdW5kLWRlYWRsaW5lJz5cbiAgICAgICAgICB7ZGVhZGxpbmVMYWJlbH0ge2RlYWRsaW5lfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge2Nvc3QgfHwgJyd9XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25PcHRpb25zSW5mb0JvZHkoe1xuICBuYW1lLFxuICBzZWxlY3RlZE9wdGlvbnMsXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcbiAgcHJvZHVjdCxcbiAgZmllbGRUeXBlLFxuICB2YXJpYXRpb24sXG4gIHNlbGVjdGFibGVPcHRpb25zID0gW10sXG4gIGZpZWxkT3B0aW9ucyA9IFtdLFxufTogYW55KSB7XG4gIGNvbnN0IGlzVHVybmFyb3VuZFRpbWUgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5UVVJOQVJPVU5EX1RJTUU7XG4gIGNvbnN0IGZpcnN0T3B0aW9uID0gaXNUdXJuYXJvdW5kVGltZVxuICAgID8gcmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbihcbiAgICAgICAgeyBzZWxlY3RlZE9wdGlvbnMsIHZhbHVlOiB2YXJpYXRpb24/LnZhbHVlIH0sXG4gICAgICAgIHNlbGVjdGFibGVPcHRpb25zLFxuICAgICAgICBmaWVsZE9wdGlvbnNcbiAgICAgIClcbiAgICA6IHNlbGVjdGVkT3B0aW9uc1swXTtcbiAgY29uc3QgaXNDb2xvdXJTZWxlY3QgPVxuICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9TRUxFQ1QgfHxcbiAgICBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcbiAgY29uc3QgaXNJbWFnZVNlbGVjdCA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLklNQUdFX1NFTEVDVDtcbiAgY29uc3QgdmFyaWF0aW9uRmllbGQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkID8/IHt9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlck9wdGlvbkxhYmVsKG86IGFueSkge1xuICAgIGlmIChpc1R1cm5hcm91bmRUaW1lKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHVybmFyb3VuZE9wdGlvbkxhYmVsXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkPXt2YXJpYXRpb25GaWVsZH1cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlzQ29sb3VyU2VsZWN0KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q29sb3VyU2VsZWN0T3B0aW9uXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlzSW1hZ2VTZWxlY3QpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVNlbGVjdE9wdGlvblxuICAgICAgICAgIG9wdGlvbj17b31cbiAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucz17c2VsZWN0YWJsZU9wdGlvbnN9XG4gICAgICAgICAgZmllbGRPcHRpb25zPXtmaWVsZE9wdGlvbnN9XG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7by52YWx1ZT8udHJpbSgpIHx8ICfigJMnfVxuICAgICAgICB7Zm9ybWF0T3B0aW9uQ29zdChwcm9kdWN0LCBvLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpIHx8ICcnfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMSAmJiAhaXNUdXJuYXJvdW5kVGltZSA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSBsaXN0LXVuc3R5bGVkIG0tMCc+XG4gICAgICAgICAgICB7c2VsZWN0ZWRPcHRpb25zLm1hcCgobzogYW55LCBpOiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgPGxpIGtleT17YCR7aX0tb3B0aW9uLWtleS0ke28ub3B0aW9uSWQgPz8gaX1gfT5cbiAgICAgICAgICAgICAgICB7cmVuZGVyT3B0aW9uTGFiZWwobyl9XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBmaXJzdE9wdGlvbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUnPlxuICAgICAgICAgICAge3JlbmRlck9wdGlvbkxhYmVsKGZpcnN0T3B0aW9uKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1sYWJlbCc+e25hbWV9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSc+LTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbnNJbmZvKHsgcHJvZHVjdCwgcXVhbnRpdHksIHZhcmlhdGlvbnMgPSBbXSB9OiBhbnkpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9ucyc+XG4gICAgICB7dmFyaWF0aW9ucy5tYXAoKHY6IGFueSwgaTogbnVtYmVyKSA9PlxuICAgICAgICAhaXNJbnN0cnVjdGlvbnNUeXBlKHYudmFyaWF0aW9uRmllbGQuZmllbGRUeXBlKSA/IChcbiAgICAgICAgICA8VmFyaWF0aW9uSW5mb1xuICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgdmFyaWF0aW9uPXt2fVxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbFxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uR3JvdXBJbmZvKHtcbiAgZ3JvdXAsXG4gIGluZGV4LFxuICBwcm9kdWN0LFxuICBzaG93U2V0dXBPblVuaXRQcmljZSxcbn06IGFueSkge1xuICBjb25zdCBpc1Jlc2VsbCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xuICBjb25zdCB7IHF1YW50aXR5LCB2YXJpYXRpb25zIH0gPSBncm91cDtcbiAgY29uc3QgdmlzaWJsZVZhcmlhdGlvbnMgPSAodmFyaWF0aW9ucyA/PyBbXSkuZmlsdGVyKFxuICAgICh2OiBhbnkpID0+ICFpc0luc3RydWN0aW9uc1R5cGUodj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSlcbiAgKTtcbiAgY29uc3QgY29zdExhYmVsID0gaXNSZXNlbGwgPyAnVW5pdCBDb3N0JyA6ICdHcm91cCBDb3N0JztcbiAgY29uc3QgdW5pdFByaWNlVmFsdWUgPSBzaG93U2V0dXBPblVuaXRQcmljZVxuICAgID8gZm9ybWF0VW5pdFByaWNlV2l0aFNldHVwKHByb2R1Y3QpXG4gICAgOiBmb3JtYXRDb3N0KHByb2R1Y3QsIE51bWJlcihwcm9kdWN0Py51bml0UHJpY2UpIHx8IDApO1xuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cCc+XG4gICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgR3JvdXAge2luZGV4ICsgMX0gSW5mb3JtYXRpb25cbiAgICAgIDwvc3Ryb25nPlxuICAgICAgeyFpc1Jlc2VsbCAmJiBxdWFudGl0eSA+IDAgJiYgKFxuICAgICAgICA8U3VtbWFyeUZpZWxkUm93IGxhYmVsPSdRdWFudGl0eScgdmFsdWU9e3F1YW50aXR5fSAvPlxuICAgICAgKX1cbiAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1VuaXQgUHJpY2UnIHZhbHVlPXt1bml0UHJpY2VWYWx1ZX0gLz5cbiAgICAgIHt2aXNpYmxlVmFyaWF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPFZhcmlhdGlvbnNJbmZvXG4gICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgIHZhcmlhdGlvbnM9e3ZhcmlhdGlvbnN9XG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZ3JvdXAtY29zdCc+XG4gICAgICAgIHtjb3N0TGFiZWx9OiB7Zm9ybWF0Q29zdChwcm9kdWN0LCBncm91cC5ncm91cENvc3QpfVxuICAgICAgPC9zdHJvbmc+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKb2JJbmZvQ29udGVudCgpIHtcbiAgY29uc3QgeyBqb2IgfSA9IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQoKTtcbiAgY29uc3QgeyBwcm9kdWN0LCBxdWFudGl0eSA9IDAsIHZhcmlhdGlvbnMgPSBbXSwgdmFyaWF0aW9uc0dyb3VwcyA9IFtdIH0gPSBqb2I7XG4gIGNvbnN0IHsgbmVlZHNTaGlwcGluZyB9ID0gcHJvZHVjdDtcbiAgY29uc3QgdG90YWxDb3N0ID0gY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4KGpvYik7XG4gIGNvbnN0IGlzUmVzZWxsID0gaXNQcm9kdWN0U3VwcGxpZXJNT0QocHJvZHVjdCk7XG4gIGNvbnN0IGhhc0dyb3VwcyA9IHZhcmlhdGlvbnNHcm91cHMubGVuZ3RoID4gMDtcbiAgY29uc3Qgam9iTGV2ZWxWYXJpYXRpb25zID0gKHZhcmlhdGlvbnMgPz8gW10pLmZpbHRlcihcbiAgICAodjogYW55KSA9PiAhaXNJbnN0cnVjdGlvbnNUeXBlKHY/LnZhcmlhdGlvbkZpZWxkPy5maWVsZFR5cGUpXG4gICk7XG4gIGNvbnN0IHRvdGFsUXVhbnRpdHkgPSBoYXNHcm91cHNcbiAgICA/IHZhcmlhdGlvbnNHcm91cHMucmVkdWNlKFxuICAgICAgICAoc3VtOiBudW1iZXIsIGc6IGFueSkgPT4gc3VtICsgKE51bWJlcihnLnF1YW50aXR5KSB8fCAwKSxcbiAgICAgICAgMFxuICAgICAgKVxuICAgIDogTnVtYmVyKHF1YW50aXR5KSB8fCAwO1xuICBjb25zdCBzZXR1cFBlckdyb3VwID0gQm9vbGVhbihwcm9kdWN0Py5zZXR1cFBlckdyb3VwKTtcbiAgY29uc3QgaGFzU2V0dXBQcmljZSA9IE51bWJlcihwcm9kdWN0Py5zZXR1cFByaWNlKSA+IDA7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbW9kYWwtbWVyY2hpLWNoZWNrb3V0LWpvYi1pbmZvLWNvbnRlbnQgbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnknPlxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXNlY3Rpb24tdGl0bGUnPntwcm9kdWN0Lm5hbWV9PC9kaXY+XG4gICAgICB7aGFzR3JvdXBzICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWdyb3Vwcyc+XG4gICAgICAgICAge3ZhcmlhdGlvbnNHcm91cHMubWFwKChnOiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGcucXVhbnRpdHkgPyAoXG4gICAgICAgICAgICAgIDxWYXJpYXRpb25Hcm91cEluZm9cbiAgICAgICAgICAgICAgICBncm91cD17Z31cbiAgICAgICAgICAgICAgICBrZXk9e2Ake2l9LWpvYi1pbmZvLWNvbnRlbnRgfVxuICAgICAgICAgICAgICAgIGluZGV4PXtpfVxuICAgICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICAgICAgc2hvd1NldHVwT25Vbml0UHJpY2U9e3NldHVwUGVyR3JvdXB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHshaGFzR3JvdXBzICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXN0YW5kYWxvbmUnPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1vcmRlci1kZXRhaWwtdGl0bGUnPlxuICAgICAgICAgICAgT3JkZXIgSW5mb3JtYXRpb25cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICB7cXVhbnRpdHkgPiAwICYmIChcbiAgICAgICAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1F1YW50aXR5JyB2YWx1ZT17cXVhbnRpdHl9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8U3VtbWFyeUZpZWxkUm93XG4gICAgICAgICAgICBsYWJlbD0nVW5pdCBQcmljZSdcbiAgICAgICAgICAgIHZhbHVlPXtmb3JtYXRVbml0UHJpY2VXaXRoU2V0dXAocHJvZHVjdCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7am9iTGV2ZWxWYXJpYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgPFZhcmlhdGlvbnNJbmZvXG4gICAgICAgICAgICAgIHF1YW50aXR5PXtxdWFudGl0eX1cbiAgICAgICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cbiAgICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAge2hhc0dyb3VwcyAmJiBqb2JMZXZlbFZhcmlhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zdGFuZGFsb25lJz5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgICAgIE9yZGVyIEluZm9ybWF0aW9uXG4gICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgPFZhcmlhdGlvbnNJbmZvXG4gICAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgICB2YXJpYXRpb25zPXt2YXJpYXRpb25zfVxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7IWlzUmVzZWxsICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXRvdGFsJz5cbiAgICAgICAgICB7dG90YWxRdWFudGl0eSA+IDAgJiYgKFxuICAgICAgICAgICAgPFN1bW1hcnlBbW91bnRSb3dcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbC1xdWFudGl0eSdcbiAgICAgICAgICAgICAgbGFiZWw9J1RvdGFsIFF1YW50aXR5J1xuICAgICAgICAgICAgICBhbW91bnQ9e3RvdGFsUXVhbnRpdHl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2hhc0dyb3VwcyAmJiBoYXNTZXR1cFByaWNlICYmICFzZXR1cFBlckdyb3VwICYmIChcbiAgICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XG4gICAgICAgICAgICAgIGxhYmVsPSdTZXR1cCdcbiAgICAgICAgICAgICAgYW1vdW50PXtmb3JtYXRDb3N0KHByb2R1Y3QsIE51bWJlcihwcm9kdWN0LnNldHVwUHJpY2UpKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8U3VtbWFyeUFtb3VudFJvd1xuICAgICAgICAgICAgbGFiZWw9J1RvdGFsIE9yZGVyIENvc3QnXG4gICAgICAgICAgICBsYWJlbEV4dHJhPXtcbiAgICAgICAgICAgICAgbmVlZHNTaGlwcGluZyA/IChcbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbC1ub3RlJz4gZXggU2hpcG1lbnQ8L3NtYWxsPlxuICAgICAgICAgICAgICApIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhbW91bnQ9e3RvdGFsQ29zdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7ISEoaXNSZXNlbGwgJiYgIWhhc0dyb3VwcykgJiYgKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtYi0wJz5cbiAgICAgICAgICAgIHtpc1Jlc2VsbCA/ICdBcHByb3hpbWF0ZSBVbml0JyA6ICdUb3RhbCd9IENvc3RcbiAgICAgICAgICA8L3N0cm9uZz57JyAnfVxuICAgICAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtYi0wIGQtYmxvY2snPnt0b3RhbENvc3R9PC9zdHJvbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSwyQkFBQUMsQ0FBQSxFQUFBQyxjQUFBLFFBQUFDLEVBQUEsVUFBQUMsTUFBQSxvQkFBQUgsQ0FBQSxDQUFBRyxNQUFBLENBQUFDLFFBQUEsS0FBQUosQ0FBQSxxQkFBQUUsRUFBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQU4sQ0FBQSxNQUFBRSxFQUFBLEdBQUFLLDJCQUFBLENBQUFQLENBQUEsTUFBQUMsY0FBQSxJQUFBRCxDQUFBLFdBQUFBLENBQUEsQ0FBQVEsTUFBQSxxQkFBQU4sRUFBQSxFQUFBRixDQUFBLEdBQUFFLEVBQUEsTUFBQU8sQ0FBQSxVQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsV0FBQUEsRUFBQSxRQUFBSCxDQUFBLElBQUFULENBQUEsQ0FBQVEsTUFBQSxXQUFBSyxJQUFBLG1CQUFBQSxJQUFBLFNBQUFDLEtBQUEsRUFBQWQsQ0FBQSxDQUFBUyxDQUFBLFVBQUFNLENBQUEsV0FBQUEsRUFBQUMsRUFBQSxVQUFBQSxFQUFBLEtBQUFDLENBQUEsRUFBQVAsQ0FBQSxnQkFBQVEsU0FBQSxpSkFBQUMsZ0JBQUEsU0FBQUMsTUFBQSxVQUFBQyxHQUFBLFdBQUFWLENBQUEsV0FBQUEsRUFBQSxJQUFBVCxFQUFBLEdBQUFBLEVBQUEsQ0FBQW9CLElBQUEsQ0FBQXRCLENBQUEsTUFBQVksQ0FBQSxXQUFBQSxFQUFBLFFBQUFXLElBQUEsR0FBQXJCLEVBQUEsQ0FBQXNCLElBQUEsSUFBQUws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
|
|
@@ -47,4 +47,4 @@ function MerchiCheckout(props) {
|
|
|
47
47
|
}));
|
|
48
48
|
}
|
|
49
49
|
export default MerchiCheckout;
|
|
50
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJvYmoiLCJrZXkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiUmVhY3QiLCJGYVRpbWVzIiwiTWVyY2hpQ2hlY2tvdXRQcm92aWRlciIsInVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQiLCJNZXJjaGlDaGVja291dFRhYnMiLCJUYWJQYW5lQWRkcmVzcyIsIlRhYlBhbmVDb25maXJtIiwiVGFiUGFuZUNvbnRhaW5lciIsIlRhYlBhbmVDdXN0b21lciIsIlRhYlBhbmVTdWJtaXR0ZWQiLCJUYWJQYW5lUGF5bWVudCIsIkFsZXJ0cyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGVja291dENsb3NlQnV0dG9uIiwiX3VzZU1lcmNoaUNoZWNrYm91dENvIiwidG9nZ2xlTWVyY2hpQ2hlY2tvdXQiLCJ0eXBlIiwiY2xhc3NOYW1lIiwib25DbGljayIsImNoaWxkcmVuIiwiQ2hlY2tvdXRIZWFkZXIiLCJNZXJjaGlDaGVja291dCIsInByb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvTWVyY2hpQ2hlY2tvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGYVRpbWVzIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuaW1wb3J0IHsgTWVyY2hpQ2hlY2tvdXRQcm92aWRlciwgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4vTWVyY2hpQ2hlY2tvdXRQcm92aWRlcic7XG5pbXBvcnQgTWVyY2hpQ2hlY2tvdXRUYWJzIGZyb20gJy4vTWVyY2hpQ2hlY2tvdXRUYWJzJztcbmltcG9ydCBUYWJQYW5lQWRkcmVzcyBmcm9tICcuL1RhYlBhbmVBZGRyZXNzJztcbmltcG9ydCBUYWJQYW5lQ29uZmlybSBmcm9tICcuL1RhYlBhbmVDb25maXJtJztcbmltcG9ydCBUYWJQYW5lQ29udGFpbmVyIGZyb20gJy4vVGFiUGFuZUNvbnRhaW5lcic7XG5pbXBvcnQgVGFiUGFuZUN1c3RvbWVyIGZyb20gJy4vVGFiUGFuZUN1c3RvbWVyJztcbmltcG9ydCBUYWJQYW5lU3VibWl0dGVkIGZyb20gJy4vVGFiUGFuZVN1Ym1pdHRlZCc7XG5pbXBvcnQgVGFiUGFuZVBheW1lbnQgZnJvbSAnLi9UYWJQYW5lUGF5bWVudCc7XG5pbXBvcnQgQWxlcnRzIGZyb20gJy4vQWxlcnRzJztcbmltcG9ydCAnLi4vc3R5bGVzL2dsb2JhbHMuY3NzJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydHNDb250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QWxlcnQ/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QWxlcnRFcnJvcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRBbGVydFN1Y2Nlc3M/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uUHJpbWFyeT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRCdXR0b25QcmltYXJ5QmxvY2s/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uU2Vjb25kYXJ5Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblNlY29uZGFyeUJsb2NrPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvbkRvd25sb2FkSW52b2ljZT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtQ2hlY2tib3g/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0Rm9ybUdyb3VwPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1Hcm91cENoZWNrYm94Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEZvcm1JbnB1dD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtU2VsZWN0Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEdvb2dsZVN1Z2dlc3RMaXN0Pzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dEdvb2dsZVN1Z2dlc3RMaXN0SXRlbT86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRJbnB1dEVycm9yPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXBJdGVtPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFJvdz86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRSb3dDb2x1bW4/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFic0NvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRGb3JtTGFiZWxDaGVja2JveD86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRUYWI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiQnV0dG9uPzogc3RyaW5nO1xuICBjbGFzc05hbWVNZXJjaGlDaGVja291dFRhYlBhbmU/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0VGFiUGFuZUNvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lTWVyY2hpSW52b2ljZUJ1dHRvblBheUludm9pY2U/OiBzdHJpbmc7XG4gIGN1cnJlbnRVc2VyPzogYW55O1xuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcbiAgaW52b2ljZTogYW55O1xuICBpc0J1eVJlcXVlc3Q/OiBib29sZWFuO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzUHJvZHVjdEVtYmVkRm9ybT86IGJvb2xlYW47XG4gIGpvYjogYW55O1xuICBwcm9kdWN0OiBhbnk7XG4gIHNldEludm9pY2U6IChpbnZvaWNlOiBhbnkpID0+IHZvaWQ7XG4gIHNldEpvYjogKGpvYjogYW55KSA9PiB2b2lkO1xuICBzaG93VXNlclRlcm1zQW5kQ29uZGl0aW9ucz86IGJvb2xlYW47XG4gIHRvZ2dsZU1lcmNoaUNoZWNrb3V0OiAoKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiBDaGVja291dENsb3NlQnV0dG9uKCkge1xuICBjb25zdCB7IHRvZ2dsZU1lcmNoaUNoZWNrb3V0IH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPSdidXR0b24nXG4gICAgICBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1jbG9zZSdcbiAgICAgIG9uQ2xpY2s9e3RvZ2dsZU1lcmNoaUNoZWNrb3V0fVxuICAgICAgYXJpYS1sYWJlbD0nQ2xvc2UgY2hlY2tvdXQnXG4gICAgPlxuICAgICAgPEZhVGltZXMgYXJpYS1oaWRkZW4gLz5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gQ2hlY2tvdXRIZWFkZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1oZWFkZXInPlxuICAgICAgPE1lcmNoaUNoZWNrb3V0VGFicyAvPlxuICAgICAgPENoZWNrb3V0Q2xvc2VCdXR0b24gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gTWVyY2hpQ2hlY2tvdXQocHJvcHM6IFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPE1lcmNoaUNoZWNrb3V0UHJvdmlkZXIgey4uLnByb3BzfT5cbiAgICAgIDxBbGVydHMgLz5cbiAgICAgIDxDaGVja291dEhlYWRlciAvPlxuICAgICAgPFRhYlBhbmVDb250YWluZXI+XG4gICAgICAgIDxUYWJQYW5lQ3VzdG9tZXIgLz5cbiAgICAgICAgPFRhYlBhbmVBZGRyZXNzIC8+XG4gICAgICAgIDxUYWJQYW5lQ29uZmlybSAvPlxuICAgICAgICA8VGFiUGFuZVN1Ym1pdHRlZCAvPlxuICAgICAgICA8VGFiUGFuZVBheW1lbnQgLz5cbiAgICAgIDwvVGFiUGFuZUNvbnRhaW5lcj5cbiAgICA8L01lcmNoaUNoZWNrb3V0UHJvdmlkZXI+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1lcmNoaUNoZWNrb3V0O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFK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
|