@projectcor/maia-components 2.11.104 → 2.11.105

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.
@@ -27,7 +27,6 @@ import { useRecentContexts } from '../../../hooks/useRecentContexts';
27
27
  import { MAIAIsologo } from '../../atoms/icons/MAIAIsologo';
28
28
  import { TemplateGradientIcon } from '../../atoms/icons/TemplateGradientIcon';
29
29
  import { ChatAIHomeMaiaker } from './ChatAIHomeMaiaker';
30
- import { selectManagerHoursHomeFuas } from '../../../utils/managerHoursHomeFuas';
31
30
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
32
31
  export var FrequentQuestions = /*#__PURE__*/function (FrequentQuestions) {
33
32
  FrequentQuestions["rentabilidad_proyecto"] = "rentabilidad_proyecto";
@@ -240,13 +239,10 @@ export var ChatAIHome = function ChatAIHome(_ref2) {
240
239
  var _useFrequentlyUsedAct2 = useFrequentlyUsedActions(isHeaderHoursAgentHome && !isHeaderManagerHoursHome ? agent === null || agent === void 0 ? void 0 : agent.id : undefined, 'planner'),
241
240
  collaboratorPlannerFuas = _useFrequentlyUsedAct2.actions,
242
241
  collaboratorPlannerFuasLoading = _useFrequentlyUsedAct2.loading;
243
- var _useFrequentlyUsedAct3 = useFrequentlyUsedActions(isHeaderManagerHoursHome ? agent === null || agent === void 0 ? void 0 : agent.id : undefined, 'header'),
244
- managerHomeFuasRaw = _useFrequentlyUsedAct3.actions,
242
+ var _useFrequentlyUsedAct3 = useFrequentlyUsedActions(isHeaderManagerHoursHome ? agent === null || agent === void 0 ? void 0 : agent.id : undefined, 'home_with_hours'),
243
+ managerHomeFuas = _useFrequentlyUsedAct3.actions,
245
244
  managerHomeFuasLoading = _useFrequentlyUsedAct3.loading;
246
- var headerHoursFuas = useMemo(function () {
247
- if (isHeaderManagerHoursHome) return selectManagerHoursHomeFuas(managerHomeFuasRaw);
248
- return collaboratorPlannerFuas;
249
- }, [isHeaderManagerHoursHome, managerHomeFuasRaw, collaboratorPlannerFuas]);
245
+ var headerHoursFuas = isHeaderManagerHoursHome ? managerHomeFuas : collaboratorPlannerFuas;
250
246
  var headerHoursFuasLoading = isHeaderManagerHoursHome ? managerHomeFuasLoading : collaboratorPlannerFuasLoading;
251
247
  var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(realListsAgentId, lang, realListsEntityType),
252
248
  agentFaqs = _useFrequentlyAskedQu.faqs,
@@ -646,4 +642,4 @@ export var ChatAIHome = function ChatAIHome(_ref2) {
646
642
  })]
647
643
  });
648
644
  };
649
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsImZsdXNoU3luYyIsIlRvb2x0aXAiLCJMaXN0Q2hlY2tsaXN0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsIlNDQ0FJSG9tZVRpdGxlIiwiU0NDQUlIb21lVGl0bGVCbG9jayIsIlNDQ0FJSG9tZVN1YnRpdGxlIiwiU0NDQUlIb21lRHluYW1pY1NlY3Rpb24iLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvbkhlYWRlciIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24iLCJNQUlBX0hFQURFUl9DT0xMQUJPUkFUT1JfSE9NRV9DT05URU5UX1dJRFRIX1BYIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVVzZXIiLCJDT1JVc2VyUm9sZSIsImlzQ29sbGFib3JhdG9yUm9sZSIsImlzTWFuYWdlclJvbGUiLCJ1c2VSZXNpemVMaXN0ZW5lciIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm9yY2hlc3RyYXRvckhhc0hvdXJzU3ViYWdlbnQiLCJ2YWxpZGF0ZUlzTWFpYSIsImlzTWFpYWtlckFnZW50IiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwidXNlUmVjZW50Q29udGV4dHMiLCJNQUlBSXNvbG9nbyIsIlRlbXBsYXRlR3JhZGllbnRJY29uIiwiQ2hhdEFJSG9tZU1haWFrZXIiLCJzZWxlY3RNYW5hZ2VySG91cnNIb21lRnVhcyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkZyZXF1ZW50UXVlc3Rpb25zIiwiUkVDRU5UX0NPTlRFWFRTX0xJTUlUIiwiUkVDRU5UX0NPTlRFWFRfSUNPTl9DT0xPUiIsIlJFQ0VOVF9DT05URVhUX0lDT05fU0laRV9QWCIsIlJFQ0VOVF9DT05URVhUX1NLRUxFVE9OX0tFWVMiLCJSZWNlbnRDb250ZXh0UGlsbCIsIl9yZWYiLCJjb250ZXh0IiwibGFiZWwiLCJvbkNsaWNrIiwiX3JlZiRmdWxsV2lkdGgiLCJmdWxsV2lkdGgiLCJ0ZXh0UmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwic2hvd1Rvb2x0aXAiLCJ0eXBlIiwiJGZ1bGxXaWR0aCIsImNoaWxkcmVuIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInVuZGVmaW5lZCIsInJlZiIsInRpdGxlIiwicGFyc2VOdW1lcmljSWQiLCJ2YWx1ZSIsInBhcnNlZCIsIk51bWJlciIsImlzRmluaXRlIiwiZ2V0QWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyIsInJvbGVJZCIsIm5vcm1hbGl6ZWRSb2xlSWQiLCJDTEVWRUwiLCJESVJFQ1RPUiIsIlBST0pFQ1RfTUFOQUdFUiIsIlNldCIsIkNoYXRBSUhvbWUiLCJfcmVmMiIsImhhbmRsZXJzIiwib25TdGFydENoYXQiLCJleHBhbmRlZCIsImZsb2F0aW5nIiwiX3VzZVQiLCJ0IiwiaTE4biIsImV2ZW50IiwidXNlciIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJzZWN0aW9uIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJjaGlwc1Byb2plY3QiLCJzZXRDbGllbnQiLCJzZXRQcm9qZWN0Iiwic2V0VGFzayIsInNldENoaXBzUHJvamVjdCIsImlzTUFJQSIsImZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwibGFuZyIsImxhbmd1YWdlIiwic3VtbWFyeVByb2plY3RBY2Nlc3MiLCJ3aW5kb3ciLCJTdHJpbmciLCJNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUyIsInRvTG93ZXJDYXNlIiwibWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzIiwiZmFxc0FjY2VzcyIsInNob3dQcm9qZWN0U3VtbWFyeSIsImlzTWFpYWtlciIsImlzSGVhZGVySG9tZSIsImlzT3JjaGVzdHJhdG9yIiwiaXNQbGFubmVySG9tZSIsImlzU2VjdGlvbk9yY2hlc3RyYXRvckhvbWUiLCJoYXNIb3Vyc1N1YmFnZW50IiwiaGFzUGlubmVkQ29udGV4dCIsImlkIiwicHJvamVjdElkIiwiaXNSZWNlbnRDb250ZXh0c1N0ZXAiLCJpc0hlYWRlclRhc2tDb250ZXh0SG9tZSIsInJvbGVfaWQiLCJpc0hlYWRlckhvdXJzQWdlbnRIb21lIiwiaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lIiwiaGVhZGVyVGFza0NvbnRleHRTdWJ0aXRsZUtleSIsImlzQ29udGV4dEhvbWVTdGVwIiwiaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWUiLCJhbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzIiwiX3VzZVJlY2VudENvbnRleHRzIiwiZW5hYmxlZCIsImxpbWl0IiwiZmV0Y2hlZFJlY2VudENvbnRleHRzIiwiY29udGV4dHMiLCJyZWNlbnRDb250ZXh0c0xvYWRpbmciLCJsb2FkaW5nIiwicmVjZW50Q29udGV4dHMiLCJmaWx0ZXIiLCJoYXMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZENvbnRleHQiLCJzZXRTZWxlY3RlZENvbnRleHQiLCJhY3RpdmVDb250ZXh0IiwibmFtZSIsInByb2plY3ROYW1lIiwicGlubmVkRW50aXR5VHlwZSIsImlzVGFza0NvbnRleHQiLCJpc0Z1YXNPbmx5SG9tZSIsImZ1YXNTZWN0aW9uIiwicmVhbExpc3RzQWdlbnRJZCIsInJlYWxMaXN0c0VudGl0eVR5cGUiLCJfYWN0aXZlQ29udGV4dCR0eXBlIiwiX3VzZUZyZXF1ZW50bHlVc2VkQWN0IiwiYWdlbnRGdWFzIiwiYWN0aW9ucyIsImZ1YXNMb2FkaW5nIiwiX3VzZUZyZXF1ZW50bHlVc2VkQWN0MiIsImNvbGxhYm9yYXRvclBsYW5uZXJGdWFzIiwiY29sbGFib3JhdG9yUGxhbm5lckZ1YXNMb2FkaW5nIiwiX3VzZUZyZXF1ZW50bHlVc2VkQWN0MyIsIm1hbmFnZXJIb21lRnVhc1JhdyIsIm1hbmFnZXJIb21lRnVhc0xvYWRpbmciLCJoZWFkZXJIb3Vyc0Z1YXMiLCJoZWFkZXJIb3Vyc0Z1YXNMb2FkaW5nIiwiX3VzZUZyZXF1ZW50bHlBc2tlZFF1IiwiYWdlbnRGYXFzIiwiZmFxcyIsImZhcXNMb2FkaW5nIiwiaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiZmFxc0ZldGNoUmVmIiwiX2ZhcXNGZXRjaFJlZiRjdXJyZW50IiwiY3VycmVudEtleSIsImNvbmNhdCIsImxhc3RLZXkiLCJjdXJyZW50IiwiYWdlbnRJZCIsImVudGl0eVR5cGUiLCJmdWFzIiwiZmFxc0FyZUxvYWRpbmciLCJmdWFzQXJlTG9hZGluZyIsInNob3dSZWNlbnRDb250ZXh0c0Jsb2NrIiwibGVuZ3RoIiwic2hvdWxkU2hvd0ZhcXMiLCJzaG91bGRTaG93RnVhcyIsInNob3VsZFNob3dQbGFubmVyRnVhc0xvYWRpbmciLCJzaG91bGRTaG93UGxhbm5lckZ1YXNDb250ZW50Iiwic2hvdWxkU2hvd1BsYW5uZXJGdWFzIiwic2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCIsImVudGl0eSIsInNob3dGQVFzIiwiaG9tZVNjcm9sbGFibGVMYXlvdXQiLCJzaG93RHluYW1pY1NlY3Rpb24iLCJjb250ZW50Q29udGFpbmVyUmVmIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93VG9wR3JhZGllbnQiLCJzZXRTaG93VG9wR3JhZGllbnQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3dCb3R0b21HcmFkaWVudCIsInNldFNob3dCb3R0b21HcmFkaWVudCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsInNjcm9sbFRpbWVvdXRSZWYiLCJncmVldGluZyIsImludHJvIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dCIsIm9yZGVyIiwiX2NvbnRleHQkcGFyZW50cyIsIl9jb250ZXh0JHBhcmVudHMyIiwiX2NvbnRleHQkcGFyZW50czMiLCJfY29udGV4dCRwYXJlbnRzNCIsImFpQ2hhdENvbnRleHRTZWxlY3RlZCIsImNvbnRleHRJZCIsImNsaWVudElkIiwicGFyZW50cyIsImNsaWVudF9pZCIsInByb2plY3RfaWQiLCJjbGllbnROYW1lIiwiY2xpZW50X25hbWUiLCJwcm9qZWN0X25hbWUiLCJfb2JqZWN0U3ByZWFkIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJoYW5kbGVIb21lU3RhcnRDaGF0IiwibWVzc2FnZSIsImF0dGFjaG1lbnRzIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsIm1lbnRpb25zIiwiZnVhSWQiLCJyZW5kZXJSZWNlbnRDb250ZXh0cyIsIiRmaXhlZENvbnRlbnRXaWR0aCIsIiRmbHVzaFBpbGxzIiwibWFwIiwia2V5IiwiaW5kZXgiLCJ0cmltIiwiY2hlY2tTY3JvbGwiLCJjb250YWluZXIiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJpc1Njcm9sbGFibGUiLCJpc0F0VG9wIiwiaXNBdEJvdHRvbSIsImhhbmRsZVNjcm9sbCIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJzY2hlZHVsZUNoZWNrU2Nyb2xsIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJvYnNlcnZlIiwic2Nyb2xsQ29udGVudCIsImZpcnN0RWxlbWVudENoaWxkIiwiRWxlbWVudCIsInRpbWVvdXRJZCIsImxhdGVUaW1lb3V0SWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzY29ubmVjdCIsInJlbmRlckhlYWRlckNvbnRlbnQiLCJfYWdlbnQkY3JlYXRlZF9ieSIsIl9hZ2VudCRjcmVhdGVkX2J5MiIsImVtb2ppIiwiY3JlYXRlZF9ieSIsImlzX2RlbGV0ZWQiLCJjb250ZW50QWxpZ25TdGFydCIsIm1haWFIZWFkZXJTdGFja05lZWRzR2FwIiwiJG5vR2FwIiwiJGFsaWduIiwiJHNpemUiLCJmaXJzdE5hbWUiLCIkY29sbGFib3JhdG9ySG9tZSIsImZpeGVkSG9tZUNvbnRlbnRXaWR0aCIsInNob3dBZ2VudEludHJvZHVjdGlvbiIsIiRhbGlnblN0YXJ0IiwiJHNob3ciLCIkaXNBZ2VudFZpZXciLCIkZmxvYXRpbmdDdXN0b21DZW50ZXIiLCIkY2VudGVyVmVydGljYWxseSIsIiRoZWFkZXJDb2xsYWJvcmF0b3JIb21lIiwiJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lIiwiJGdhcCIsIiRtYXhXaWR0aCIsInByb2plY3RTdW1tYXJ5IiwiJGdyb3ciLCJ2YXJpYW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUhvbWUvQ2hhdEFJSG9tZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBmbHVzaFN5bmMgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IExpc3RDaGVja2xpc3QgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9MaXN0Q2hlY2tsaXN0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5cbmltcG9ydCB7IG9wdGlvbnMgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9jb25zdGFudHMnXG5cbmltcG9ydCB7XG4gIFNDQ0FJSG9tZUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ29udGVudCxcbiAgU0NDQUlIb21lQ29udGVudElubmVyLFxuICBTQ0NBSUhvbWVHcmFkaWVudFRvcCxcbiAgU0NDQUlIb21lR3JhZGllbnRCb3R0b20sXG4gIFNDQ0FJSG9tZUhlYWRlcixcbiAgU0NDQUlIb21lR3JlZXRpbmcsXG4gIFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcixcbiAgU0NDQUlIb21lQWdlbnRJbmZvLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uLFxuICBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCxcbiAgU0NDQUlIb21lSW50cm9kdWN0aW9uLFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lLFxuICBTQ0NBSUhvbWVJY29uQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVMb2dvV3JhcHBlcixcbiAgU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrLFxuICBTQ0NBSUhvbWVUaXRsZSxcbiAgU0NDQUlIb21lVGl0bGVCbG9jayxcbiAgU0NDQUlIb21lU3VidGl0bGUsXG4gIFNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0LFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25IZWFkZXIsXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25TdWJ0aXRsZSxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGwsXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbixcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0LFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFNrZWxldG9uLFxuICBNQUlBX0hFQURFUl9DT0xMQUJPUkFUT1JfSE9NRV9DT05URU5UX1dJRFRIX1BYLFxufSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQsIHR5cGUgU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VVc2VyLCBDT1JVc2VyUm9sZSwgaXNDb2xsYWJvcmF0b3JSb2xlLCBpc01hbmFnZXJSb2xlIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgZ2V0Q29udGV4dE1lbnRpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG9yY2hlc3RyYXRvckhhc0hvdXJzU3ViYWdlbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9vcmNoZXN0cmF0b3JTdWJhZ2VudHMnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgaXNNYWlha2VyQWdlbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvRnJlcXVlbnRseVVzZWRBY3Rpb25zJ1xuaW1wb3J0IHsgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zJ1xuaW1wb3J0IHsgdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgdXNlUmVjZW50Q29udGV4dHMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZWNlbnRDb250ZXh0cydcbmltcG9ydCB0eXBlIHsgUmVjZW50Q29udGV4dEl0ZW0sIFJlY2VudENvbnRleHRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9SZWNlbnRDb250ZXh0cydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvTUFJQUlzb2xvZ28nXG5pbXBvcnQgeyBUZW1wbGF0ZUdyYWRpZW50SWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL1RlbXBsYXRlR3JhZGllbnRJY29uJ1xuaW1wb3J0IHsgQ2hhdEFJSG9tZU1haWFrZXIgfSBmcm9tICcuL0NoYXRBSUhvbWVNYWlha2VyJ1xuaW1wb3J0IHsgc2VsZWN0TWFuYWdlckhvdXJzSG9tZUZ1YXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9tYW5hZ2VySG91cnNIb21lRnVhcydcblxudHlwZSBDaGF0QUlIb21lUHJvcHMgPSB7XG4gIG9uU3RhcnRDaGF0OiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSB8IG51bGwsXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgbWVudGlvbnM/OiBudWxsLFxuICAgIGZ1YUlkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICgpID0+IHZvaWQ+XG4gIGV4cGFuZGVkPzogYm9vbGVhblxuICBmbG9hdGluZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRnJlcXVlbnRRdWVzdGlvbnMge1xuICByZW50YWJpbGlkYWRfcHJveWVjdG8gPSAncmVudGFiaWxpZGFkX3Byb3llY3RvJyxcbiAgYXZhbmNlX3Byb3llY3RvID0gJ2F2YW5jZV9wcm95ZWN0bycsXG59XG5cbmNvbnN0IFJFQ0VOVF9DT05URVhUU19MSU1JVCA9IDlcbmNvbnN0IFJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IgPSAnIzRENEQ0RCdcbmNvbnN0IFJFQ0VOVF9DT05URVhUX0lDT05fU0laRV9QWCA9IDE1XG5jb25zdCBSRUNFTlRfQ09OVEVYVF9TS0VMRVRPTl9LRVlTID0gW1xuICAncmVjZW50LWNvbnRleHQtc2tlbGV0b24tMScsXG4gICdyZWNlbnQtY29udGV4dC1za2VsZXRvbi0yJyxcbiAgJ3JlY2VudC1jb250ZXh0LXNrZWxldG9uLTMnLFxuXVxuXG5jb25zdCBSZWNlbnRDb250ZXh0UGlsbCA9ICh7XG4gIGNvbnRleHQsXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICBmdWxsV2lkdGggPSBmYWxzZSxcbn06IHtcbiAgY29udGV4dDogUmVjZW50Q29udGV4dEl0ZW1cbiAgbGFiZWw6IHN0cmluZ1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG4gIGZ1bGxXaWR0aD86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtsYWJlbF0pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGwgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ2xpY2t9ICRmdWxsV2lkdGg9e2Z1bGxXaWR0aH0+XG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uPlxuICAgICAgICB7Y29udGV4dC50eXBlID09PSAndGFzaycgPyAoXG4gICAgICAgICAgPExpc3RDaGVja2xpc3QgY29sb3I9e1JFQ0VOVF9DT05URVhUX0lDT05fQ09MT1J9IHdpZHRoPVwiMTVweFwiIGhlaWdodD1cIjE1cHhcIiAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIGdldENvbnRleHRNZW50aW9uSWNvbihjb250ZXh0LnR5cGUsIFJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IsIHVuZGVmaW5lZCwgUkVDRU5UX0NPTlRFWFRfSUNPTl9TSVpFX1BYKVxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24+XG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0IHJlZj17dGV4dFJlZn0+XG4gICAgICAgIHtzaG93VG9vbHRpcCA/IChcbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17bGFiZWx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0PlxuICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGw+XG4gIClcbn1cblxuY29uc3QgcGFyc2VOdW1lcmljSWQgPSAodmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIG51bGxcbiAgY29uc3QgcGFyc2VkID0gTnVtYmVyKHZhbHVlKVxuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHBhcnNlZCkgPyBwYXJzZWQgOiBudWxsXG59XG5cbmNvbnN0IGdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMgPSAocm9sZUlkPzogQ09SVXNlclJvbGUgfCBudW1iZXIgfCBzdHJpbmcpOiBTZXQ8UmVjZW50Q29udGV4dFR5cGU+ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZFJvbGVJZCA9IE51bWJlcihyb2xlSWQpXG4gIGlmIChcbiAgICBub3JtYWxpemVkUm9sZUlkID09PSBDT1JVc2VyUm9sZS5DTEVWRUwgfHxcbiAgICBub3JtYWxpemVkUm9sZUlkID09PSBDT1JVc2VyUm9sZS5ESVJFQ1RPUiB8fFxuICAgIG5vcm1hbGl6ZWRSb2xlSWQgPT09IENPUlVzZXJSb2xlLlBST0pFQ1RfTUFOQUdFUlxuICApIHtcbiAgICByZXR1cm4gbmV3IFNldChbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snXSlcbiAgfVxuICBpZiAoaXNDb2xsYWJvcmF0b3JSb2xlKHJvbGVJZCkpIHtcbiAgICByZXR1cm4gbmV3IFNldChbJ3Rhc2snXSlcbiAgfVxuICByZXR1cm4gbmV3IFNldCgpXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlIb21lID0gKHsgaGFuZGxlcnMsIG9uU3RhcnRDaGF0LCBleHBhbmRlZCwgZmxvYXRpbmcgfTogQ2hhdEFJSG9tZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IHsgYWdlbnQsIHNlY3Rpb24sIGNsaWVudCwgcHJvamVjdCwgdGFzaywgY2hpcHNQcm9qZWN0LCBzZXRDbGllbnQsIHNldFByb2plY3QsIHNldFRhc2ssIHNldENoaXBzUHJvamVjdCB9ID1cbiAgICB1c2VHbG9iYWxDb250ZXh0KClcblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcbiAgY29uc3QgZmxvYXRpbmdDdXN0b21DZW50ZXIgPSAhIShmbG9hdGluZyAmJiBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0JyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBjb25zdCBzdW1tYXJ5UHJvamVjdEFjY2VzcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoU3RyaW5nKHdpbmRvdy5NQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIHx8XG4gICAgICBTdHJpbmcod2luZG93Lm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKVxuICBjb25zdCBmYXFzQWNjZXNzID0gdHJ1ZVxuICBjb25zdCBzaG93UHJvamVjdFN1bW1hcnkgPSAhIShpc01BSUEgJiYgc3VtbWFyeVByb2plY3RBY2Nlc3MpXG4gIC8vIEVsIG9yY2hlc3RyYXRvciAodHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIG11ZXN0cmEgRkFRcy9GVUFzIGFncmVnYWRhcyBkZSBzdXMgc3ViYWdlbnRlcyxcbiAgLy8gYXPDrSBxdWUgTk8gc2UgdHJhdGEgY29tbyBtYWlha2VyIGFjw6EuXG4gIGNvbnN0IGlzTWFpYWtlciA9IGlzTWFpYWtlckFnZW50KGFnZW50KVxuICBjb25zdCBpc0hlYWRlckhvbWUgPSBpc01BSUEgJiYgc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InXG4gIC8vIEVsIG9yY2hlc3RyYXRvciB1c2EgZWwgaG9tZSBlbiAyIHBhc29zIChjb250ZXh0b3MgcmVjaWVudGVzIOKGlCBGQVFzL0ZVQXMpIGVuIGhlYWRlci9wcm9qZWN0L2NsaWVudC90YXNrLlxuICAvLyBFbiBwcm9qZWN0L2NsaWVudC90YXNrLCBhbCBsaW1waWFyIGVsIGNvbnRleHRvIChwLiBlai4gYWwgcmVzZWxlY2Npb25hciBNQUlBXG4gIC8vIGRlc2RlIGVsIGxpc3RhZG8gZGUgYWdlbnRlcykgc2UgbXVlc3RyYSBlbCBzZWxlY3RvciBkZSBjb250ZXh0b3MgcmVjaWVudGVzIGVuIGx1Z2FyIGRlIHVuIGhvbWUgdmFjw61vLlxuICBjb25zdCBpc09yY2hlc3RyYXRvciA9IGlzTUFJQSAmJiBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcbiAgLy8gUGxhbm5lcjogaG9tZSBkZSBGVUFzIGRlbCBvcmNoZXN0cmF0b3IgKHNpbiBzZWxlY3RvciBkZSBjb250ZXh0b3MpLlxuICAvLyBTaSBlbCB1c3VhcmlvIG5hdmVnYSBhIE1haWFrZXIgdSBvdHJvIGFnZW50ZSwgc2VjdGlvbiBzaWd1ZSBzaWVuZG8gYHBsYW5uZXJgIHBlcm8geWEgbm8gZXMgZXN0ZSBob21lLlxuICBjb25zdCBpc1BsYW5uZXJIb21lID0gc2VjdGlvbiA9PT0gJ3BsYW5uZXInICYmIGlzT3JjaGVzdHJhdG9yXG4gIC8vIEhvbWVzIGRlIHNlY2Npw7NuIChwcm9qZWN0L2NsaWVudC90YXNrKTogc2luIGlzb2xvZ28sIGNvbnRlbmlkbyB0b3AtbGVmdCwgY29sdW1uYSA0NDhweCBjZW50cmFkYS5cbiAgY29uc3QgaXNTZWN0aW9uT3JjaGVzdHJhdG9ySG9tZSA9IGlzT3JjaGVzdHJhdG9yICYmICFpc0hlYWRlckhvbWUgJiYgIWlzUGxhbm5lckhvbWVcbiAgY29uc3QgaGFzSG91cnNTdWJhZ2VudCA9IG9yY2hlc3RyYXRvckhhc0hvdXJzU3ViYWdlbnQoYWdlbnQpXG5cbiAgLy8gSG9tZSBkZWwgb3JjaGVzdHJhdG9yIGVuIDIgcGFzb3M6XG4gIC8vICAtIFBhc28gMSAoc2luIGNvbnRleHRvIHBpbmVhZG8pOiBzZSBtdWVzdHJhbiBzb2xvIGxvcyBjb250ZXh0b3MgcmVjaWVudGVzLlxuICAvLyAgLSBQYXNvIDIgKGNvbnRleHRvIHBpbmVhZG8pOiBzZSBtdWVzdHJhbiBsYXMgRkFRcy9hY2Npb25lcyBxdWUgcmVmZXJlbmNpYW4gZXNlIGNvbnRleHRvLlxuICBjb25zdCBoYXNQaW5uZWRDb250ZXh0ID0gISEodGFzaz8uaWQgfHwgY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQgfHwgY2xpZW50Py5pZCB8fCBwcm9qZWN0Py5pZClcbiAgY29uc3QgaXNSZWNlbnRDb250ZXh0c1N0ZXAgPSBpc09yY2hlc3RyYXRvciAmJiAhaGFzUGlubmVkQ29udGV4dCAmJiAhaXNQbGFubmVySG9tZVxuICAvLyBIZWFkZXIgcGFzbyAxIGNvbXBhY3RvIChzaW4gaXNvbG9nbywgcGlsbHMgZnVsbC13aWR0aCk6IGNvbGFib3JhZG9yIHkgbWFuYWdlcnMgKEMtTGV2ZWwvRGlyZWN0b3IvUE0pLlxuICBjb25zdCBpc0hlYWRlclRhc2tDb250ZXh0SG9tZSA9XG4gICAgc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgaXNSZWNlbnRDb250ZXh0c1N0ZXAgJiYgKGlzQ29sbGFib3JhdG9yUm9sZSh1c2VyLnJvbGVfaWQpIHx8IGlzTWFuYWdlclJvbGUodXNlci5yb2xlX2lkKSlcbiAgLy8gQmxvcXVlIEZVQXMgcGxhbm5lciArIHNlY2Npw7NuIGRlIGNvbnRleHRvcyByZWNpZW50ZXMgY29uIHTDrXR1bG9zIChjb2xhYm9yYWRvciBvIG1hbmFnZXIgY29uIGhvdXIpLlxuICBjb25zdCBpc0hlYWRlckhvdXJzQWdlbnRIb21lID0gaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgJiYgaGFzSG91cnNTdWJhZ2VudFxuICBjb25zdCBpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWUgPSBpc0hlYWRlckhvdXJzQWdlbnRIb21lICYmIGlzTWFuYWdlclJvbGUodXNlci5yb2xlX2lkKVxuICBjb25zdCBoZWFkZXJUYXNrQ29udGV4dFN1YnRpdGxlS2V5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzSGVhZGVySG91cnNBZ2VudEhvbWUpIHtcbiAgICAgIGlmIChpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWUpIHJldHVybiAnaG9tZU1lbnUuY29udGV4dEhvbWUuc3VidGl0bGVNYW5hZ2VyV2l0aEhvdXJzJ1xuICAgICAgcmV0dXJuICdob21lTWVudS5jb250ZXh0SG9tZS5zdWJ0aXRsZUNvbGxhYm9yYXRvcldpdGhIb3VycydcbiAgICB9XG4gICAgaWYgKGlzTWFuYWdlclJvbGUodXNlci5yb2xlX2lkKSkgcmV0dXJuICdob21lTWVudS5jb250ZXh0SG9tZS5zdWJ0aXRsZSdcbiAgICByZXR1cm4gJ2hvbWVNZW51LmNvbnRleHRIb21lLnN1YnRpdGxlQ29sbGFib3JhdG9yJ1xuICB9LCBbaXNIZWFkZXJIb3Vyc0FnZW50SG9tZSwgaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lLCB1c2VyLnJvbGVfaWRdKVxuICBjb25zdCBpc0NvbnRleHRIb21lU3RlcCA9IGlzSGVhZGVySG9tZSAmJiBoYXNQaW5uZWRDb250ZXh0XG4gIC8vIEhlYWRlciBwYXNvIDIgKEZBUXMvRlVBcyBjb24gY29udGV4dG8pIHkgaG9tZXMgZGUgc2VjY2nDs24gY29tcGFydGVuIGxheW91dDogc2luIGlzb2xvZ28sIHRleHRvIGEgbGEgaXpxdWllcmRhLlxuICBjb25zdCBpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZSA9IGlzU2VjdGlvbk9yY2hlc3RyYXRvckhvbWUgfHwgaXNDb250ZXh0SG9tZVN0ZXBcblxuICBjb25zdCBhbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSkgcmV0dXJuIGdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXModXNlci5yb2xlX2lkKVxuICAgIGlmIChpc0hlYWRlclRhc2tDb250ZXh0SG9tZSAmJiBpc01hbmFnZXJSb2xlKHVzZXIucm9sZV9pZCkpIHJldHVybiBnZXRBbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzKHVzZXIucm9sZV9pZClcbiAgICBpZiAoaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUpIHJldHVybiBuZXcgU2V0PFJlY2VudENvbnRleHRUeXBlPihbJ3Rhc2snXSlcbiAgICByZXR1cm4gZ2V0QWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyh1c2VyLnJvbGVfaWQpXG4gIH0sIFt1c2VyLnJvbGVfaWQsIGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSwgaXNIZWFkZXJUYXNrQ29udGV4dEhvbWVdKVxuICBjb25zdCB7IGNvbnRleHRzOiBmZXRjaGVkUmVjZW50Q29udGV4dHMsIGxvYWRpbmc6IHJlY2VudENvbnRleHRzTG9hZGluZyB9ID0gdXNlUmVjZW50Q29udGV4dHMoe1xuICAgIGVuYWJsZWQ6IGlzT3JjaGVzdHJhdG9yICYmICFpc1BsYW5uZXJIb21lLFxuICAgIGxpbWl0OiBSRUNFTlRfQ09OVEVYVFNfTElNSVQsXG4gIH0pXG4gIGNvbnN0IHJlY2VudENvbnRleHRzID0gdXNlTWVtbyhcbiAgICAoKSA9PiBmZXRjaGVkUmVjZW50Q29udGV4dHMuZmlsdGVyKGNvbnRleHQgPT4gYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcy5oYXMoY29udGV4dC50eXBlKSksXG4gICAgW2ZldGNoZWRSZWNlbnRDb250ZXh0cywgYWxsb3dlZFJlY2VudENvbnRleHRUeXBlc11cbiAgKVxuXG4gIC8vIENvbnRleHRvIGFjdGl2byBwYXJhIGRlcml2YXIgRkFRcy9hY2Npb25lcyAocGFzbyAyKS4gUHJlZmVyaW1vcyBlbCBwaWxsIGNsaWNrZWFkbztcbiAgLy8gc2kgbm8sIGxvIHJlY29uc3RydWltb3MgZGVzZGUgZWwgY29udGV4dG8gZ2xvYmFsLlxuICBjb25zdCBbc2VsZWN0ZWRDb250ZXh0LCBzZXRTZWxlY3RlZENvbnRleHRdID0gdXNlU3RhdGU8UmVjZW50Q29udGV4dEl0ZW0gfCBudWxsPihudWxsKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaGFzUGlubmVkQ29udGV4dCkgc2V0U2VsZWN0ZWRDb250ZXh0KG51bGwpXG4gIH0sIFtoYXNQaW5uZWRDb250ZXh0XSlcblxuICBjb25zdCBhY3RpdmVDb250ZXh0ID0gdXNlTWVtbzxSZWNlbnRDb250ZXh0SXRlbSB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRDb250ZXh0KSByZXR1cm4gc2VsZWN0ZWRDb250ZXh0XG4gICAgaWYgKCFpc0NvbnRleHRIb21lU3RlcCkgcmV0dXJuIG51bGxcbiAgICBpZiAodGFzaz8uaWQpIHJldHVybiB7IHR5cGU6ICd0YXNrJywgaWQ6IHRhc2suaWQsIG5hbWU6IHRhc2submFtZSB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSByZXR1cm4geyB0eXBlOiAncHJvamVjdCcsIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLCBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUgfVxuICAgIGlmIChjbGllbnQ/LmlkKSByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICBzZWxlY3RlZENvbnRleHQsXG4gICAgaXNDb250ZXh0SG9tZVN0ZXAsXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICBjaGlwc1Byb2plY3Q/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lLFxuICAgIGNsaWVudD8uaWQsXG4gICAgY2xpZW50Py5uYW1lLFxuICBdKVxuXG4gIC8vIGVudGl0eV90eXBlIGRlbCBjb250ZXh0byBwaW5lYWRvIChwcm9qZWN0L2NsaWVudC90YXNrKSwgdG9tYWRvIGRlbCBjb250ZXh0byBnbG9iYWwuXG4gIC8vIEFwbGljYSB0YW50byBhbCBhYnJpciBNQUlBIGRlc2RlIHVuYSBzZWNjacOzbiBlc3BlY8OtZmljYSBjb21vIGFsIGNhbWJpYXIgZGUgY29udmVyc2FjacOzbi5cbiAgY29uc3QgcGlubmVkRW50aXR5VHlwZSA9IHVzZU1lbW88UmVjZW50Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQpIHJldHVybiAndGFzaydcbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQgfHwgcHJvamVjdD8uaWQpIHJldHVybiAncHJvamVjdCdcbiAgICBpZiAoY2xpZW50Py5pZCkgcmV0dXJuICdjbGllbnQnXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdGFzaz8uaWQsIGNoaXBzUHJvamVjdD8ucHJvamVjdElkLCBwcm9qZWN0Py5pZCwgY2xpZW50Py5pZF0pXG5cbiAgLy8gRW4gcHJvamVjdC9jbGllbnQvdGFzaywgY29uIGVsIHJlaW5pY2lvIGRlIGNvbnRleHRvIGVsIHVzdWFyaW8gcHVlZGUgcGluZWFyIHVuIGNvbnRleHRvIGRlIHVuXG4gIC8vIHRpcG8gZGlzdGludG8gYWwgZGUgbGEgc2VjY2nDs24gZGUgYXBlcnR1cmEgKHAuIGVqLiB1biBwcm9qZWN0IGFicmllbmRvIGRlc2RlIHVuYSB0YXJlYSwgb1xuICAvLyB2aWNldmVyc2EpLiBMYXMgRkFRcy9GVUFzIGRlYmVuIGRlcGVuZGVyIGRlbCBjb250ZXh0byByZWFsbWVudGUgcGluZWFkbywgbm8gZGUgbGEgc2VjY2nDs24gZmlqYS5cbiAgLy8gRW4gZWwgaGVhZGVyIHNlIG1hbnRpZW5lIGxhIGzDs2dpY2EgZXhpc3RlbnRlIChiYXNhZGEgZW4gZWwgY29udGV4dG8gc2VsZWNjaW9uYWRvIC8gYWN0aXZlQ29udGV4dCkuXG4gIGNvbnN0IGlzVGFza0NvbnRleHQgPSAhaXNIZWFkZXJIb21lICYmIHBpbm5lZEVudGl0eVR5cGUgPT09ICd0YXNrJ1xuICAvLyBTb2xvIEZVQXMgKHNpbiBGQVFzKTogdGFzayBwYW5lbCBvIHBsYW5uZXIuXG4gIGNvbnN0IGlzRnVhc09ubHlIb21lID0gaXNQbGFubmVySG9tZSB8fCBpc1Rhc2tDb250ZXh0XG4gIC8vIGBzZWN0aW9uYCBxdWUgc2UgY29uc3VsdGEgcGFyYSBsYXMgRlVBczogZW4gbm8taGVhZGVyIHNpZ3VlIGVsIHRpcG8gZGUgY29udGV4dG8gcGluZWFkby5cbiAgLy8gRW4gcGxhbm5lciBzZSBmdWVyemEgbGEgc2VjdGlvbiBBUEkgYHBsYW5uZXJgLlxuICBjb25zdCBmdWFzU2VjdGlvbjogU2VjdGlvbiA9ICgoKSA9PiB7XG4gICAgaWYgKGlzUGxhbm5lckhvbWUpIHJldHVybiAncGxhbm5lcidcbiAgICBpZiAoIWlzSGVhZGVySG9tZSAmJiBwaW5uZWRFbnRpdHlUeXBlKSByZXR1cm4gcGlubmVkRW50aXR5VHlwZVxuICAgIHJldHVybiBzZWN0aW9uXG4gIH0pKClcblxuICAvLyBGQVFzL2FjY2lvbmVzOlxuICAvLyAgLSBoZWFkZXItaG9tZSAob3JjaGVzdHJhdG9yKSwgcGFzbyAyOiBmaWx0cmFkYXMgcG9yIGBlbnRpdHlfdHlwZWAgZGVsIGNvbnRleHRvIHNlbGVjY2lvbmFkby5cbiAgLy8gIC0gaG9tZXMgZGUgcHJveWVjdG8vY2xpZW50ZS90YXJlYSAoc2VjY2nDs24pOiBmaWx0cmFkYXMgcG9yIGVsIGBlbnRpdHlfdHlwZWAgZGVsIGNvbnRleHRvIHNldGVhZG8uXG4gIC8vICAtIHBsYW5uZXI6IEZVQXMgY29uIHNlY3Rpb249cGxhbm5lciwgc2luIGVudGl0eV90eXBlIG5pIEZBUXMuXG4gIGNvbnN0IHJlYWxMaXN0c0FnZW50SWQgPSAoKCkgPT4ge1xuICAgIGlmICghaXNNQUlBIHx8IGlzTWFpYWtlcikgcmV0dXJuIHVuZGVmaW5lZFxuICAgIC8vIFBhc28gMSAoY29udGV4dG9zIHJlY2llbnRlcywgc2luIGNvbnRleHRvKTogbm8gc2UgcGlkZW4gRkFRcy9GVUFzLlxuICAgIGlmIChpc1JlY2VudENvbnRleHRzU3RlcCkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGlmIChpc0hlYWRlckhvbWUpIHJldHVybiBpc0NvbnRleHRIb21lU3RlcCA/IGFnZW50Py5pZCA6IHVuZGVmaW5lZFxuICAgIHJldHVybiBhZ2VudD8uaWRcbiAgfSkoKVxuICBjb25zdCByZWFsTGlzdHNFbnRpdHlUeXBlID0gKCgpID0+IHtcbiAgICBpZiAoaXNQbGFubmVySG9tZSkgcmV0dXJuICdwbGFubmVyJ1xuICAgIGlmICghaXNIZWFkZXJIb21lKSByZXR1cm4gcGlubmVkRW50aXR5VHlwZVxuICAgIHJldHVybiBpc0NvbnRleHRIb21lU3RlcCA/IChhY3RpdmVDb250ZXh0Py50eXBlID8/IHBpbm5lZEVudGl0eVR5cGUpIDogdW5kZWZpbmVkXG4gIH0pKClcbiAgY29uc3QgeyBhY3Rpb25zOiBhZ2VudEZ1YXMsIGxvYWRpbmc6IGZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoXG4gICAgcmVhbExpc3RzQWdlbnRJZCxcbiAgICBmdWFzU2VjdGlvbixcbiAgICByZWFsTGlzdHNFbnRpdHlUeXBlXG4gIClcbiAgY29uc3QgeyBhY3Rpb25zOiBjb2xsYWJvcmF0b3JQbGFubmVyRnVhcywgbG9hZGluZzogY29sbGFib3JhdG9yUGxhbm5lckZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoXG4gICAgaXNIZWFkZXJIb3Vyc0FnZW50SG9tZSAmJiAhaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lID8gYWdlbnQ/LmlkIDogdW5kZWZpbmVkLFxuICAgICdwbGFubmVyJ1xuICApXG4gIGNvbnN0IHsgYWN0aW9uczogbWFuYWdlckhvbWVGdWFzUmF3LCBsb2FkaW5nOiBtYW5hZ2VySG9tZUZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoXG4gICAgaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lID8gYWdlbnQ/LmlkIDogdW5kZWZpbmVkLFxuICAgICdoZWFkZXInXG4gIClcbiAgY29uc3QgaGVhZGVySG91cnNGdWFzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSkgcmV0dXJuIHNlbGVjdE1hbmFnZXJIb3Vyc0hvbWVGdWFzKG1hbmFnZXJIb21lRnVhc1JhdylcbiAgICByZXR1cm4gY29sbGFib3JhdG9yUGxhbm5lckZ1YXNcbiAgfSwgW2lzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSwgbWFuYWdlckhvbWVGdWFzUmF3LCBjb2xsYWJvcmF0b3JQbGFubmVyRnVhc10pXG4gIGNvbnN0IGhlYWRlckhvdXJzRnVhc0xvYWRpbmcgPSBpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWUgPyBtYW5hZ2VySG9tZUZ1YXNMb2FkaW5nIDogY29sbGFib3JhdG9yUGxhbm5lckZ1YXNMb2FkaW5nXG4gIGNvbnN0IHtcbiAgICBmYXFzOiBhZ2VudEZhcXMsXG4gICAgbG9hZGluZzogZmFxc0xvYWRpbmcsXG4gICAgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLFxuICB9ID0gdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHJlYWxMaXN0c0FnZW50SWQsIGxhbmcsIHJlYWxMaXN0c0VudGl0eVR5cGUpXG4gIGNvbnN0IGZhcXNGZXRjaFJlZiA9IHVzZVJlZjx7IGFnZW50SWQ6IHN0cmluZzsgbGFuZzogc3RyaW5nOyBlbnRpdHlUeXBlPzogc3RyaW5nIH0gfCBudWxsPihudWxsKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFRhc2sgLyBwbGFubmVyOiBzb2xvIEZVQXMsIHNpbiBGQVFzLlxuICAgIGlmICghcmVhbExpc3RzQWdlbnRJZCB8fCBpc0Z1YXNPbmx5SG9tZSkgcmV0dXJuXG4gICAgY29uc3QgY3VycmVudEtleSA9IGAke3JlYWxMaXN0c0FnZW50SWR9LSR7bGFuZ30tJHtyZWFsTGlzdHNFbnRpdHlUeXBlID8/ICdhbGwnfWBcbiAgICBjb25zdCBsYXN0S2V5ID0gZmFxc0ZldGNoUmVmLmN1cnJlbnRcbiAgICAgID8gYCR7ZmFxc0ZldGNoUmVmLmN1cnJlbnQuYWdlbnRJZH0tJHtmYXFzRmV0Y2hSZWYuY3VycmVudC5sYW5nfS0ke2ZhcXNGZXRjaFJlZi5jdXJyZW50LmVudGl0eVR5cGUgPz8gJ2FsbCd9YFxuICAgICAgOiBudWxsXG4gICAgaWYgKGN1cnJlbnRLZXkgIT09IGxhc3RLZXkpIHtcbiAgICAgIGZhcXNGZXRjaFJlZi5jdXJyZW50ID0geyBhZ2VudElkOiByZWFsTGlzdHNBZ2VudElkLCBsYW5nLCBlbnRpdHlUeXBlOiByZWFsTGlzdHNFbnRpdHlUeXBlIH1cbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQ6IHJlYWxMaXN0c0FnZW50SWQsIGxhbmcsIGVudGl0eVR5cGU6IHJlYWxMaXN0c0VudGl0eVR5cGUgfSlcbiAgICB9XG4gIH0sIFtyZWFsTGlzdHNBZ2VudElkLCByZWFsTGlzdHNFbnRpdHlUeXBlLCBpc0Z1YXNPbmx5SG9tZSwgbGFuZywgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXSlcblxuICBjb25zdCBmYXFzID0gYWdlbnRGYXFzXG4gIGNvbnN0IGZ1YXMgPSBhZ2VudEZ1YXNcbiAgY29uc3QgZmFxc0FyZUxvYWRpbmcgPSBmYXFzTG9hZGluZ1xuICBjb25zdCBmdWFzQXJlTG9hZGluZyA9IGZ1YXNMb2FkaW5nXG5cbiAgY29uc3Qgc2hvd1JlY2VudENvbnRleHRzQmxvY2sgPSBpc1JlY2VudENvbnRleHRzU3RlcCAmJiAocmVjZW50Q29udGV4dHNMb2FkaW5nIHx8IHJlY2VudENvbnRleHRzLmxlbmd0aCA+IDApXG4gIGNvbnN0IHNob3VsZFNob3dGYXFzID1cbiAgICAhaXNSZWNlbnRDb250ZXh0c1N0ZXAgJiZcbiAgICAhaXNGdWFzT25seUhvbWUgJiZcbiAgICAoaXNDb250ZXh0SG9tZVN0ZXAgfHwgKCFpc0hlYWRlckhvbWUgJiYgZmFxc0FjY2VzcykpICYmXG4gICAgIWlzTWFpYWtlciAmJlxuICAgIChmYXFzLmxlbmd0aCA+IDAgfHwgZmFxc0FyZUxvYWRpbmcpXG4gIGNvbnN0IHNob3VsZFNob3dGdWFzID1cbiAgICAhaXNSZWNlbnRDb250ZXh0c1N0ZXAgJiYgIWlzTWFpYWtlciAmJiAoaXNDb250ZXh0SG9tZVN0ZXAgfHwgIWlzSGVhZGVySG9tZSkgJiYgKGZ1YXMubGVuZ3RoID4gMCB8fCBmdWFzQXJlTG9hZGluZylcbiAgY29uc3Qgc2hvdWxkU2hvd1BsYW5uZXJGdWFzTG9hZGluZyA9IGlzSGVhZGVySG91cnNBZ2VudEhvbWUgJiYgaGVhZGVySG91cnNGdWFzTG9hZGluZyAmJiBoZWFkZXJIb3Vyc0Z1YXMubGVuZ3RoID09PSAwXG4gIGNvbnN0IHNob3VsZFNob3dQbGFubmVyRnVhc0NvbnRlbnQgPSBpc0hlYWRlckhvdXJzQWdlbnRIb21lICYmIGhlYWRlckhvdXJzRnVhcy5sZW5ndGggPiAwXG4gIGNvbnN0IHNob3VsZFNob3dQbGFubmVyRnVhcyA9IHNob3VsZFNob3dQbGFubmVyRnVhc0xvYWRpbmcgfHwgc2hvdWxkU2hvd1BsYW5uZXJGdWFzQ29udGVudFxuXG4gIGNvbnN0IHNob3dQcm9qZWN0U3VtbWFyeUNhcmQgPSBzaG93UHJvamVjdFN1bW1hcnkgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHNob3dGQVFzID0gISEoXG4gICAgc2hvd1JlY2VudENvbnRleHRzQmxvY2sgfHxcbiAgICBzaG91bGRTaG93RmFxcyB8fFxuICAgIHNob3VsZFNob3dGdWFzIHx8XG4gICAgc2hvdWxkU2hvd1BsYW5uZXJGdWFzIHx8XG4gICAgc2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCB8fFxuICAgIGlzTWFpYWtlclxuICApXG4gIGNvbnN0IGhvbWVTY3JvbGxhYmxlTGF5b3V0ID0gc2hvd0ZBUXNcbiAgY29uc3Qgc2hvd0R5bmFtaWNTZWN0aW9uID1cbiAgICBzaG93UmVjZW50Q29udGV4dHNCbG9jayB8fCBzaG91bGRTaG93RmFxcyB8fCBzaG91bGRTaG93RnVhcyB8fCBzaG91bGRTaG93UGxhbm5lckZ1YXMgfHwgaXNNYWlha2VyXG5cbiAgLy8gTMOzZ2ljYSBkZWwgc2Nyb2xsIGNvbiBncmFkaWVudGVzXG4gIGNvbnN0IGNvbnRlbnRDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtzaG93VG9wR3JhZGllbnQsIHNldFNob3dUb3BHcmFkaWVudF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Nob3dCb3R0b21HcmFkaWVudCwgc2V0U2hvd0JvdHRvbUdyYWRpZW50XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNTY3JvbGxpbmcsIHNldElzU2Nyb2xsaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBzY3JvbGxUaW1lb3V0UmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbD4obnVsbClcblxuICAvLyBTYWx1ZG8gZmlqbyBwb3IgdGlwbyBkZSBjb250ZXh0byAoaTE4bikuIEN1c3RvbSBhZ2VudHMgc2lndWVuIHVzYW5kbyBhZ2VudC5pbnRyb2R1Y3Rpb24uXG4gIC8vIFBsYW5uZXIgdXNhIHTDrXR1bG8gKyBiYWphZGEgcHJvcGlvcyAoYHBsYW5uZXJIb21lYCksIG5vIGVzdGUgZ3JlZXRpbmcuXG4gIGNvbnN0IGdyZWV0aW5nID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzTWFpYWtlciB8fCBpc1BsYW5uZXJIb21lIHx8IGlzUmVjZW50Q29udGV4dHNTdGVwKSByZXR1cm4gJydcblxuICAgIGlmIChpc01BSUEgJiYgcGlubmVkRW50aXR5VHlwZSkge1xuICAgICAgcmV0dXJuIHQoYGhvbWVNZW51LmNvbnRleHRIb21lLmNvbnRleHRHcmVldGluZy4ke3Bpbm5lZEVudGl0eVR5cGV9YClcbiAgICB9XG5cbiAgICBjb25zdCBpbnRybyA9IGFnZW50Py5pbnRyb2R1Y3Rpb25cbiAgICBpZiAoIWludHJvKSByZXR1cm4gJydcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnRybykgJiYgaW50cm8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludHJvW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGludHJvLmxlbmd0aCldXG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgaW50cm8gPT09ICdzdHJpbmcnID8gaW50cm8gOiAnJ1xuICB9LCBbYWdlbnQ/LmlkLCBhZ2VudD8uaW50cm9kdWN0aW9uLCBpc01haWFrZXIsIGlzUGxhbm5lckhvbWUsIGlzTUFJQSwgcGlubmVkRW50aXR5VHlwZSwgaXNSZWNlbnRDb250ZXh0c1N0ZXAsIHRdKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFJlY2VudENvbnRleHQgPSB1c2VDYWxsYmFjayhcbiAgICAoY29udGV4dDogUmVjZW50Q29udGV4dEl0ZW0sIG9yZGVyOiBudW1iZXIpID0+IHtcbiAgICAgIGV2ZW50KEVWRU5UUy5haUNoYXRDb250ZXh0U2VsZWN0ZWQsIHsgb3JkZXIsIHR5cGU6IGNvbnRleHQudHlwZSB9KVxuXG4gICAgICBjb25zdCBjb250ZXh0SWQgPSBwYXJzZU51bWVyaWNJZChjb250ZXh0LmlkKVxuICAgICAgY29uc3QgY2xpZW50SWQgPSBwYXJzZU51bWVyaWNJZChjb250ZXh0LnBhcmVudHM/LmNsaWVudF9pZClcbiAgICAgIGNvbnN0IHByb2plY3RJZCA9IHBhcnNlTnVtZXJpY0lkKGNvbnRleHQucGFyZW50cz8ucHJvamVjdF9pZClcbiAgICAgIGNvbnN0IGNsaWVudE5hbWUgPSBjb250ZXh0LnBhcmVudHM/LmNsaWVudF9uYW1lIHx8ICcnXG4gICAgICBjb25zdCBwcm9qZWN0TmFtZSA9IGNvbnRleHQucGFyZW50cz8ucHJvamVjdF9uYW1lIHx8ICcnXG5cbiAgICAgIHNldFNlbGVjdGVkQ29udGV4dChjb250ZXh0KVxuICAgICAgc2V0VGFzayhudWxsKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuXG4gICAgICBpZiAoY29udGV4dC50eXBlID09PSAnY2xpZW50Jykge1xuICAgICAgICBpZiAoY29udGV4dElkID09IG51bGwpIHJldHVyblxuICAgICAgICBzZXRDbGllbnQ/Lih7IGlkOiBjb250ZXh0SWQsIG5hbWU6IGNvbnRleHQubmFtZSB9KVxuICAgICAgfSBlbHNlIGlmIChjb250ZXh0LnR5cGUgPT09ICdwcm9qZWN0Jykge1xuICAgICAgICBpZiAoY29udGV4dElkID09IG51bGwpIHJldHVyblxuICAgICAgICBzZXRQcm9qZWN0KHtcbiAgICAgICAgICBpZDogY29udGV4dElkLFxuICAgICAgICAgIG5hbWU6IGNvbnRleHQubmFtZSxcbiAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50OiB7IGlkOiBjbGllbnRJZCwgbmFtZTogY2xpZW50TmFtZSB9IH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICAgIHNldENoaXBzUHJvamVjdCh7XG4gICAgICAgICAgcHJvamVjdElkOiBTdHJpbmcoY29udGV4dElkKSxcbiAgICAgICAgICBwcm9qZWN0TmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgIGNsaWVudE5hbWUsXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKGNvbnRleHQudHlwZSA9PT0gJ3Rhc2snKSB7XG4gICAgICAgIHNldFRhc2soe1xuICAgICAgICAgIGlkOiBjb250ZXh0LmlkLFxuICAgICAgICAgIG5hbWU6IGNvbnRleHQubmFtZSxcbiAgICAgICAgICAuLi4ocHJvamVjdElkICE9IG51bGwgPyB7IHByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnRJZCB9IDoge30pLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY2xpZW50SWQgIT0gbnVsbCkge1xuICAgICAgICAgIHNldENsaWVudD8uKHsgaWQ6IGNsaWVudElkLCBuYW1lOiBjbGllbnROYW1lIH0pXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2plY3RJZCAhPSBudWxsKSB7XG4gICAgICAgICAgc2V0UHJvamVjdCh7XG4gICAgICAgICAgICBpZDogcHJvamVjdElkLFxuICAgICAgICAgICAgbmFtZTogcHJvamVjdE5hbWUgfHwgYCR7dCgnaG9tZU1lbnUucmVjZW50Q29udGV4dHMudHlwZXMucHJvamVjdCcpfSAke3Byb2plY3RJZH1gLFxuICAgICAgICAgICAgLi4uKGNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50OiB7IGlkOiBjbGllbnRJZCwgbmFtZTogY2xpZW50TmFtZSB9IH0gOiB7fSksXG4gICAgICAgICAgfSlcbiAgICAgICAgICBzZXRDaGlwc1Byb2plY3Qoe1xuICAgICAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdElkKSxcbiAgICAgICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0TmFtZSB8fCBgJHt0KCdob21lTWVudS5yZWNlbnRDb250ZXh0cy50eXBlcy5wcm9qZWN0Jyl9ICR7cHJvamVjdElkfWAsXG4gICAgICAgICAgICBjbGllbnROYW1lLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ21haWEtaW5wdXQtcmVmb2N1cycpKVxuICAgICAgfSlcbiAgICB9LFxuICAgIFtldmVudCwgc2V0Q2hpcHNQcm9qZWN0LCBzZXRDbGllbnQsIHNldFByb2plY3QsIHNldFRhc2ssIHRdXG4gIClcblxuICBjb25zdCBoYW5kbGVIb21lU3RhcnRDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdIHwgbnVsbCxcbiAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgICBtZW50aW9ucz86IG51bGwsXG4gICAgICBmdWFJZD86IHN0cmluZ1xuICAgICkgPT4ge1xuICAgICAgaWYgKGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSAmJiBmdWFJZCkge1xuICAgICAgICBmbHVzaFN5bmMoKCkgPT4ge1xuICAgICAgICAgIHNldFNlbGVjdGVkQ29udGV4dChudWxsKVxuICAgICAgICAgIHNldFRhc2sobnVsbClcbiAgICAgICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgICAgICBzZXRDaGlwc1Byb2plY3QobnVsbClcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIG9uU3RhcnRDaGF0KG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQsIG1lbnRpb25zLCBmdWFJZClcbiAgICB9LFxuICAgIFtpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWUsIG9uU3RhcnRDaGF0LCBzZXRDaGlwc1Byb2plY3QsIHNldENsaWVudCwgc2V0UHJvamVjdCwgc2V0VGFza11cbiAgKVxuXG4gIGNvbnN0IHJlbmRlclJlY2VudENvbnRleHRzID0gKCkgPT4ge1xuICAgIGlmICghaXNSZWNlbnRDb250ZXh0c1N0ZXApIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRzXG4gICAgICAgICRmaXhlZENvbnRlbnRXaWR0aD17aXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgPyBNQUlBX0hFQURFUl9DT0xMQUJPUkFUT1JfSE9NRV9DT05URU5UX1dJRFRIX1BYIDogdW5kZWZpbmVkfVxuICAgICAgPlxuICAgICAgICB7aXNIZWFkZXJIb3Vyc0FnZW50SG9tZSA/IChcbiAgICAgICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlPlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWVcbiAgICAgICAgICAgICAgICAgID8gJ2hvbWVNZW51LmNvbnRleHRIb21lLnJlY2VudENvbnRleHRzU2VjdGlvbk1hbmFnZXIudGl0bGUnXG4gICAgICAgICAgICAgICAgICA6ICdob21lTWVudS5jb250ZXh0SG9tZS5yZWNlbnRUYXNrc1NlY3Rpb24udGl0bGUnXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblN1YnRpdGxlPlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWVcbiAgICAgICAgICAgICAgICAgID8gJ2hvbWVNZW51LmNvbnRleHRIb21lLnJlY2VudENvbnRleHRzU2VjdGlvbk1hbmFnZXIuc3VidGl0bGUnXG4gICAgICAgICAgICAgICAgICA6ICdob21lTWVudS5jb250ZXh0SG9tZS5yZWNlbnRUYXNrc1NlY3Rpb24uc3VidGl0bGUnXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblN1YnRpdGxlPlxuICAgICAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uSGVhZGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdCAkZmx1c2hQaWxscz17aXNIZWFkZXJUYXNrQ29udGV4dEhvbWV9PlxuICAgICAgICAgIHtyZWNlbnRDb250ZXh0c0xvYWRpbmcgJiZcbiAgICAgICAgICAgIFJFQ0VOVF9DT05URVhUX1NLRUxFVE9OX0tFWVMubWFwKGtleSA9PiA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbiBrZXk9e2tleX0gLz4pfVxuICAgICAgICAgIHshcmVjZW50Q29udGV4dHNMb2FkaW5nICYmXG4gICAgICAgICAgICByZWNlbnRDb250ZXh0cy5tYXAoKGNvbnRleHQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxSZWNlbnRDb250ZXh0UGlsbFxuICAgICAgICAgICAgICAgIGtleT17YCR7Y29udGV4dC50eXBlfS0ke2NvbnRleHQuaWR9YH1cbiAgICAgICAgICAgICAgICBjb250ZXh0PXtjb250ZXh0fVxuICAgICAgICAgICAgICAgIGxhYmVsPXtjb250ZXh0Lm5hbWUudHJpbSgpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdFJlY2VudENvbnRleHQoY29udGV4dCwgaW5kZXggKyAxKX1cbiAgICAgICAgICAgICAgICBmdWxsV2lkdGg9e2lzSGVhZGVyVGFza0NvbnRleHRIb21lfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0PlxuICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0cz5cbiAgICApXG4gIH1cblxuICBjb25zdCBjaGVja1Njcm9sbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhaG9tZVNjcm9sbGFibGVMYXlvdXQpIHJldHVyblxuXG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJcbiAgICBjb25zdCBpc1Njcm9sbGFibGUgPSBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHRcbiAgICBjb25zdCBpc0F0VG9wID0gc2Nyb2xsVG9wID09PSAwXG4gICAgY29uc3QgaXNBdEJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxXG5cbiAgICBzZXRTaG93VG9wR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0VG9wKVxuICAgIHNldFNob3dCb3R0b21HcmFkaWVudChpc1Njcm9sbGFibGUgJiYgIWlzQXRCb3R0b20pXG4gIH0sIFtob21lU2Nyb2xsYWJsZUxheW91dF0pXG5cbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNoZWNrU2Nyb2xsKClcbiAgICBzZXRJc1Njcm9sbGluZyh0cnVlKVxuXG4gICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudClcbiAgICB9XG5cbiAgICBzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldElzU2Nyb2xsaW5nKGZhbHNlKVxuICAgIH0sIDE1MClcbiAgfSwgW2NoZWNrU2Nyb2xsXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaG9tZVNjcm9sbGFibGVMYXlvdXQpIHtcbiAgICAgIHNldFNob3dUb3BHcmFkaWVudChmYWxzZSlcbiAgICAgIHNldFNob3dCb3R0b21HcmFkaWVudChmYWxzZSlcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IHNjaGVkdWxlQ2hlY2tTY3JvbGwgPSAoKSA9PiB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBjaGVja1Njcm9sbCgpXG4gICAgICB9KVxuICAgIH1cblxuICAgIHNjaGVkdWxlQ2hlY2tTY3JvbGwoKVxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihzY2hlZHVsZUNoZWNrU2Nyb2xsKVxuICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyKVxuICAgIGNvbnN0IHNjcm9sbENvbnRlbnQgPSBjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGRcbiAgICBpZiAoc2Nyb2xsQ29udGVudCBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2Nyb2xsQ29udGVudClcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dChzY2hlZHVsZUNoZWNrU2Nyb2xsLCAxMDApXG4gICAgY29uc3QgbGF0ZVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KHNjaGVkdWxlQ2hlY2tTY3JvbGwsIDQwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY2xlYXJUaW1lb3V0KGxhdGVUaW1lb3V0SWQpXG4gICAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaG9tZVNjcm9sbGFibGVMYXlvdXQsIGNoZWNrU2Nyb2xsLCBoYW5kbGVTY3JvbGxdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFob21lU2Nyb2xsYWJsZUxheW91dCkgcmV0dXJuXG4gICAgY2hlY2tTY3JvbGwoKVxuICB9LCBbXG4gICAgaG9tZVNjcm9sbGFibGVMYXlvdXQsXG4gICAgY2hlY2tTY3JvbGwsXG4gICAgcmVjZW50Q29udGV4dHNMb2FkaW5nLFxuICAgIHJlY2VudENvbnRleHRzLmxlbmd0aCxcbiAgICBoZWFkZXJIb3Vyc0Z1YXNMb2FkaW5nLFxuICAgIGhlYWRlckhvdXJzRnVhcy5sZW5ndGgsXG4gICAgZnVhc0xvYWRpbmcsXG4gICAgZnVhcy5sZW5ndGgsXG4gICAgZmFxc0FyZUxvYWRpbmcsXG4gICAgZmFxcy5sZW5ndGgsXG4gICAgc2hvdWxkU2hvd1BsYW5uZXJGdWFzLFxuICAgIGlzTWFpYWtlcixcbiAgXSlcblxuICBjb25zdCByZW5kZXJIZWFkZXJDb250ZW50ID0gKCkgPT4ge1xuICAgIGlmICghaXNNQUlBKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0NBSUhvbWVBZ2VudEluZm8+XG4gICAgICAgICAgICB7YWdlbnQ/LmVtb2ppfSB7YWdlbnQ/Lm5hbWV9XG4gICAgICAgICAgPC9TQ0NBSUhvbWVBZ2VudEluZm8+XG4gICAgICAgICAge2FnZW50Py5jcmVhdGVkX2J5ICYmICFpc01BSUEgJiYgKFxuICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgICAgICBhZ2VudD8uY3JlYXRlZF9ieT8uaXNfZGVsZXRlZCA/IHQoJ2hvbWVNZW51LmNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkJykgOiB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5VGV4dD5cbiAgICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5jcmVhdGVkQnknKX17JyAnfVxuICAgICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lPnthZ2VudD8uY3JlYXRlZF9ieT8ubmFtZX08L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dD5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXI+XG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudEFsaWduU3RhcnQgPSBpc1BsYW5uZXJIb21lIHx8IGlzSGVhZGVyVGFza0NvbnRleHRIb21lIHx8IGlzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lXG5cbiAgICBjb25zdCBtYWlhSGVhZGVyU3RhY2tOZWVkc0dhcCA9XG4gICAgICAoaXNSZWNlbnRDb250ZXh0c1N0ZXAgJiYgIWlzSGVhZGVyVGFza0NvbnRleHRIb21lICYmICFpc1BsYW5uZXJIb21lKSB8fFxuICAgICAgKCFpc1JlY2VudENvbnRleHRzU3RlcCAmJlxuICAgICAgICAhIWdyZWV0aW5nICYmXG4gICAgICAgICFpc1BsYW5uZXJIb21lICYmXG4gICAgICAgICFpc0hlYWRlclRhc2tDb250ZXh0SG9tZSAmJlxuICAgICAgICAhaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWUpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayAkbm9HYXA9eyFtYWlhSGVhZGVyU3RhY2tOZWVkc0dhcH0gJGFsaWduPXtjb250ZW50QWxpZ25TdGFydCA/ICdzdGFydCcgOiAnY2VudGVyJ30+XG4gICAgICAgIHshaXNQbGFubmVySG9tZSAmJiAhaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgJiYgIWlzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lICYmIChcbiAgICAgICAgICA8U0NDQUlIb21lSWNvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgICAgICAgPE1BSUFJc29sb2dvIC8+XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICAgIDwvU0NDQUlIb21lSWNvbkNvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgICAge2lzUGxhbm5lckhvbWUgJiYgKFxuICAgICAgICAgIDxTQ0NBSUhvbWVUaXRsZUJsb2NrICRhbGlnbj1cInN0YXJ0XCI+XG4gICAgICAgICAgICA8U0NDQUlIb21lVGl0bGUgJHNpemU9XCJtZFwiICRhbGlnbj1cInN0YXJ0XCI+XG4gICAgICAgICAgICAgIHt0KCdob21lTWVudS5wbGFubmVySG9tZS50aXRsZScpfVxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVUaXRsZT5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVTdWJ0aXRsZSAkYWxpZ249XCJzdGFydFwiPnt0KCdob21lTWVudS5wbGFubmVySG9tZS5zdWJ0aXRsZScpfTwvU0NDQUlIb21lU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVUaXRsZUJsb2NrPlxuICAgICAgICApfVxuICAgICAgICB7IWlzUGxhbm5lckhvbWUgJiYgaXNSZWNlbnRDb250ZXh0c1N0ZXAgJiYgaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgJiYgKFxuICAgICAgICAgIDxTQ0NBSUhvbWVUaXRsZUJsb2NrICRhbGlnbj1cInN0YXJ0XCIgJGZ1bGxXaWR0aD5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVUaXRsZSAkc2l6ZT1cImNvbnRleHRcIiAkYWxpZ249XCJzdGFydFwiICRmdWxsV2lkdGg+XG4gICAgICAgICAgICAgIHt0KCdob21lTWVudS5jb250ZXh0SG9tZS5ncmVldGluZycsIHsgbmFtZTogdXNlci5maXJzdE5hbWUgfSl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVRpdGxlPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVN1YnRpdGxlICRhbGlnbj1cInN0YXJ0XCIgJGNvbGxhYm9yYXRvckhvbWU+XG4gICAgICAgICAgICAgIHt0KGhlYWRlclRhc2tDb250ZXh0U3VidGl0bGVLZXkpfVxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVTdWJ0aXRsZT5cbiAgICAgICAgICA8L1NDQ0FJSG9tZVRpdGxlQmxvY2s+XG4gICAgICAgICl9XG4gICAgICAgIHshaXNQbGFubmVySG9tZSAmJiBpc1JlY2VudENvbnRleHRzU3RlcCAmJiAhaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgJiYgKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8U0NDQUlIb21lVGl0bGUgJGFsaWduPXtpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZSA/ICdzdGFydCcgOiB1bmRlZmluZWR9PlxuICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUuY29udGV4dEhvbWUuZ3JlZXRpbmcnLCB7IG5hbWU6IHVzZXIuZmlyc3ROYW1lIH0pfVxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVUaXRsZT5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVTdWJ0aXRsZSAkYWxpZ249e2lzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lID8gJ3N0YXJ0JyA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICAgIHt0KFxuICAgICAgICAgICAgICAgIGlzQ29sbGFib3JhdG9yUm9sZSh1c2VyLnJvbGVfaWQpXG4gICAgICAgICAgICAgICAgICA/ICdob21lTWVudS5jb250ZXh0SG9tZS5zdWJ0aXRsZUNvbGxhYm9yYXRvcidcbiAgICAgICAgICAgICAgICAgIDogJ2hvbWVNZW51LmNvbnRleHRIb21lLnN1YnRpdGxlJ1xuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVTdWJ0aXRsZT5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgICAgeyFpc1BsYW5uZXJIb21lICYmICFpc1JlY2VudENvbnRleHRzU3RlcCAmJiBncmVldGluZyAmJiAoXG4gICAgICAgICAgPFNDQ0FJSG9tZUdyZWV0aW5nXG4gICAgICAgICAgICAkYWxpZ249e2lzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lID8gJ3N0YXJ0JyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICRzaXplPXtpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZSA/ICdtZCcgOiAnbGcnfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtncmVldGluZ31cbiAgICAgICAgICA8L1NDQ0FJSG9tZUdyZWV0aW5nPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2s+XG4gICAgKVxuICB9XG5cbiAgY29uc3QgZml4ZWRIb21lQ29udGVudFdpZHRoID1cbiAgICBpc0hlYWRlclRhc2tDb250ZXh0SG9tZSB8fCBpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZVxuICAgICAgPyBNQUlBX0hFQURFUl9DT0xMQUJPUkFUT1JfSE9NRV9DT05URU5UX1dJRFRIX1BYXG4gICAgICA6IHVuZGVmaW5lZFxuICBjb25zdCBjb250ZW50QWxpZ25TdGFydCA9IGlzUGxhbm5lckhvbWUgfHwgaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgfHwgaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWVcbiAgY29uc3Qgc2hvd0FnZW50SW50cm9kdWN0aW9uID0gc2VjdGlvbiAhPT0gJ3Byb2plY3QnICYmICFpc01BSUEgJiYgISFhZ2VudD8uaW50cm9kdWN0aW9uXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlIb21lQ29udGFpbmVyIHNob3dGQVFzPXtzaG93RkFRc30gJGFsaWduU3RhcnQ9e2lzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lfT5cbiAgICAgIHtob21lU2Nyb2xsYWJsZUxheW91dCAmJiA8U0NDQUlIb21lR3JhZGllbnRUb3AgJHNob3c9e3Nob3dUb3BHcmFkaWVudH0gLz59XG4gICAgICA8U0NDQUlIb21lQ29udGVudFxuICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgIHNob3dGQVFzPXtob21lU2Nyb2xsYWJsZUxheW91dH1cbiAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAkZmxvYXRpbmdDdXN0b21DZW50ZXI9e2Zsb2F0aW5nQ3VzdG9tQ2VudGVyfVxuICAgICAgICAkY2VudGVyVmVydGljYWxseT17aXNQbGFubmVySG9tZX1cbiAgICAgICAgJGFsaWduU3RhcnQ9e2lzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lfVxuICAgICAgICAkZml4ZWRDb250ZW50V2lkdGg9e2ZpeGVkSG9tZUNvbnRlbnRXaWR0aH1cbiAgICAgID5cbiAgICAgICAgPFNDQ0FJSG9tZUNvbnRlbnRJbm5lclxuICAgICAgICAgIHNob3dGQVFzPXtob21lU2Nyb2xsYWJsZUxheW91dH1cbiAgICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPXtmbG9hdGluZ0N1c3RvbUNlbnRlcn1cbiAgICAgICAgICAkY2VudGVyVmVydGljYWxseT17aXNQbGFubmVySG9tZX1cbiAgICAgICAgICAkYWxpZ25TdGFydD17aXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgfHwgaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWV9XG4gICAgICAgICAgJGhlYWRlckNvbGxhYm9yYXRvckhvbWU9e2lzSGVhZGVyVGFza0NvbnRleHRIb21lfVxuICAgICAgICAgICRzZWN0aW9uT3JjaGVzdHJhdG9ySG9tZT17aXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWV9XG4gICAgICAgID5cbiAgICAgICAgICA8U0NDQUlIb21lSGVhZGVyXG4gICAgICAgICAgICAkZ2FwPXtzaG93QWdlbnRJbnRyb2R1Y3Rpb24gPyAnMjBweCcgOiAnMCd9XG4gICAgICAgICAgICAkbWF4V2lkdGg9e2lzTUFJQSA/ICcxMDAlJyA6ICczODBweCd9XG4gICAgICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICAgICAkYWxpZ249e2NvbnRlbnRBbGlnblN0YXJ0ID8gJ3N0YXJ0JyA6ICdjZW50ZXInfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyZW5kZXJIZWFkZXJDb250ZW50KCl9XG5cbiAgICAgICAgICAgIHtzaG93QWdlbnRJbnRyb2R1Y3Rpb24gPyAoXG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT57YWdlbnQuaW50cm9kdWN0aW9ufTwvU0NDQUlIb21lSW50cm9kdWN0aW9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9TQ0NBSUhvbWVIZWFkZXI+XG4gICAgICAgICAge3Nob3dQcm9qZWN0U3VtbWFyeUNhcmQgJiYgKFxuICAgICAgICAgICAgPFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0IG9uQ2xpY2s9e2hhbmRsZXJzLnByb2plY3RTdW1tYXJ5fT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgICAgICAgIDxUZW1wbGF0ZUdyYWRpZW50SWNvbiBoZWlnaHQ9ezI0fSB3aWR0aD17MjR9IC8+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+e3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LnRpdGxlJyl9PC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgIDwvU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Q+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd0R5bmFtaWNTZWN0aW9uICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVEeW5hbWljU2VjdGlvblxuICAgICAgICAgICAgICAkZ3Jvdz17aXNNYWlha2VyfVxuICAgICAgICAgICAgICAkYWxpZ25TdGFydD17aXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgfHwgaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtzaG91bGRTaG93UGxhbm5lckZ1YXMgPyAoXG4gICAgICAgICAgICAgICAgPEZyZXF1ZW50bHlVc2VkQWN0aW9uc1xuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInBsYW5uZXJcIlxuICAgICAgICAgICAgICAgICAgb25TdGFydENoYXQ9e2hhbmRsZUhvbWVTdGFydENoYXR9XG4gICAgICAgICAgICAgICAgICBhZ2VudElkPXthZ2VudD8uaWR9XG4gICAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zPXtoZWFkZXJIb3Vyc0Z1YXN9XG4gICAgICAgICAgICAgICAgICBsb2FkaW5nPXtoZWFkZXJIb3Vyc0Z1YXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7cmVuZGVyUmVjZW50Q29udGV4dHMoKX1cbiAgICAgICAgICAgICAge3Nob3VsZFNob3dGYXFzICYmIChcbiAgICAgICAgICAgICAgICA8RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXG4gICAgICAgICAgICAgICAgICBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9XG4gICAgICAgICAgICAgICAgICBzaG93RkFRcz17c2hvd0ZBUXN9XG4gICAgICAgICAgICAgICAgICBzaG93UHJvamVjdFN1bW1hcnk9e3Nob3dQcm9qZWN0U3VtbWFyeX1cbiAgICAgICAgICAgICAgICAgIGFnZW50SWQ9e2FnZW50Py5pZH1cbiAgICAgICAgICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgICBmYXFzPXtmYXFzfVxuICAgICAgICAgICAgICAgICAgbG9hZGluZz17ZmFxc0FyZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3Nob3VsZFNob3dGdWFzICYmIChcbiAgICAgICAgICAgICAgICA8RnJlcXVlbnRseVVzZWRBY3Rpb25zXG4gICAgICAgICAgICAgICAgICBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9XG4gICAgICAgICAgICAgICAgICBhZ2VudElkPXthZ2VudD8uaWR9XG4gICAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zPXtmdWFzfVxuICAgICAgICAgICAgICAgICAgbG9hZGluZz17ZnVhc0FyZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2lzTWFpYWtlciA/IDxDaGF0QUlIb21lTWFpYWtlciBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9IC8+IDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NDQUlIb21lRHluYW1pY1NlY3Rpb24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVDb250ZW50SW5uZXI+XG4gICAgICA8L1NDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgICB7aG9tZVNjcm9sbGFibGVMYXlvdXQgJiYgPFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tICRzaG93PXtzaG93Qm90dG9tR3JhZGllbnR9IC8+fVxuICAgIDwvU0NDQUlIb21lQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLGVBQWUsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDMUYsU0FBU0MsU0FBUyxRQUFRLFdBQVc7QUFFckMsU0FBU0MsT0FBTyxR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
645
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsImZsdXNoU3luYyIsIlRvb2x0aXAiLCJMaXN0Q2hlY2tsaXN0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsIlNDQ0FJSG9tZVRpdGxlIiwiU0NDQUlIb21lVGl0bGVCbG9jayIsIlNDQ0FJSG9tZVN1YnRpdGxlIiwiU0NDQUlIb21lRHluYW1pY1NlY3Rpb24iLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvbkhlYWRlciIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24iLCJNQUlBX0hFQURFUl9DT0xMQUJPUkFUT1JfSE9NRV9DT05URU5UX1dJRFRIX1BYIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVVzZXIiLCJDT1JVc2VyUm9sZSIsImlzQ29sbGFib3JhdG9yUm9sZSIsImlzTWFuYWdlclJvbGUiLCJ1c2VSZXNpemVMaXN0ZW5lciIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm9yY2hlc3RyYXRvckhhc0hvdXJzU3ViYWdlbnQiLCJ2YWxpZGF0ZUlzTWFpYSIsImlzTWFpYWtlckFnZW50IiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwidXNlUmVjZW50Q29udGV4dHMiLCJNQUlBSXNvbG9nbyIsIlRlbXBsYXRlR3JhZGllbnRJY29uIiwiQ2hhdEFJSG9tZU1haWFrZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJGcmVxdWVudFF1ZXN0aW9ucyIsIlJFQ0VOVF9DT05URVhUU19MSU1JVCIsIlJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IiLCJSRUNFTlRfQ09OVEVYVF9JQ09OX1NJWkVfUFgiLCJSRUNFTlRfQ09OVEVYVF9TS0VMRVRPTl9LRVlTIiwiUmVjZW50Q29udGV4dFBpbGwiLCJfcmVmIiwiY29udGV4dCIsImxhYmVsIiwib25DbGljayIsIl9yZWYkZnVsbFdpZHRoIiwiZnVsbFdpZHRoIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInNob3dUb29sdGlwIiwidHlwZSIsIiRmdWxsV2lkdGgiLCJjaGlsZHJlbiIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJ1bmRlZmluZWQiLCJyZWYiLCJ0aXRsZSIsInBhcnNlTnVtZXJpY0lkIiwidmFsdWUiLCJwYXJzZWQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMiLCJyb2xlSWQiLCJub3JtYWxpemVkUm9sZUlkIiwiQ0xFVkVMIiwiRElSRUNUT1IiLCJQUk9KRUNUX01BTkFHRVIiLCJTZXQiLCJDaGF0QUlIb21lIiwiX3JlZjIiLCJoYW5kbGVycyIsIm9uU3RhcnRDaGF0IiwiZXhwYW5kZWQiLCJmbG9hdGluZyIsIl91c2VUIiwidCIsImkxOG4iLCJldmVudCIsInVzZXIiLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50Iiwic2VjdGlvbiIsImNsaWVudCIsInByb2plY3QiLCJ0YXNrIiwiY2hpcHNQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0UHJvamVjdCIsInNldFRhc2siLCJzZXRDaGlwc1Byb2plY3QiLCJpc01BSUEiLCJmbG9hdGluZ0N1c3RvbUNlbnRlciIsImxhbmciLCJsYW5ndWFnZSIsInN1bW1hcnlQcm9qZWN0QWNjZXNzIiwid2luZG93IiwiU3RyaW5nIiwiTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MiLCJ0b0xvd2VyQ2FzZSIsIm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcyIsImZhcXNBY2Nlc3MiLCJzaG93UHJvamVjdFN1bW1hcnkiLCJpc01haWFrZXIiLCJpc0hlYWRlckhvbWUiLCJpc09yY2hlc3RyYXRvciIsImlzUGxhbm5lckhvbWUiLCJpc1NlY3Rpb25PcmNoZXN0cmF0b3JIb21lIiwiaGFzSG91cnNTdWJhZ2VudCIsImhhc1Bpbm5lZENvbnRleHQiLCJpZCIsInByb2plY3RJZCIsImlzUmVjZW50Q29udGV4dHNTdGVwIiwiaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUiLCJyb2xlX2lkIiwiaXNIZWFkZXJIb3Vyc0FnZW50SG9tZSIsImlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSIsImhlYWRlclRhc2tDb250ZXh0U3VidGl0bGVLZXkiLCJpc0NvbnRleHRIb21lU3RlcCIsImlzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lIiwiYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyIsIl91c2VSZWNlbnRDb250ZXh0cyIsImVuYWJsZWQiLCJsaW1pdCIsImZldGNoZWRSZWNlbnRDb250ZXh0cyIsImNvbnRleHRzIiwicmVjZW50Q29udGV4dHNMb2FkaW5nIiwibG9hZGluZyIsInJlY2VudENvbnRleHRzIiwiZmlsdGVyIiwiaGFzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2VsZWN0ZWRDb250ZXh0Iiwic2V0U2VsZWN0ZWRDb250ZXh0IiwiYWN0aXZlQ29udGV4dCIsIm5hbWUiLCJwcm9qZWN0TmFtZSIsInBpbm5lZEVudGl0eVR5cGUiLCJpc1Rhc2tDb250ZXh0IiwiaXNGdWFzT25seUhvbWUiLCJmdWFzU2VjdGlvbiIsInJlYWxMaXN0c0FnZW50SWQiLCJyZWFsTGlzdHNFbnRpdHlUeXBlIiwiX2FjdGl2ZUNvbnRleHQkdHlwZSIsIl91c2VGcmVxdWVudGx5VXNlZEFjdCIsImFnZW50RnVhcyIsImFjdGlvbnMiLCJmdWFzTG9hZGluZyIsIl91c2VGcmVxdWVudGx5VXNlZEFjdDIiLCJjb2xsYWJvcmF0b3JQbGFubmVyRnVhcyIsImNvbGxhYm9yYXRvclBsYW5uZXJGdWFzTG9hZGluZyIsIl91c2VGcmVxdWVudGx5VXNlZEFjdDMiLCJtYW5hZ2VySG9tZUZ1YXMiLCJtYW5hZ2VySG9tZUZ1YXNMb2FkaW5nIiwiaGVhZGVySG91cnNGdWFzIiwiaGVhZGVySG91cnNGdWFzTG9hZGluZyIsIl91c2VGcmVxdWVudGx5QXNrZWRRdSIsImFnZW50RmFxcyIsImZhcXMiLCJmYXFzTG9hZGluZyIsImhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsImZhcXNGZXRjaFJlZiIsIl9mYXFzRmV0Y2hSZWYkY3VycmVudCIsImN1cnJlbnRLZXkiLCJjb25jYXQiLCJsYXN0S2V5IiwiY3VycmVudCIsImFnZW50SWQiLCJlbnRpdHlUeXBlIiwiZnVhcyIsImZhcXNBcmVMb2FkaW5nIiwiZnVhc0FyZUxvYWRpbmciLCJzaG93UmVjZW50Q29udGV4dHNCbG9jayIsImxlbmd0aCIsInNob3VsZFNob3dGYXFzIiwic2hvdWxkU2hvd0Z1YXMiLCJzaG91bGRTaG93UGxhbm5lckZ1YXNMb2FkaW5nIiwic2hvdWxkU2hvd1BsYW5uZXJGdWFzQ29udGVudCIsInNob3VsZFNob3dQbGFubmVyRnVhcyIsInNob3dQcm9qZWN0U3VtbWFyeUNhcmQiLCJlbnRpdHkiLCJzaG93RkFRcyIsImhvbWVTY3JvbGxhYmxlTGF5b3V0Iiwic2hvd0R5bmFtaWNTZWN0aW9uIiwiY29udGVudENvbnRhaW5lclJlZiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1RvcEdyYWRpZW50Iiwic2V0U2hvd1RvcEdyYWRpZW50IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93Qm90dG9tR3JhZGllbnQiLCJzZXRTaG93Qm90dG9tR3JhZGllbnQiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzU2Nyb2xsaW5nIiwic2V0SXNTY3JvbGxpbmciLCJzY3JvbGxUaW1lb3V0UmVmIiwiZ3JlZXRpbmciLCJpbnRybyIsImludHJvZHVjdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsImhhbmRsZVNlbGVjdFJlY2VudENvbnRleHQiLCJvcmRlciIsIl9jb250ZXh0JHBhcmVudHMiLCJfY29udGV4dCRwYXJlbnRzMiIsIl9jb250ZXh0JHBhcmVudHMzIiwiX2NvbnRleHQkcGFyZW50czQiLCJhaUNoYXRDb250ZXh0U2VsZWN0ZWQiLCJjb250ZXh0SWQiLCJjbGllbnRJZCIsInBhcmVudHMiLCJjbGllbnRfaWQiLCJwcm9qZWN0X2lkIiwiY2xpZW50TmFtZSIsImNsaWVudF9uYW1lIiwicHJvamVjdF9uYW1lIiwiX29iamVjdFNwcmVhZCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiaGFuZGxlSG9tZVN0YXJ0Q2hhdCIsIm1lc3NhZ2UiLCJhdHRhY2htZW50cyIsImZhcUlkIiwiYWdlbnRTdWdnZXN0aW9uSWQiLCJtZW50aW9ucyIsImZ1YUlkIiwicmVuZGVyUmVjZW50Q29udGV4dHMiLCIkZml4ZWRDb250ZW50V2lkdGgiLCIkZmx1c2hQaWxscyIsIm1hcCIsImtleSIsImluZGV4IiwidHJpbSIsImNoZWNrU2Nyb2xsIiwiY29udGFpbmVyIiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiaXNTY3JvbGxhYmxlIiwiaXNBdFRvcCIsImlzQXRCb3R0b20iLCJoYW5kbGVTY3JvbGwiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0Iiwic2NoZWR1bGVDaGVja1Njcm9sbCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZXNpemVPYnNlcnZlciIsIlJlc2l6ZU9ic2VydmVyIiwib2JzZXJ2ZSIsInNjcm9sbENvbnRlbnQiLCJmaXJzdEVsZW1lbnRDaGlsZCIsIkVsZW1lbnQiLCJ0aW1lb3V0SWQiLCJsYXRlVGltZW91dElkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRpc2Nvbm5lY3QiLCJyZW5kZXJIZWFkZXJDb250ZW50IiwiX2FnZW50JGNyZWF0ZWRfYnkiLCJfYWdlbnQkY3JlYXRlZF9ieTIiLCJlbW9qaSIsImNyZWF0ZWRfYnkiLCJpc19kZWxldGVkIiwiY29udGVudEFsaWduU3RhcnQiLCJtYWlhSGVhZGVyU3RhY2tOZWVkc0dhcCIsIiRub0dhcCIsIiRhbGlnbiIsIiRzaXplIiwiZmlyc3ROYW1lIiwiJGNvbGxhYm9yYXRvckhvbWUiLCJmaXhlZEhvbWVDb250ZW50V2lkdGgiLCJzaG93QWdlbnRJbnRyb2R1Y3Rpb24iLCIkYWxpZ25TdGFydCIsIiRzaG93IiwiJGlzQWdlbnRWaWV3IiwiJGZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwiJGNlbnRlclZlcnRpY2FsbHkiLCIkaGVhZGVyQ29sbGFib3JhdG9ySG9tZSIsIiRzZWN0aW9uT3JjaGVzdHJhdG9ySG9tZSIsIiRnYXAiLCIkbWF4V2lkdGgiLCJwcm9qZWN0U3VtbWFyeSIsIiRncm93IiwidmFyaWFudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL0NoYXRBSUhvbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmx1c2hTeW5jIH0gZnJvbSAncmVhY3QtZG9tJ1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBMaXN0Q2hlY2tsaXN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvTGlzdENoZWNrbGlzdCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuXG5pbXBvcnQgeyBvcHRpb25zIH0gZnJvbSAnLi4vQ2hhdEFJTW9kYWwvY29uc3RhbnRzJ1xuXG5pbXBvcnQge1xuICBTQ0NBSUhvbWVDb250YWluZXIsXG4gIFNDQ0FJSG9tZUNvbnRlbnQsXG4gIFNDQ0FJSG9tZUNvbnRlbnRJbm5lcixcbiAgU0NDQUlIb21lR3JhZGllbnRUb3AsXG4gIFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tLFxuICBTQ0NBSUhvbWVIZWFkZXIsXG4gIFNDQ0FJSG9tZUdyZWV0aW5nLFxuICBTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIsXG4gIFNDQ0FJSG9tZUFnZW50SW5mbyxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnksXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbixcbiAgU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QsXG4gIFNDQ0FJSG9tZUludHJvZHVjdGlvbixcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyLFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0LFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSxcbiAgU0NDQUlIb21lSWNvbkNvbnRhaW5lcixcbiAgU0NDQUlIb21lTG9nb1dyYXBwZXIsXG4gIFNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayxcbiAgU0NDQUlIb21lVGl0bGUsXG4gIFNDQ0FJSG9tZVRpdGxlQmxvY2ssXG4gIFNDQ0FJSG9tZVN1YnRpdGxlLFxuICBTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbixcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dHMsXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdCxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uSGVhZGVyLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25UaXRsZSxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUsXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24sXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbixcbiAgTUFJQV9IRUFERVJfQ09MTEFCT1JBVE9SX0hPTUVfQ09OVEVOVF9XSURUSF9QWCxcbn0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0LCB0eXBlIFNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVXNlciwgQ09SVXNlclJvbGUsIGlzQ29sbGFib3JhdG9yUm9sZSwgaXNNYW5hZ2VyUm9sZSB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBvcmNoZXN0cmF0b3JIYXNIb3Vyc1N1YmFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvb3JjaGVzdHJhdG9yU3ViYWdlbnRzJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IGlzTWFpYWtlckFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IEZyZXF1ZW50bHlVc2VkQWN0aW9ucyB9IGZyb20gJy4uLy4uL2F0b21zL0ZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IHVzZVJlY2VudENvbnRleHRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVjZW50Q29udGV4dHMnXG5pbXBvcnQgdHlwZSB7IFJlY2VudENvbnRleHRJdGVtLCBSZWNlbnRDb250ZXh0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvUmVjZW50Q29udGV4dHMnXG5pbXBvcnQgeyBNQUlBSXNvbG9nbyB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL01BSUFJc29sb2dvJ1xuaW1wb3J0IHsgVGVtcGxhdGVHcmFkaWVudEljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9UZW1wbGF0ZUdyYWRpZW50SWNvbidcbmltcG9ydCB7IENoYXRBSUhvbWVNYWlha2VyIH0gZnJvbSAnLi9DaGF0QUlIb21lTWFpYWtlcidcblxudHlwZSBDaGF0QUlIb21lUHJvcHMgPSB7XG4gIG9uU3RhcnRDaGF0OiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSB8IG51bGwsXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgbWVudGlvbnM/OiBudWxsLFxuICAgIGZ1YUlkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICgpID0+IHZvaWQ+XG4gIGV4cGFuZGVkPzogYm9vbGVhblxuICBmbG9hdGluZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRnJlcXVlbnRRdWVzdGlvbnMge1xuICByZW50YWJpbGlkYWRfcHJveWVjdG8gPSAncmVudGFiaWxpZGFkX3Byb3llY3RvJyxcbiAgYXZhbmNlX3Byb3llY3RvID0gJ2F2YW5jZV9wcm95ZWN0bycsXG59XG5cbmNvbnN0IFJFQ0VOVF9DT05URVhUU19MSU1JVCA9IDlcbmNvbnN0IFJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IgPSAnIzRENEQ0RCdcbmNvbnN0IFJFQ0VOVF9DT05URVhUX0lDT05fU0laRV9QWCA9IDE1XG5jb25zdCBSRUNFTlRfQ09OVEVYVF9TS0VMRVRPTl9LRVlTID0gW1xuICAncmVjZW50LWNvbnRleHQtc2tlbGV0b24tMScsXG4gICdyZWNlbnQtY29udGV4dC1za2VsZXRvbi0yJyxcbiAgJ3JlY2VudC1jb250ZXh0LXNrZWxldG9uLTMnLFxuXVxuXG5jb25zdCBSZWNlbnRDb250ZXh0UGlsbCA9ICh7XG4gIGNvbnRleHQsXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICBmdWxsV2lkdGggPSBmYWxzZSxcbn06IHtcbiAgY29udGV4dDogUmVjZW50Q29udGV4dEl0ZW1cbiAgbGFiZWw6IHN0cmluZ1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG4gIGZ1bGxXaWR0aD86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtsYWJlbF0pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGwgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ2xpY2t9ICRmdWxsV2lkdGg9e2Z1bGxXaWR0aH0+XG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uPlxuICAgICAgICB7Y29udGV4dC50eXBlID09PSAndGFzaycgPyAoXG4gICAgICAgICAgPExpc3RDaGVja2xpc3QgY29sb3I9e1JFQ0VOVF9DT05URVhUX0lDT05fQ09MT1J9IHdpZHRoPVwiMTVweFwiIGhlaWdodD1cIjE1cHhcIiAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIGdldENvbnRleHRNZW50aW9uSWNvbihjb250ZXh0LnR5cGUsIFJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IsIHVuZGVmaW5lZCwgUkVDRU5UX0NPTlRFWFRfSUNPTl9TSVpFX1BYKVxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24+XG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0IHJlZj17dGV4dFJlZn0+XG4gICAgICAgIHtzaG93VG9vbHRpcCA/IChcbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17bGFiZWx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0PlxuICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGw+XG4gIClcbn1cblxuY29uc3QgcGFyc2VOdW1lcmljSWQgPSAodmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIG51bGxcbiAgY29uc3QgcGFyc2VkID0gTnVtYmVyKHZhbHVlKVxuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHBhcnNlZCkgPyBwYXJzZWQgOiBudWxsXG59XG5cbmNvbnN0IGdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMgPSAocm9sZUlkPzogQ09SVXNlclJvbGUgfCBudW1iZXIgfCBzdHJpbmcpOiBTZXQ8UmVjZW50Q29udGV4dFR5cGU+ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZFJvbGVJZCA9IE51bWJlcihyb2xlSWQpXG4gIGlmIChcbiAgICBub3JtYWxpemVkUm9sZUlkID09PSBDT1JVc2VyUm9sZS5DTEVWRUwgfHxcbiAgICBub3JtYWxpemVkUm9sZUlkID09PSBDT1JVc2VyUm9sZS5ESVJFQ1RPUiB8fFxuICAgIG5vcm1hbGl6ZWRSb2xlSWQgPT09IENPUlVzZXJSb2xlLlBST0pFQ1RfTUFOQUdFUlxuICApIHtcbiAgICByZXR1cm4gbmV3IFNldChbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snXSlcbiAgfVxuICBpZiAoaXNDb2xsYWJvcmF0b3JSb2xlKHJvbGVJZCkpIHtcbiAgICByZXR1cm4gbmV3IFNldChbJ3Rhc2snXSlcbiAgfVxuICByZXR1cm4gbmV3IFNldCgpXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlIb21lID0gKHsgaGFuZGxlcnMsIG9uU3RhcnRDaGF0LCBleHBhbmRlZCwgZmxvYXRpbmcgfTogQ2hhdEFJSG9tZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IHsgYWdlbnQsIHNlY3Rpb24sIGNsaWVudCwgcHJvamVjdCwgdGFzaywgY2hpcHNQcm9qZWN0LCBzZXRDbGllbnQsIHNldFByb2plY3QsIHNldFRhc2ssIHNldENoaXBzUHJvamVjdCB9ID1cbiAgICB1c2VHbG9iYWxDb250ZXh0KClcblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcbiAgY29uc3QgZmxvYXRpbmdDdXN0b21DZW50ZXIgPSAhIShmbG9hdGluZyAmJiBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0JyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBjb25zdCBzdW1tYXJ5UHJvamVjdEFjY2VzcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoU3RyaW5nKHdpbmRvdy5NQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIHx8XG4gICAgICBTdHJpbmcod2luZG93Lm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKVxuICBjb25zdCBmYXFzQWNjZXNzID0gdHJ1ZVxuICBjb25zdCBzaG93UHJvamVjdFN1bW1hcnkgPSAhIShpc01BSUEgJiYgc3VtbWFyeVByb2plY3RBY2Nlc3MpXG4gIC8vIEVsIG9yY2hlc3RyYXRvciAodHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIG11ZXN0cmEgRkFRcy9GVUFzIGFncmVnYWRhcyBkZSBzdXMgc3ViYWdlbnRlcyxcbiAgLy8gYXPDrSBxdWUgTk8gc2UgdHJhdGEgY29tbyBtYWlha2VyIGFjw6EuXG4gIGNvbnN0IGlzTWFpYWtlciA9IGlzTWFpYWtlckFnZW50KGFnZW50KVxuICBjb25zdCBpc0hlYWRlckhvbWUgPSBpc01BSUEgJiYgc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InXG4gIC8vIEVsIG9yY2hlc3RyYXRvciB1c2EgZWwgaG9tZSBlbiAyIHBhc29zIChjb250ZXh0b3MgcmVjaWVudGVzIOKGlCBGQVFzL0ZVQXMpIGVuIGhlYWRlci9wcm9qZWN0L2NsaWVudC90YXNrLlxuICAvLyBFbiBwcm9qZWN0L2NsaWVudC90YXNrLCBhbCBsaW1waWFyIGVsIGNvbnRleHRvIChwLiBlai4gYWwgcmVzZWxlY2Npb25hciBNQUlBXG4gIC8vIGRlc2RlIGVsIGxpc3RhZG8gZGUgYWdlbnRlcykgc2UgbXVlc3RyYSBlbCBzZWxlY3RvciBkZSBjb250ZXh0b3MgcmVjaWVudGVzIGVuIGx1Z2FyIGRlIHVuIGhvbWUgdmFjw61vLlxuICBjb25zdCBpc09yY2hlc3RyYXRvciA9IGlzTUFJQSAmJiBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcbiAgLy8gUGxhbm5lcjogaG9tZSBkZSBGVUFzIGRlbCBvcmNoZXN0cmF0b3IgKHNpbiBzZWxlY3RvciBkZSBjb250ZXh0b3MpLlxuICAvLyBTaSBlbCB1c3VhcmlvIG5hdmVnYSBhIE1haWFrZXIgdSBvdHJvIGFnZW50ZSwgc2VjdGlvbiBzaWd1ZSBzaWVuZG8gYHBsYW5uZXJgIHBlcm8geWEgbm8gZXMgZXN0ZSBob21lLlxuICBjb25zdCBpc1BsYW5uZXJIb21lID0gc2VjdGlvbiA9PT0gJ3BsYW5uZXInICYmIGlzT3JjaGVzdHJhdG9yXG4gIC8vIEhvbWVzIGRlIHNlY2Npw7NuIChwcm9qZWN0L2NsaWVudC90YXNrKTogc2luIGlzb2xvZ28sIGNvbnRlbmlkbyB0b3AtbGVmdCwgY29sdW1uYSA0NDhweCBjZW50cmFkYS5cbiAgY29uc3QgaXNTZWN0aW9uT3JjaGVzdHJhdG9ySG9tZSA9IGlzT3JjaGVzdHJhdG9yICYmICFpc0hlYWRlckhvbWUgJiYgIWlzUGxhbm5lckhvbWVcbiAgY29uc3QgaGFzSG91cnNTdWJhZ2VudCA9IG9yY2hlc3RyYXRvckhhc0hvdXJzU3ViYWdlbnQoYWdlbnQpXG5cbiAgLy8gSG9tZSBkZWwgb3JjaGVzdHJhdG9yIGVuIDIgcGFzb3M6XG4gIC8vICAtIFBhc28gMSAoc2luIGNvbnRleHRvIHBpbmVhZG8pOiBzZSBtdWVzdHJhbiBzb2xvIGxvcyBjb250ZXh0b3MgcmVjaWVudGVzLlxuICAvLyAgLSBQYXNvIDIgKGNvbnRleHRvIHBpbmVhZG8pOiBzZSBtdWVzdHJhbiBsYXMgRkFRcy9hY2Npb25lcyBxdWUgcmVmZXJlbmNpYW4gZXNlIGNvbnRleHRvLlxuICBjb25zdCBoYXNQaW5uZWRDb250ZXh0ID0gISEodGFzaz8uaWQgfHwgY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQgfHwgY2xpZW50Py5pZCB8fCBwcm9qZWN0Py5pZClcbiAgY29uc3QgaXNSZWNlbnRDb250ZXh0c1N0ZXAgPSBpc09yY2hlc3RyYXRvciAmJiAhaGFzUGlubmVkQ29udGV4dCAmJiAhaXNQbGFubmVySG9tZVxuICAvLyBIZWFkZXIgcGFzbyAxIGNvbXBhY3RvIChzaW4gaXNvbG9nbywgcGlsbHMgZnVsbC13aWR0aCk6IGNvbGFib3JhZG9yIHkgbWFuYWdlcnMgKEMtTGV2ZWwvRGlyZWN0b3IvUE0pLlxuICBjb25zdCBpc0hlYWRlclRhc2tDb250ZXh0SG9tZSA9XG4gICAgc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgaXNSZWNlbnRDb250ZXh0c1N0ZXAgJiYgKGlzQ29sbGFib3JhdG9yUm9sZSh1c2VyLnJvbGVfaWQpIHx8IGlzTWFuYWdlclJvbGUodXNlci5yb2xlX2lkKSlcbiAgLy8gQmxvcXVlIEZVQXMgcGxhbm5lciArIHNlY2Npw7NuIGRlIGNvbnRleHRvcyByZWNpZW50ZXMgY29uIHTDrXR1bG9zIChjb2xhYm9yYWRvciBvIG1hbmFnZXIgY29uIGhvdXIpLlxuICBjb25zdCBpc0hlYWRlckhvdXJzQWdlbnRIb21lID0gaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgJiYgaGFzSG91cnNTdWJhZ2VudFxuICBjb25zdCBpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWUgPSBpc0hlYWRlckhvdXJzQWdlbnRIb21lICYmIGlzTWFuYWdlclJvbGUodXNlci5yb2xlX2lkKVxuICBjb25zdCBoZWFkZXJUYXNrQ29udGV4dFN1YnRpdGxlS2V5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzSGVhZGVySG91cnNBZ2VudEhvbWUpIHtcbiAgICAgIGlmIChpc0hlYWRlck1hbmFnZXJIb3Vyc0hvbWUpIHJldHVybiAnaG9tZU1lbnUuY29udGV4dEhvbWUuc3VidGl0bGVNYW5hZ2VyV2l0aEhvdXJzJ1xuICAgICAgcmV0dXJuICdob21lTWVudS5jb250ZXh0SG9tZS5zdWJ0aXRsZUNvbGxhYm9yYXRvcldpdGhIb3VycydcbiAgICB9XG4gICAgaWYgKGlzTWFuYWdlclJvbGUodXNlci5yb2xlX2lkKSkgcmV0dXJuICdob21lTWVudS5jb250ZXh0SG9tZS5zdWJ0aXRsZSdcbiAgICByZXR1cm4gJ2hvbWVNZW51LmNvbnRleHRIb21lLnN1YnRpdGxlQ29sbGFib3JhdG9yJ1xuICB9LCBbaXNIZWFkZXJIb3Vyc0FnZW50SG9tZSwgaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lLCB1c2VyLnJvbGVfaWRdKVxuICBjb25zdCBpc0NvbnRleHRIb21lU3RlcCA9IGlzSGVhZGVySG9tZSAmJiBoYXNQaW5uZWRDb250ZXh0XG4gIC8vIEhlYWRlciBwYXNvIDIgKEZBUXMvRlVBcyBjb24gY29udGV4dG8pIHkgaG9tZXMgZGUgc2VjY2nDs24gY29tcGFydGVuIGxheW91dDogc2luIGlzb2xvZ28sIHRleHRvIGEgbGEgaXpxdWllcmRhLlxuICBjb25zdCBpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZSA9IGlzU2VjdGlvbk9yY2hlc3RyYXRvckhvbWUgfHwgaXNDb250ZXh0SG9tZVN0ZXBcblxuICBjb25zdCBhbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSkgcmV0dXJuIGdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXModXNlci5yb2xlX2lkKVxuICAgIGlmIChpc0hlYWRlclRhc2tDb250ZXh0SG9tZSAmJiBpc01hbmFnZXJSb2xlKHVzZXIucm9sZV9pZCkpIHJldHVybiBnZXRBbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzKHVzZXIucm9sZV9pZClcbiAgICBpZiAoaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUpIHJldHVybiBuZXcgU2V0PFJlY2VudENvbnRleHRUeXBlPihbJ3Rhc2snXSlcbiAgICByZXR1cm4gZ2V0QWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyh1c2VyLnJvbGVfaWQpXG4gIH0sIFt1c2VyLnJvbGVfaWQsIGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSwgaXNIZWFkZXJUYXNrQ29udGV4dEhvbWVdKVxuICBjb25zdCB7IGNvbnRleHRzOiBmZXRjaGVkUmVjZW50Q29udGV4dHMsIGxvYWRpbmc6IHJlY2VudENvbnRleHRzTG9hZGluZyB9ID0gdXNlUmVjZW50Q29udGV4dHMoe1xuICAgIGVuYWJsZWQ6IGlzT3JjaGVzdHJhdG9yICYmICFpc1BsYW5uZXJIb21lLFxuICAgIGxpbWl0OiBSRUNFTlRfQ09OVEVYVFNfTElNSVQsXG4gIH0pXG4gIGNvbnN0IHJlY2VudENvbnRleHRzID0gdXNlTWVtbyhcbiAgICAoKSA9PiBmZXRjaGVkUmVjZW50Q29udGV4dHMuZmlsdGVyKGNvbnRleHQgPT4gYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcy5oYXMoY29udGV4dC50eXBlKSksXG4gICAgW2ZldGNoZWRSZWNlbnRDb250ZXh0cywgYWxsb3dlZFJlY2VudENvbnRleHRUeXBlc11cbiAgKVxuXG4gIC8vIENvbnRleHRvIGFjdGl2byBwYXJhIGRlcml2YXIgRkFRcy9hY2Npb25lcyAocGFzbyAyKS4gUHJlZmVyaW1vcyBlbCBwaWxsIGNsaWNrZWFkbztcbiAgLy8gc2kgbm8sIGxvIHJlY29uc3RydWltb3MgZGVzZGUgZWwgY29udGV4dG8gZ2xvYmFsLlxuICBjb25zdCBbc2VsZWN0ZWRDb250ZXh0LCBzZXRTZWxlY3RlZENvbnRleHRdID0gdXNlU3RhdGU8UmVjZW50Q29udGV4dEl0ZW0gfCBudWxsPihudWxsKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaGFzUGlubmVkQ29udGV4dCkgc2V0U2VsZWN0ZWRDb250ZXh0KG51bGwpXG4gIH0sIFtoYXNQaW5uZWRDb250ZXh0XSlcblxuICBjb25zdCBhY3RpdmVDb250ZXh0ID0gdXNlTWVtbzxSZWNlbnRDb250ZXh0SXRlbSB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRDb250ZXh0KSByZXR1cm4gc2VsZWN0ZWRDb250ZXh0XG4gICAgaWYgKCFpc0NvbnRleHRIb21lU3RlcCkgcmV0dXJuIG51bGxcbiAgICBpZiAodGFzaz8uaWQpIHJldHVybiB7IHR5cGU6ICd0YXNrJywgaWQ6IHRhc2suaWQsIG5hbWU6IHRhc2submFtZSB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSByZXR1cm4geyB0eXBlOiAncHJvamVjdCcsIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLCBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUgfVxuICAgIGlmIChjbGllbnQ/LmlkKSByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICBzZWxlY3RlZENvbnRleHQsXG4gICAgaXNDb250ZXh0SG9tZVN0ZXAsXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICBjaGlwc1Byb2plY3Q/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lLFxuICAgIGNsaWVudD8uaWQsXG4gICAgY2xpZW50Py5uYW1lLFxuICBdKVxuXG4gIC8vIGVudGl0eV90eXBlIGRlbCBjb250ZXh0byBwaW5lYWRvIChwcm9qZWN0L2NsaWVudC90YXNrKSwgdG9tYWRvIGRlbCBjb250ZXh0byBnbG9iYWwuXG4gIC8vIEFwbGljYSB0YW50byBhbCBhYnJpciBNQUlBIGRlc2RlIHVuYSBzZWNjacOzbiBlc3BlY8OtZmljYSBjb21vIGFsIGNhbWJpYXIgZGUgY29udmVyc2FjacOzbi5cbiAgY29uc3QgcGlubmVkRW50aXR5VHlwZSA9IHVzZU1lbW88UmVjZW50Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQpIHJldHVybiAndGFzaydcbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQgfHwgcHJvamVjdD8uaWQpIHJldHVybiAncHJvamVjdCdcbiAgICBpZiAoY2xpZW50Py5pZCkgcmV0dXJuICdjbGllbnQnXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdGFzaz8uaWQsIGNoaXBzUHJvamVjdD8ucHJvamVjdElkLCBwcm9qZWN0Py5pZCwgY2xpZW50Py5pZF0pXG5cbiAgLy8gRW4gcHJvamVjdC9jbGllbnQvdGFzaywgY29uIGVsIHJlaW5pY2lvIGRlIGNvbnRleHRvIGVsIHVzdWFyaW8gcHVlZGUgcGluZWFyIHVuIGNvbnRleHRvIGRlIHVuXG4gIC8vIHRpcG8gZGlzdGludG8gYWwgZGUgbGEgc2VjY2nDs24gZGUgYXBlcnR1cmEgKHAuIGVqLiB1biBwcm9qZWN0IGFicmllbmRvIGRlc2RlIHVuYSB0YXJlYSwgb1xuICAvLyB2aWNldmVyc2EpLiBMYXMgRkFRcy9GVUFzIGRlYmVuIGRlcGVuZGVyIGRlbCBjb250ZXh0byByZWFsbWVudGUgcGluZWFkbywgbm8gZGUgbGEgc2VjY2nDs24gZmlqYS5cbiAgLy8gRW4gZWwgaGVhZGVyIHNlIG1hbnRpZW5lIGxhIGzDs2dpY2EgZXhpc3RlbnRlIChiYXNhZGEgZW4gZWwgY29udGV4dG8gc2VsZWNjaW9uYWRvIC8gYWN0aXZlQ29udGV4dCkuXG4gIGNvbnN0IGlzVGFza0NvbnRleHQgPSAhaXNIZWFkZXJIb21lICYmIHBpbm5lZEVudGl0eVR5cGUgPT09ICd0YXNrJ1xuICAvLyBTb2xvIEZVQXMgKHNpbiBGQVFzKTogdGFzayBwYW5lbCBvIHBsYW5uZXIuXG4gIGNvbnN0IGlzRnVhc09ubHlIb21lID0gaXNQbGFubmVySG9tZSB8fCBpc1Rhc2tDb250ZXh0XG4gIC8vIGBzZWN0aW9uYCBxdWUgc2UgY29uc3VsdGEgcGFyYSBsYXMgRlVBczogZW4gbm8taGVhZGVyIHNpZ3VlIGVsIHRpcG8gZGUgY29udGV4dG8gcGluZWFkby5cbiAgLy8gRW4gcGxhbm5lciBzZSBmdWVyemEgbGEgc2VjdGlvbiBBUEkgYHBsYW5uZXJgLlxuICBjb25zdCBmdWFzU2VjdGlvbjogU2VjdGlvbiA9ICgoKSA9PiB7XG4gICAgaWYgKGlzUGxhbm5lckhvbWUpIHJldHVybiAncGxhbm5lcidcbiAgICBpZiAoIWlzSGVhZGVySG9tZSAmJiBwaW5uZWRFbnRpdHlUeXBlKSByZXR1cm4gcGlubmVkRW50aXR5VHlwZVxuICAgIHJldHVybiBzZWN0aW9uXG4gIH0pKClcblxuICAvLyBGQVFzL2FjY2lvbmVzOlxuICAvLyAgLSBoZWFkZXItaG9tZSAob3JjaGVzdHJhdG9yKSwgcGFzbyAyOiBmaWx0cmFkYXMgcG9yIGBlbnRpdHlfdHlwZWAgZGVsIGNvbnRleHRvIHNlbGVjY2lvbmFkby5cbiAgLy8gIC0gaG9tZXMgZGUgcHJveWVjdG8vY2xpZW50ZS90YXJlYSAoc2VjY2nDs24pOiBmaWx0cmFkYXMgcG9yIGVsIGBlbnRpdHlfdHlwZWAgZGVsIGNvbnRleHRvIHNldGVhZG8uXG4gIC8vICAtIHBsYW5uZXI6IEZVQXMgY29uIHNlY3Rpb249cGxhbm5lciwgc2luIGVudGl0eV90eXBlIG5pIEZBUXMuXG4gIGNvbnN0IHJlYWxMaXN0c0FnZW50SWQgPSAoKCkgPT4ge1xuICAgIGlmICghaXNNQUlBIHx8IGlzTWFpYWtlcikgcmV0dXJuIHVuZGVmaW5lZFxuICAgIC8vIFBhc28gMSAoY29udGV4dG9zIHJlY2llbnRlcywgc2luIGNvbnRleHRvKTogbm8gc2UgcGlkZW4gRkFRcy9GVUFzLlxuICAgIGlmIChpc1JlY2VudENvbnRleHRzU3RlcCkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGlmIChpc0hlYWRlckhvbWUpIHJldHVybiBpc0NvbnRleHRIb21lU3RlcCA/IGFnZW50Py5pZCA6IHVuZGVmaW5lZFxuICAgIHJldHVybiBhZ2VudD8uaWRcbiAgfSkoKVxuICBjb25zdCByZWFsTGlzdHNFbnRpdHlUeXBlID0gKCgpID0+IHtcbiAgICBpZiAoaXNQbGFubmVySG9tZSkgcmV0dXJuICdwbGFubmVyJ1xuICAgIGlmICghaXNIZWFkZXJIb21lKSByZXR1cm4gcGlubmVkRW50aXR5VHlwZVxuICAgIHJldHVybiBpc0NvbnRleHRIb21lU3RlcCA/IChhY3RpdmVDb250ZXh0Py50eXBlID8/IHBpbm5lZEVudGl0eVR5cGUpIDogdW5kZWZpbmVkXG4gIH0pKClcbiAgY29uc3QgeyBhY3Rpb25zOiBhZ2VudEZ1YXMsIGxvYWRpbmc6IGZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoXG4gICAgcmVhbExpc3RzQWdlbnRJZCxcbiAgICBmdWFzU2VjdGlvbixcbiAgICByZWFsTGlzdHNFbnRpdHlUeXBlXG4gIClcbiAgY29uc3QgeyBhY3Rpb25zOiBjb2xsYWJvcmF0b3JQbGFubmVyRnVhcywgbG9hZGluZzogY29sbGFib3JhdG9yUGxhbm5lckZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoXG4gICAgaXNIZWFkZXJIb3Vyc0FnZW50SG9tZSAmJiAhaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lID8gYWdlbnQ/LmlkIDogdW5kZWZpbmVkLFxuICAgICdwbGFubmVyJ1xuICApXG4gIGNvbnN0IHsgYWN0aW9uczogbWFuYWdlckhvbWVGdWFzLCBsb2FkaW5nOiBtYW5hZ2VySG9tZUZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoXG4gICAgaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lID8gYWdlbnQ/LmlkIDogdW5kZWZpbmVkLFxuICAgICdob21lX3dpdGhfaG91cnMnXG4gIClcbiAgY29uc3QgaGVhZGVySG91cnNGdWFzID0gaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lID8gbWFuYWdlckhvbWVGdWFzIDogY29sbGFib3JhdG9yUGxhbm5lckZ1YXNcbiAgY29uc3QgaGVhZGVySG91cnNGdWFzTG9hZGluZyA9IGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSA/IG1hbmFnZXJIb21lRnVhc0xvYWRpbmcgOiBjb2xsYWJvcmF0b3JQbGFubmVyRnVhc0xvYWRpbmdcbiAgY29uc3Qge1xuICAgIGZhcXM6IGFnZW50RmFxcyxcbiAgICBsb2FkaW5nOiBmYXFzTG9hZGluZyxcbiAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsXG4gIH0gPSB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMocmVhbExpc3RzQWdlbnRJZCwgbGFuZywgcmVhbExpc3RzRW50aXR5VHlwZSlcbiAgY29uc3QgZmFxc0ZldGNoUmVmID0gdXNlUmVmPHsgYWdlbnRJZDogc3RyaW5nOyBsYW5nOiBzdHJpbmc7IGVudGl0eVR5cGU/OiBzdHJpbmcgfSB8IG51bGw+KG51bGwpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gVGFzayAvIHBsYW5uZXI6IHNvbG8gRlVBcywgc2luIEZBUXMuXG4gICAgaWYgKCFyZWFsTGlzdHNBZ2VudElkIHx8IGlzRnVhc09ubHlIb21lKSByZXR1cm5cbiAgICBjb25zdCBjdXJyZW50S2V5ID0gYCR7cmVhbExpc3RzQWdlbnRJZH0tJHtsYW5nfS0ke3JlYWxMaXN0c0VudGl0eVR5cGUgPz8gJ2FsbCd9YFxuICAgIGNvbnN0IGxhc3RLZXkgPSBmYXFzRmV0Y2hSZWYuY3VycmVudFxuICAgICAgPyBgJHtmYXFzRmV0Y2hSZWYuY3VycmVudC5hZ2VudElkfS0ke2ZhcXNGZXRjaFJlZi5jdXJyZW50Lmxhbmd9LSR7ZmFxc0ZldGNoUmVmLmN1cnJlbnQuZW50aXR5VHlwZSA/PyAnYWxsJ31gXG4gICAgICA6IG51bGxcbiAgICBpZiAoY3VycmVudEtleSAhPT0gbGFzdEtleSkge1xuICAgICAgZmFxc0ZldGNoUmVmLmN1cnJlbnQgPSB7IGFnZW50SWQ6IHJlYWxMaXN0c0FnZW50SWQsIGxhbmcsIGVudGl0eVR5cGU6IHJlYWxMaXN0c0VudGl0eVR5cGUgfVxuICAgICAgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHsgYWdlbnRJZDogcmVhbExpc3RzQWdlbnRJZCwgbGFuZywgZW50aXR5VHlwZTogcmVhbExpc3RzRW50aXR5VHlwZSB9KVxuICAgIH1cbiAgfSwgW3JlYWxMaXN0c0FnZW50SWQsIHJlYWxMaXN0c0VudGl0eVR5cGUsIGlzRnVhc09ubHlIb21lLCBsYW5nLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNdKVxuXG4gIGNvbnN0IGZhcXMgPSBhZ2VudEZhcXNcbiAgY29uc3QgZnVhcyA9IGFnZW50RnVhc1xuICBjb25zdCBmYXFzQXJlTG9hZGluZyA9IGZhcXNMb2FkaW5nXG4gIGNvbnN0IGZ1YXNBcmVMb2FkaW5nID0gZnVhc0xvYWRpbmdcblxuICBjb25zdCBzaG93UmVjZW50Q29udGV4dHNCbG9jayA9IGlzUmVjZW50Q29udGV4dHNTdGVwICYmIChyZWNlbnRDb250ZXh0c0xvYWRpbmcgfHwgcmVjZW50Q29udGV4dHMubGVuZ3RoID4gMClcbiAgY29uc3Qgc2hvdWxkU2hvd0ZhcXMgPVxuICAgICFpc1JlY2VudENvbnRleHRzU3RlcCAmJlxuICAgICFpc0Z1YXNPbmx5SG9tZSAmJlxuICAgIChpc0NvbnRleHRIb21lU3RlcCB8fCAoIWlzSGVhZGVySG9tZSAmJiBmYXFzQWNjZXNzKSkgJiZcbiAgICAhaXNNYWlha2VyICYmXG4gICAgKGZhcXMubGVuZ3RoID4gMCB8fCBmYXFzQXJlTG9hZGluZylcbiAgY29uc3Qgc2hvdWxkU2hvd0Z1YXMgPVxuICAgICFpc1JlY2VudENvbnRleHRzU3RlcCAmJiAhaXNNYWlha2VyICYmIChpc0NvbnRleHRIb21lU3RlcCB8fCAhaXNIZWFkZXJIb21lKSAmJiAoZnVhcy5sZW5ndGggPiAwIHx8IGZ1YXNBcmVMb2FkaW5nKVxuICBjb25zdCBzaG91bGRTaG93UGxhbm5lckZ1YXNMb2FkaW5nID0gaXNIZWFkZXJIb3Vyc0FnZW50SG9tZSAmJiBoZWFkZXJIb3Vyc0Z1YXNMb2FkaW5nICYmIGhlYWRlckhvdXJzRnVhcy5sZW5ndGggPT09IDBcbiAgY29uc3Qgc2hvdWxkU2hvd1BsYW5uZXJGdWFzQ29udGVudCA9IGlzSGVhZGVySG91cnNBZ2VudEhvbWUgJiYgaGVhZGVySG91cnNGdWFzLmxlbmd0aCA+IDBcbiAgY29uc3Qgc2hvdWxkU2hvd1BsYW5uZXJGdWFzID0gc2hvdWxkU2hvd1BsYW5uZXJGdWFzTG9hZGluZyB8fCBzaG91bGRTaG93UGxhbm5lckZ1YXNDb250ZW50XG5cbiAgY29uc3Qgc2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCA9IHNob3dQcm9qZWN0U3VtbWFyeSAmJiBhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCdcbiAgY29uc3Qgc2hvd0ZBUXMgPSAhIShcbiAgICBzaG93UmVjZW50Q29udGV4dHNCbG9jayB8fFxuICAgIHNob3VsZFNob3dGYXFzIHx8XG4gICAgc2hvdWxkU2hvd0Z1YXMgfHxcbiAgICBzaG91bGRTaG93UGxhbm5lckZ1YXMgfHxcbiAgICBzaG93UHJvamVjdFN1bW1hcnlDYXJkIHx8XG4gICAgaXNNYWlha2VyXG4gIClcbiAgY29uc3QgaG9tZVNjcm9sbGFibGVMYXlvdXQgPSBzaG93RkFRc1xuICBjb25zdCBzaG93RHluYW1pY1NlY3Rpb24gPVxuICAgIHNob3dSZWNlbnRDb250ZXh0c0Jsb2NrIHx8IHNob3VsZFNob3dGYXFzIHx8IHNob3VsZFNob3dGdWFzIHx8IHNob3VsZFNob3dQbGFubmVyRnVhcyB8fCBpc01haWFrZXJcblxuICAvLyBMw7NnaWNhIGRlbCBzY3JvbGwgY29uIGdyYWRpZW50ZXNcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW3Nob3dUb3BHcmFkaWVudCwgc2V0U2hvd1RvcEdyYWRpZW50XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd0JvdHRvbUdyYWRpZW50LCBzZXRTaG93Qm90dG9tR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1Njcm9sbGluZywgc2V0SXNTY3JvbGxpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHNjcm9sbFRpbWVvdXRSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuXG4gIC8vIFNhbHVkbyBmaWpvIHBvciB0aXBvIGRlIGNvbnRleHRvIChpMThuKS4gQ3VzdG9tIGFnZW50cyBzaWd1ZW4gdXNhbmRvIGFnZW50LmludHJvZHVjdGlvbi5cbiAgLy8gUGxhbm5lciB1c2EgdMOtdHVsbyArIGJhamFkYSBwcm9waW9zIChgcGxhbm5lckhvbWVgKSwgbm8gZXN0ZSBncmVldGluZy5cbiAgY29uc3QgZ3JlZXRpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNNYWlha2VyIHx8IGlzUGxhbm5lckhvbWUgfHwgaXNSZWNlbnRDb250ZXh0c1N0ZXApIHJldHVybiAnJ1xuXG4gICAgaWYgKGlzTUFJQSAmJiBwaW5uZWRFbnRpdHlUeXBlKSB7XG4gICAgICByZXR1cm4gdChgaG9tZU1lbnUuY29udGV4dEhvbWUuY29udGV4dEdyZWV0aW5nLiR7cGlubmVkRW50aXR5VHlwZX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGludHJvID0gYWdlbnQ/LmludHJvZHVjdGlvblxuICAgIGlmICghaW50cm8pIHJldHVybiAnJ1xuICAgIGlmIChBcnJheS5pc0FycmF5KGludHJvKSAmJiBpbnRyby5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW50cm9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW50cm8ubGVuZ3RoKV1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBpbnRybyA9PT0gJ3N0cmluZycgPyBpbnRybyA6ICcnXG4gIH0sIFthZ2VudD8uaWQsIGFnZW50Py5pbnRyb2R1Y3Rpb24sIGlzTWFpYWtlciwgaXNQbGFubmVySG9tZSwgaXNNQUlBLCBwaW5uZWRFbnRpdHlUeXBlLCBpc1JlY2VudENvbnRleHRzU3RlcCwgdF0pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dCA9IHVzZUNhbGxiYWNrKFxuICAgIChjb250ZXh0OiBSZWNlbnRDb250ZXh0SXRlbSwgb3JkZXI6IG51bWJlcikgPT4ge1xuICAgICAgZXZlbnQoRVZFTlRTLmFpQ2hhdENvbnRleHRTZWxlY3RlZCwgeyBvcmRlciwgdHlwZTogY29udGV4dC50eXBlIH0pXG5cbiAgICAgIGNvbnN0IGNvbnRleHRJZCA9IHBhcnNlTnVtZXJpY0lkKGNvbnRleHQuaWQpXG4gICAgICBjb25zdCBjbGllbnRJZCA9IHBhcnNlTnVtZXJpY0lkKGNvbnRleHQucGFyZW50cz8uY2xpZW50X2lkKVxuICAgICAgY29uc3QgcHJvamVjdElkID0gcGFyc2VOdW1lcmljSWQoY29udGV4dC5wYXJlbnRzPy5wcm9qZWN0X2lkKVxuICAgICAgY29uc3QgY2xpZW50TmFtZSA9IGNvbnRleHQucGFyZW50cz8uY2xpZW50X25hbWUgfHwgJydcbiAgICAgIGNvbnN0IHByb2plY3ROYW1lID0gY29udGV4dC5wYXJlbnRzPy5wcm9qZWN0X25hbWUgfHwgJydcblxuICAgICAgc2V0U2VsZWN0ZWRDb250ZXh0KGNvbnRleHQpXG4gICAgICBzZXRUYXNrKG51bGwpXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0Q2hpcHNQcm9qZWN0KG51bGwpXG5cbiAgICAgIGlmIChjb250ZXh0LnR5cGUgPT09ICdjbGllbnQnKSB7XG4gICAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHNldENsaWVudD8uKHsgaWQ6IGNvbnRleHRJZCwgbmFtZTogY29udGV4dC5uYW1lIH0pXG4gICAgICB9IGVsc2UgaWYgKGNvbnRleHQudHlwZSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHNldFByb2plY3Qoe1xuICAgICAgICAgIGlkOiBjb250ZXh0SWQsXG4gICAgICAgICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnRJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnQ6IHsgaWQ6IGNsaWVudElkLCBuYW1lOiBjbGllbnROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgc2V0Q2hpcHNQcm9qZWN0KHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhjb250ZXh0SWQpLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBjb250ZXh0Lm5hbWUsXG4gICAgICAgICAgY2xpZW50TmFtZSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoY29udGV4dC50eXBlID09PSAndGFzaycpIHtcbiAgICAgICAgc2V0VGFzayh7XG4gICAgICAgICAgaWQ6IGNvbnRleHQuaWQsXG4gICAgICAgICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgIC4uLihwcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkIH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjbGllbnRJZCAhPSBudWxsKSB7XG4gICAgICAgICAgc2V0Q2xpZW50Py4oeyBpZDogY2xpZW50SWQsIG5hbWU6IGNsaWVudE5hbWUgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvamVjdElkICE9IG51bGwpIHtcbiAgICAgICAgICBzZXRQcm9qZWN0KHtcbiAgICAgICAgICAgIGlkOiBwcm9qZWN0SWQsXG4gICAgICAgICAgICBuYW1lOiBwcm9qZWN0TmFtZSB8fCBgJHt0KCdob21lTWVudS5yZWNlbnRDb250ZXh0cy50eXBlcy5wcm9qZWN0Jyl9ICR7cHJvamVjdElkfWAsXG4gICAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnQ6IHsgaWQ6IGNsaWVudElkLCBuYW1lOiBjbGllbnROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNldENoaXBzUHJvamVjdCh7XG4gICAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0SWQpLFxuICAgICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3ROYW1lIHx8IGAke3QoJ2hvbWVNZW51LnJlY2VudENvbnRleHRzLnR5cGVzLnByb2plY3QnKX0gJHtwcm9qZWN0SWR9YCxcbiAgICAgICAgICAgIGNsaWVudE5hbWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFpYS1pbnB1dC1yZWZvY3VzJykpXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2V2ZW50LCBzZXRDaGlwc1Byb2plY3QsIHNldENsaWVudCwgc2V0UHJvamVjdCwgc2V0VGFzaywgdF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUhvbWVTdGFydENoYXQgPSB1c2VDYWxsYmFjayhcbiAgICAoXG4gICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10gfCBudWxsLFxuICAgICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICAgIG1lbnRpb25zPzogbnVsbCxcbiAgICAgIGZ1YUlkPzogc3RyaW5nXG4gICAgKSA9PiB7XG4gICAgICBpZiAoaXNIZWFkZXJNYW5hZ2VySG91cnNIb21lICYmIGZ1YUlkKSB7XG4gICAgICAgIGZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgICAgc2V0U2VsZWN0ZWRDb250ZXh0KG51bGwpXG4gICAgICAgICAgc2V0VGFzayhudWxsKVxuICAgICAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgb25TdGFydENoYXQobWVzc2FnZSwgYXR0YWNobWVudHMsIGZhcUlkLCBhZ2VudFN1Z2dlc3Rpb25JZCwgbWVudGlvbnMsIGZ1YUlkKVxuICAgIH0sXG4gICAgW2lzSGVhZGVyTWFuYWdlckhvdXJzSG9tZSwgb25TdGFydENoYXQsIHNldENoaXBzUHJvamVjdCwgc2V0Q2xpZW50LCBzZXRQcm9qZWN0LCBzZXRUYXNrXVxuICApXG5cbiAgY29uc3QgcmVuZGVyUmVjZW50Q29udGV4dHMgPSAoKSA9PiB7XG4gICAgaWYgKCFpc1JlY2VudENvbnRleHRzU3RlcCkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNcbiAgICAgICAgJGZpeGVkQ29udGVudFdpZHRoPXtpc0hlYWRlclRhc2tDb250ZXh0SG9tZSA/IE1BSUFfSEVBREVSX0NPTExBQk9SQVRPUl9IT01FX0NPTlRFTlRfV0lEVEhfUFggOiB1bmRlZmluZWR9XG4gICAgICA+XG4gICAgICAgIHtpc0hlYWRlckhvdXJzQWdlbnRIb21lID8gKFxuICAgICAgICAgIDxTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICAgIHt0KFxuICAgICAgICAgICAgICAgIGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZVxuICAgICAgICAgICAgICAgICAgPyAnaG9tZU1lbnUuY29udGV4dEhvbWUucmVjZW50Q29udGV4dHNTZWN0aW9uTWFuYWdlci50aXRsZSdcbiAgICAgICAgICAgICAgICAgIDogJ2hvbWVNZW51LmNvbnRleHRIb21lLnJlY2VudFRhc2tzU2VjdGlvbi50aXRsZSdcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgICAgIHt0KFxuICAgICAgICAgICAgICAgIGlzSGVhZGVyTWFuYWdlckhvdXJzSG9tZVxuICAgICAgICAgICAgICAgICAgPyAnaG9tZU1lbnUuY29udGV4dEhvbWUucmVjZW50Q29udGV4dHNTZWN0aW9uTWFuYWdlci5zdWJ0aXRsZSdcbiAgICAgICAgICAgICAgICAgIDogJ2hvbWVNZW51LmNvbnRleHRIb21lLnJlY2VudFRhc2tzU2VjdGlvbi5zdWJ0aXRsZSdcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0ICRmbHVzaFBpbGxzPXtpc0hlYWRlclRhc2tDb250ZXh0SG9tZX0+XG4gICAgICAgICAge3JlY2VudENvbnRleHRzTG9hZGluZyAmJlxuICAgICAgICAgICAgUkVDRU5UX0NPTlRFWFRfU0tFTEVUT05fS0VZUy5tYXAoa2V5ID0+IDxTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFNrZWxldG9uIGtleT17a2V5fSAvPil9XG4gICAgICAgICAgeyFyZWNlbnRDb250ZXh0c0xvYWRpbmcgJiZcbiAgICAgICAgICAgIHJlY2VudENvbnRleHRzLm1hcCgoY29udGV4dCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPFJlY2VudENvbnRleHRQaWxsXG4gICAgICAgICAgICAgICAga2V5PXtgJHtjb250ZXh0LnR5cGV9LSR7Y29udGV4dC5pZH1gfVxuICAgICAgICAgICAgICAgIGNvbnRleHQ9e2NvbnRleHR9XG4gICAgICAgICAgICAgICAgbGFiZWw9e2NvbnRleHQubmFtZS50cmltKCl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dChjb250ZXh0LCBpbmRleCArIDEpfVxuICAgICAgICAgICAgICAgIGZ1bGxXaWR0aD17aXNIZWFkZXJUYXNrQ29udGV4dEhvbWV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0c0xpc3Q+XG4gICAgICA8L1NDQ0FJSG9tZVJlY2VudENvbnRleHRzPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGNoZWNrU2Nyb2xsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyIHx8ICFob21lU2Nyb2xsYWJsZUxheW91dCkgcmV0dXJuXG5cbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgIGNvbnN0IGlzU2Nyb2xsYWJsZSA9IHNjcm9sbEhlaWdodCA+IGNsaWVudEhlaWdodFxuICAgIGNvbnN0IGlzQXRUb3AgPSBzY3JvbGxUb3AgPT09IDBcbiAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDFcblxuICAgIHNldFNob3dUb3BHcmFkaWVudChpc1Njcm9sbGFibGUgJiYgIWlzQXRUb3ApXG4gICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGlzU2Nyb2xsYWJsZSAmJiAhaXNBdEJvdHRvbSlcbiAgfSwgW2hvbWVTY3JvbGxhYmxlTGF5b3V0XSlcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY2hlY2tTY3JvbGwoKVxuICAgIHNldElzU2Nyb2xsaW5nKHRydWUpXG5cbiAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgIH1cblxuICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNTY3JvbGxpbmcoZmFsc2UpXG4gICAgfSwgMTUwKVxuICB9LCBbY2hlY2tTY3JvbGxdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFob21lU2Nyb2xsYWJsZUxheW91dCkge1xuICAgICAgc2V0U2hvd1RvcEdyYWRpZW50KGZhbHNlKVxuICAgICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGZhbHNlKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZWR1bGVDaGVja1Njcm9sbCA9ICgpID0+IHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGNoZWNrU2Nyb2xsKClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgc2NoZWR1bGVDaGVja1Njcm9sbCgpXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcblxuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHNjaGVkdWxlQ2hlY2tTY3JvbGwpXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIpXG4gICAgY29uc3Qgc2Nyb2xsQ29udGVudCA9IGNvbnRhaW5lci5maXJzdEVsZW1lbnRDaGlsZFxuICAgIGlmIChzY3JvbGxDb250ZW50IGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShzY3JvbGxDb250ZW50KVxuICAgIH1cblxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KHNjaGVkdWxlQ2hlY2tTY3JvbGwsIDEwMClcbiAgICBjb25zdCBsYXRlVGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoc2NoZWR1bGVDaGVja1Njcm9sbCwgNDAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjbGVhclRpbWVvdXQobGF0ZVRpbWVvdXRJZClcbiAgICAgIGlmIChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtob21lU2Nyb2xsYWJsZUxheW91dCwgY2hlY2tTY3JvbGwsIGhhbmRsZVNjcm9sbF0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWhvbWVTY3JvbGxhYmxlTGF5b3V0KSByZXR1cm5cbiAgICBjaGVja1Njcm9sbCgpXG4gIH0sIFtcbiAgICBob21lU2Nyb2xsYWJsZUxheW91dCxcbiAgICBjaGVja1Njcm9sbCxcbiAgICByZWNlbnRDb250ZXh0c0xvYWRpbmcsXG4gICAgcmVjZW50Q29udGV4dHMubGVuZ3RoLFxuICAgIGhlYWRlckhvdXJzRnVhc0xvYWRpbmcsXG4gICAgaGVhZGVySG91cnNGdWFzLmxlbmd0aCxcbiAgICBmdWFzTG9hZGluZyxcbiAgICBmdWFzLmxlbmd0aCxcbiAgICBmYXFzQXJlTG9hZGluZyxcbiAgICBmYXFzLmxlbmd0aCxcbiAgICBzaG91bGRTaG93UGxhbm5lckZ1YXMsXG4gICAgaXNNYWlha2VyLFxuICBdKVxuXG4gIGNvbnN0IHJlbmRlckhlYWRlckNvbnRlbnQgPSAoKSA9PiB7XG4gICAgaWYgKCFpc01BSUEpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mbz5cbiAgICAgICAgICAgIHthZ2VudD8uZW1vaml9IHthZ2VudD8ubmFtZX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUFnZW50SW5mbz5cbiAgICAgICAgICB7YWdlbnQ/LmNyZWF0ZWRfYnkgJiYgIWlzTUFJQSAmJiAoXG4gICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICAgIGFnZW50Py5jcmVhdGVkX2J5Py5pc19kZWxldGVkID8gdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQnKSA6IHQoJ2hvbWVNZW51LmNyZWF0ZWRCeVRvb2x0aXAnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0PlxuICAgICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LmNyZWF0ZWRCeScpfXsnICd9XG4gICAgICAgICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWU+e2FnZW50Py5jcmVhdGVkX2J5Py5uYW1lfTwvU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWU+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50QWxpZ25TdGFydCA9IGlzUGxhbm5lckhvbWUgfHwgaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgfHwgaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWVcblxuICAgIGNvbnN0IG1haWFIZWFkZXJTdGFja05lZWRzR2FwID1cbiAgICAgIChpc1JlY2VudENvbnRleHRzU3RlcCAmJiAhaXNIZWFkZXJUYXNrQ29udGV4dEhvbWUgJiYgIWlzUGxhbm5lckhvbWUpIHx8XG4gICAgICAoIWlzUmVjZW50Q29udGV4dHNTdGVwICYmXG4gICAgICAgICEhZ3JlZXRpbmcgJiZcbiAgICAgICAgIWlzUGxhbm5lckhvbWUgJiZcbiAgICAgICAgIWlzSGVhZGVyVGFza0NvbnRleHRIb21lICYmXG4gICAgICAgICFpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZSlcblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lTWFpYUhlYWRlclN0YWNrICRub0dhcD17IW1haWFIZWFkZXJTdGFja05lZWRzR2FwfSAkYWxpZ249e2NvbnRlbnRBbGlnblN0YXJ0ID8gJ3N0YXJ0JyA6ICdjZW50ZXInfT5cbiAgICAgICAgeyFpc1BsYW5uZXJIb21lICYmICFpc0hlYWRlclRhc2tDb250ZXh0SG9tZSAmJiAhaXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWUgJiYgKFxuICAgICAgICAgIDxTQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICAgICAgICA8TUFJQUlzb2xvZ28gLz5cbiAgICAgICAgICAgIDwvU0NDQUlIb21lTG9nb1dyYXBwZXI+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgICB7aXNQbGFubmVySG9tZSAmJiAoXG4gICAgICAgICAgPFNDQ0FJSG9tZVRpdGxlQmxvY2sgJGFsaWduPVwic3RhcnRcIj5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVUaXRsZSAkc2l6ZT1cIm1kXCIgJGFsaWduPVwic3RhcnRcIj5cbiAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LnBsYW5uZXJIb21lLnRpdGxlJyl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVRpdGxlPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVN1YnRpdGxlICRhbGlnbj1cInN0YXJ0XCI+e3QoJ2hvbWVNZW51LnBsYW5uZXJIb21lLnN1YnRpdGxlJyl9PC9TQ0NBSUhvbWVTdWJ0aXRsZT5cbiAgICAgICAgICA8L1NDQ0FJSG9tZVRpdGxlQmxvY2s+XG4gICAgICAgICl9XG4gICAgICAgIHshaXNQbGFubmVySG9tZSAmJiBpc1JlY2VudENvbnRleHRzU3RlcCAmJiBpc0hlYWRlclRhc2tDb250ZXh0SG9tZSAmJiAoXG4gICAgICAgICAgPFNDQ0FJSG9tZVRpdGxlQmxvY2sgJGFsaWduPVwic3RhcnRcIiAkZnVsbFdpZHRoPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVRpdGxlICRzaXplPVwiY29udGV4dFwiICRhbGlnbj1cInN0YXJ0XCIgJGZ1bGxXaWR0aD5cbiAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LmNvbnRleHRIb21lLmdyZWV0aW5nJywgeyBuYW1lOiB1c2VyLmZpcnN0TmFtZSB9KX1cbiAgICAgICAgICAgIDwvU0NDQUlIb21lVGl0bGU+XG4gICAgICAgICAgICA8U0NDQUlIb21lU3VidGl0bGUgJGFsaWduPVwic3RhcnRcIiAkY29sbGFib3JhdG9ySG9tZT5cbiAgICAgICAgICAgICAge3QoaGVhZGVyVGFza0NvbnRleHRTdWJ0aXRsZUtleSl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVN1YnRpdGxlPlxuICAgICAgICAgIDwvU0NDQUlIb21lVGl0bGVCbG9jaz5cbiAgICAgICAgKX1cbiAgICAgICAgeyFpc1BsYW5uZXJIb21lICYmIGlzUmVjZW50Q29udGV4dHNTdGVwICYmICFpc0hlYWRlclRhc2tDb250ZXh0SG9tZSAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVUaXRsZSAkYWxpZ249e2lzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lID8gJ3N0YXJ0JyA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICAgIHt0KCdob21lTWVudS5jb250ZXh0SG9tZS5ncmVldGluZycsIHsgbmFtZTogdXNlci5maXJzdE5hbWUgfSl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVRpdGxlPlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVN1YnRpdGxlICRhbGlnbj17aXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWUgPyAnc3RhcnQnIDogdW5kZWZpbmVkfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgaXNDb2xsYWJvcmF0b3JSb2xlKHVzZXIucm9sZV9pZClcbiAgICAgICAgICAgICAgICAgID8gJ2hvbWVNZW51LmNvbnRleHRIb21lLnN1YnRpdGxlQ29sbGFib3JhdG9yJ1xuICAgICAgICAgICAgICAgICAgOiAnaG9tZU1lbnUuY29udGV4dEhvbWUuc3VidGl0bGUnXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZVN1YnRpdGxlPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgICB7IWlzUGxhbm5lckhvbWUgJiYgIWlzUmVjZW50Q29udGV4dHNTdGVwICYmIGdyZWV0aW5nICYmIChcbiAgICAgICAgICA8U0NDQUlIb21lR3JlZXRpbmdcbiAgICAgICAgICAgICRhbGlnbj17aXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWUgPyAnc3RhcnQnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgJHNpemU9e2lzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lID8gJ21kJyA6ICdsZyd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2dyZWV0aW5nfVxuICAgICAgICAgIDwvU0NDQUlIb21lR3JlZXRpbmc+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJSG9tZU1haWFIZWFkZXJTdGFjaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBmaXhlZEhvbWVDb250ZW50V2lkdGggPVxuICAgIGlzSGVhZGVyVGFza0NvbnRleHRIb21lIHx8IGlzTGVmdEFsaWduZWRPcmNoZXN0cmF0b3JIb21lXG4gICAgICA/IE1BSUFfSEVBREVSX0NPTExBQk9SQVRPUl9IT01FX0NPTlRFTlRfV0lEVEhfUFhcbiAgICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IGNvbnRlbnRBbGlnblN0YXJ0ID0gaXNQbGFubmVySG9tZSB8fCBpc0hlYWRlclRhc2tDb250ZXh0SG9tZSB8fCBpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZVxuICBjb25zdCBzaG93QWdlbnRJbnRyb2R1Y3Rpb24gPSBzZWN0aW9uICE9PSAncHJvamVjdCcgJiYgIWlzTUFJQSAmJiAhIWFnZW50Py5pbnRyb2R1Y3Rpb25cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSUhvbWVDb250YWluZXIgc2hvd0ZBUXM9e3Nob3dGQVFzfSAkYWxpZ25TdGFydD17aXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWV9PlxuICAgICAge2hvbWVTY3JvbGxhYmxlTGF5b3V0ICYmIDxTQ0NBSUhvbWVHcmFkaWVudFRvcCAkc2hvdz17c2hvd1RvcEdyYWRpZW50fSAvPn1cbiAgICAgIDxTQ0NBSUhvbWVDb250ZW50XG4gICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fVxuICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICRmbG9hdGluZ0N1c3RvbUNlbnRlcj17ZmxvYXRpbmdDdXN0b21DZW50ZXJ9XG4gICAgICAgICRjZW50ZXJWZXJ0aWNhbGx5PXtpc1BsYW5uZXJIb21lfVxuICAgICAgICAkYWxpZ25TdGFydD17aXNMZWZ0QWxpZ25lZE9yY2hlc3RyYXRvckhvbWV9XG4gICAgICAgICRmaXhlZENvbnRlbnRXaWR0aD17Zml4ZWRIb21lQ29udGVudFdpZHRofVxuICAgICAgPlxuICAgICAgICA8U0NDQUlIb21lQ29udGVudElubmVyXG4gICAgICAgICAgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fVxuICAgICAgICAgICRpc0FnZW50Vmlldz17IWlzTUFJQX1cbiAgICAgICAgICAkZmxvYXRpbmdDdXN0b21DZW50ZXI9e2Zsb2F0aW5nQ3VzdG9tQ2VudGVyfVxuICAgICAgICAgICRjZW50ZXJWZXJ0aWNhbGx5PXtpc1BsYW5uZXJIb21lfVxuICAgICAgICAgICRhbGlnblN0YXJ0PXtpc0hlYWRlclRhc2tDb250ZXh0SG9tZSB8fCBpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZX1cbiAgICAgICAgICAkaGVhZGVyQ29sbGFib3JhdG9ySG9tZT17aXNIZWFkZXJUYXNrQ29udGV4dEhvbWV9XG4gICAgICAgICAgJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lPXtpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTQ0NBSUhvbWVIZWFkZXJcbiAgICAgICAgICAgICRnYXA9e3Nob3dBZ2VudEludHJvZHVjdGlvbiA/ICcyMHB4JyA6ICcwJ31cbiAgICAgICAgICAgICRtYXhXaWR0aD17aXNNQUlBID8gJzEwMCUnIDogJzM4MHB4J31cbiAgICAgICAgICAgICRpc0FnZW50Vmlldz17IWlzTUFJQX1cbiAgICAgICAgICAgICRhbGlnbj17Y29udGVudEFsaWduU3RhcnQgPyAnc3RhcnQnIDogJ2NlbnRlcid9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3JlbmRlckhlYWRlckNvbnRlbnQoKX1cblxuICAgICAgICAgICAge3Nob3dBZ2VudEludHJvZHVjdGlvbiA/IChcbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZUludHJvZHVjdGlvbiBleHBhbmRlZD17ZXhwYW5kZWR9PnthZ2VudC5pbnRyb2R1Y3Rpb259PC9TQ0NBSUhvbWVJbnRyb2R1Y3Rpb24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUhlYWRlcj5cbiAgICAgICAgICB7c2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCAmJiAoXG4gICAgICAgICAgICA8U0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Qgb25DbGljaz17aGFuZGxlcnMucHJvamVjdFN1bW1hcnl9PlxuICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgICAgPFRlbXBsYXRlR3JhZGllbnRJY29uIGhlaWdodD17MjR9IHdpZHRoPXsyNH0gLz5cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT57dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkudGl0bGUnKX08L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkuZGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgPC9TQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93RHluYW1pY1NlY3Rpb24gJiYgKFxuICAgICAgICAgICAgPFNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uXG4gICAgICAgICAgICAgICRncm93PXtpc01haWFrZXJ9XG4gICAgICAgICAgICAgICRhbGlnblN0YXJ0PXtpc0hlYWRlclRhc2tDb250ZXh0SG9tZSB8fCBpc0xlZnRBbGlnbmVkT3JjaGVzdHJhdG9ySG9tZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3Nob3VsZFNob3dQbGFubmVyRnVhcyA/IChcbiAgICAgICAgICAgICAgICA8RnJlcXVlbnRseVVzZWRBY3Rpb25zXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwicGxhbm5lclwiXG4gICAgICAgICAgICAgICAgICBvblN0YXJ0Q2hhdD17aGFuZGxlSG9tZVN0YXJ0Q2hhdH1cbiAgICAgICAgICAgICAgICAgIGFnZW50SWQ9e2FnZW50Py5pZH1cbiAgICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM9e2hlYWRlckhvdXJzRnVhc31cbiAgICAgICAgICAgICAgICAgIGxvYWRpbmc9e2hlYWRlckhvdXJzRnVhc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIHtyZW5kZXJSZWNlbnRDb250ZXh0cygpfVxuICAgICAgICAgICAgICB7c2hvdWxkU2hvd0ZhcXMgJiYgKFxuICAgICAgICAgICAgICAgIDxGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNcbiAgICAgICAgICAgICAgICAgIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH1cbiAgICAgICAgICAgICAgICAgIHNob3dGQVFzPXtzaG93RkFRc31cbiAgICAgICAgICAgICAgICAgIHNob3dQcm9qZWN0U3VtbWFyeT17c2hvd1Byb2plY3RTdW1tYXJ5fVxuICAgICAgICAgICAgICAgICAgYWdlbnRJZD17YWdlbnQ/LmlkfVxuICAgICAgICAgICAgICAgICAgbGFuZz17bGFuZ31cbiAgICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgICAgICAgIGZhcXM9e2ZhcXN9XG4gICAgICAgICAgICAgICAgICBsb2FkaW5nPXtmYXFzQXJlTG9hZGluZ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7c2hvdWxkU2hvd0Z1YXMgJiYgKFxuICAgICAgICAgICAgICAgIDxGcmVxdWVudGx5VXNlZEFjdGlvbnNcbiAgICAgICAgICAgICAgICAgIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH1cbiAgICAgICAgICAgICAgICAgIGFnZW50SWQ9e2FnZW50Py5pZH1cbiAgICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM9e2Z1YXN9XG4gICAgICAgICAgICAgICAgICBsb2FkaW5nPXtmdWFzQXJlTG9hZGluZ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7aXNNYWlha2VyID8gPENoYXRBSUhvbWVNYWlha2VyIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH0gLz4gOiBudWxsfVxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVEeW5hbWljU2VjdGlvbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQ0FJSG9tZUNvbnRlbnRJbm5lcj5cbiAgICAgIDwvU0NDQUlIb21lQ29udGVudD5cbiAgICAgIHtob21lU2Nyb2xsYWJsZUxheW91dCAmJiA8U0NDQUlIb21lR3JhZGllbnRCb3R0b20gJHNob3c9e3Nob3dCb3R0b21HcmFkaWVudH0gLz59XG4gICAgPC9TQ0NBSUhvbWVDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsZUFBZSxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUMxRixTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUVyQyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLGFBQWEsUUFBUSxnREFBZ0Q7QUFDOUUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFJMUQsU0FDRUMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLHFCQUFxQixFQUNyQkMsb0JBQW9CLEVBQ3BCQyx1QkFBdUIsRUFDdkJDLGVBQWUsRUFDZkMsaUJBQWlCLEVBQ2pCQywyQkFBMkIsRUFDM0JDLGtCQUFrQixFQUNsQkMsdUJBQXVCLEVBQ3ZCQyw4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
@@ -6,6 +6,7 @@ import { getFrequentlyUsedActions } from '../services/maia/Actions/getFrequently
6
6
  import { useT } from './useT';
7
7
  import { mapBackendLang } from '../utils/mapBackendLang';
8
8
  export var mapMaiaSectionToFuasApiSection = function mapMaiaSectionToFuasApiSection(section) {
9
+ if (section === 'home_with_hours') return 'home_with_hours';
9
10
  if (section === 'task') return 'tasks';
10
11
  if (section === 'planner') return 'planner';
11
12
  return 'home';
@@ -90,4 +91,4 @@ export var useFrequentlyUsedActions = function useFrequentlyUsedActions(agentId,
90
91
  handleGetFrequentlyUsedActions: handleGetFrequentlyUsedActions
91
92
  };
92
93
  };
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsInVzZVQiLCJtYXBCYWNrZW5kTGFuZyIsIm1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiIsInNlY3Rpb24iLCJ1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJhZ2VudElkIiwibWFpYVNlY3Rpb24iLCJlbnRpdHlUeXBlIiwiX3VzZVQiLCJpMThuIiwibGFuZyIsImxhbmd1YWdlIiwiYXBpU2VjdGlvbiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGlvbnMiLCJzZXRBY3Rpb25zIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsImhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFpZCIsInJlc3BvbnNlIiwibWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiZGF0YSIsIkVycm9yIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9BY3Rpb24nXG5pbXBvcnQge1xuICBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG4gIHR5cGUgRnJlcXVlbnRseVVzZWRBY3Rpb25zQXBpU2VjdGlvbixcbn0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9BY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB0eXBlIHsgU2VjdGlvbiB9IGZyb20gJy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgbWFwQmFja2VuZExhbmcgfSBmcm9tICcuLi91dGlscy9tYXBCYWNrZW5kTGFuZydcblxuZXhwb3J0IGNvbnN0IG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiA9IChzZWN0aW9uOiBTZWN0aW9uKTogRnJlcXVlbnRseVVzZWRBY3Rpb25zQXBpU2VjdGlvbiA9PiB7XG4gIGlmIChzZWN0aW9uID09PSAndGFzaycpIHJldHVybiAndGFza3MnXG4gIGlmIChzZWN0aW9uID09PSAncGxhbm5lcicpIHJldHVybiAncGxhbm5lcidcbiAgcmV0dXJuICdob21lJ1xufVxuXG5leHBvcnQgY29uc3QgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zID0gKGFnZW50SWQ/OiBzdHJpbmcsIG1haWFTZWN0aW9uPzogU2VjdGlvbiwgZW50aXR5VHlwZT86IHN0cmluZykgPT4ge1xuICBjb25zdCB7IGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCBsYW5nID0gbWFwQmFja2VuZExhbmcoaTE4bi5sYW5ndWFnZSlcbiAgY29uc3QgYXBpU2VjdGlvbiA9IHVzZU1lbW8oKCkgPT4gbWFwTWFpYVNlY3Rpb25Ub0Z1YXNBcGlTZWN0aW9uKG1haWFTZWN0aW9uID8/ICdoZWFkZXInKSwgW21haWFTZWN0aW9uXSlcbiAgY29uc3QgW2FjdGlvbnMsIHNldEFjdGlvbnNdID0gdXNlU3RhdGU8QWN0aW9uW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChhaWQ6IHN0cmluZykgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zKHsgYWdlbnRJZDogYWlkLCBsYW5nLCBzZWN0aW9uOiBhcGlTZWN0aW9uLCBlbnRpdHlUeXBlIH0pXG4gICAgICAgIGlmICghcmVzcG9uc2UgfHwgIUFycmF5LmlzQXJyYXkocmVzcG9uc2UuZGF0YSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgZm9ybWF0IGZyb20gc2VydmVyJylcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3Rpb25zKHJlc3BvbnNlLmRhdGEpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCdcbiAgICAgICAgc2V0RXJyb3IobWVzc2FnZSlcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgZnJlcXVlbnRseSB1c2VkIGFjdGlvbnM6JywgZXJyKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtsYW5nLCBhcGlTZWN0aW9uLCBlbnRpdHlUeXBlXVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3Rpb25zKFtdKVxuICAgIHNldEVycm9yKG51bGwpXG4gICAgaWYgKGFnZW50SWQpIHtcbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyhhZ2VudElkKVxuICAgIH1cbiAgfSwgW2FnZW50SWQsIGhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9uc10pXG5cbiAgcmV0dXJuIHtcbiAgICBhY3Rpb25zLFxuICAgIGxvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRWpFLFNBQ0VDLHdCQUF3QixRQUVuQixtREFBbUQ7QUFFMUQsU0FBU0MsSUFBSSxRQUFRLFFBQVE7QUFDN0IsU0FBU0MsY0FBYyxRQUFRLHlCQUF5QjtBQUV4RCxPQUFPLElBQU1DLDhCQUE4QixHQUFHLFNBQWpDQSw4QkFBOEJBLENBQUlDLE9BQWdCLEVBQXNDO0VBQ25HLElBQUlBLE9BQU8sS0FBSyxNQUFNLEVBQUUsT0FBTyxPQUFPO0VBQ3RDLElBQUlBLE9BQU8sS0FBSyxTQUFTLEVBQUUsT0FBTyxTQUFTO0VBQzNDLE9BQU8sTUFBTTtBQUNmLENBQUM7QUFFRCxPQUFPLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlDLE9BQWdCLEVBQUVDLFdBQXFCLEVBQUVDLFVBQW1CLEVBQUs7RUFDeEcsSUFBQUMsS0FBQSxHQUFpQlIsSUFBSSxDQUFDLENBQUM7SUFBZlMsSUFBSSxHQUFBRCxLQUFBLENBQUpDLElBQUk7RUFDWixJQUFNQyxJQUFJLEdBQUdULGNBQWMsQ0FBQ1EsSUFBSSxDQUFDRSxRQUFRLENBQUM7RUFDMUMsSUFBTUMsVUFBVSxHQUFHZixPQUFPLENBQUM7SUFBQSxPQUFNSyw4QkFBOEIsQ0FBQ0ksV0FBVyxhQUFYQSxXQUFXLGNBQVhBLFdBQVcsR0FBSSxRQUFRLENBQUM7RUFBQSxHQUFFLENBQUNBLFdBQVcsQ0FBQyxDQUFDO0VBQ3hHLElBQUFPLFNBQUEsR0FBOEJmLFFBQVEsQ0FBVyxFQUFFLENBQUM7SUFBQWdCLFVBQUEs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
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsInVzZVQiLCJtYXBCYWNrZW5kTGFuZyIsIm1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiIsInNlY3Rpb24iLCJ1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJhZ2VudElkIiwibWFpYVNlY3Rpb24iLCJlbnRpdHlUeXBlIiwiX3VzZVQiLCJpMThuIiwibGFuZyIsImxhbmd1YWdlIiwiYXBpU2VjdGlvbiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGlvbnMiLCJzZXRBY3Rpb25zIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsImhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFpZCIsInJlc3BvbnNlIiwibWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiZGF0YSIsIkVycm9yIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9BY3Rpb24nXG5pbXBvcnQge1xuICBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG4gIHR5cGUgRnJlcXVlbnRseVVzZWRBY3Rpb25zQXBpU2VjdGlvbixcbn0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9BY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB0eXBlIHsgU2VjdGlvbiB9IGZyb20gJy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgbWFwQmFja2VuZExhbmcgfSBmcm9tICcuLi91dGlscy9tYXBCYWNrZW5kTGFuZydcblxuZXhwb3J0IHR5cGUgRnJlcXVlbnRseVVzZWRBY3Rpb25zTWFpYVNlY3Rpb24gPSBTZWN0aW9uIHwgJ2hvbWVfd2l0aF9ob3VycydcblxuZXhwb3J0IGNvbnN0IG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiA9IChcbiAgc2VjdGlvbjogRnJlcXVlbnRseVVzZWRBY3Rpb25zTWFpYVNlY3Rpb25cbik6IEZyZXF1ZW50bHlVc2VkQWN0aW9uc0FwaVNlY3Rpb24gPT4ge1xuICBpZiAoc2VjdGlvbiA9PT0gJ2hvbWVfd2l0aF9ob3VycycpIHJldHVybiAnaG9tZV93aXRoX2hvdXJzJ1xuICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSByZXR1cm4gJ3Rhc2tzJ1xuICBpZiAoc2VjdGlvbiA9PT0gJ3BsYW5uZXInKSByZXR1cm4gJ3BsYW5uZXInXG4gIHJldHVybiAnaG9tZSdcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyA9IChcbiAgYWdlbnRJZD86IHN0cmluZyxcbiAgbWFpYVNlY3Rpb24/OiBGcmVxdWVudGx5VXNlZEFjdGlvbnNNYWlhU2VjdGlvbixcbiAgZW50aXR5VHlwZT86IHN0cmluZ1xuKSA9PiB7XG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IGxhbmcgPSBtYXBCYWNrZW5kTGFuZyhpMThuLmxhbmd1YWdlKVxuICBjb25zdCBhcGlTZWN0aW9uID0gdXNlTWVtbygoKSA9PiBtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24obWFpYVNlY3Rpb24gPz8gJ2hlYWRlcicpLCBbbWFpYVNlY3Rpb25dKVxuICBjb25zdCBbYWN0aW9ucywgc2V0QWN0aW9uc10gPSB1c2VTdGF0ZTxBY3Rpb25bXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGFpZDogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoeyBhZ2VudElkOiBhaWQsIGxhbmcsIHNlY3Rpb246IGFwaVNlY3Rpb24sIGVudGl0eVR5cGUgfSlcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhQXJyYXkuaXNBcnJheShyZXNwb25zZS5kYXRhKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBmb3JtYXQgZnJvbSBzZXJ2ZXInKVxuICAgICAgICB9XG4gICAgICAgIHNldEFjdGlvbnMocmVzcG9uc2UuZGF0YSlcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJ1xuICAgICAgICBzZXRFcnJvcihtZXNzYWdlKVxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBmcmVxdWVudGx5IHVzZWQgYWN0aW9uczonLCBlcnIpXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2xhbmcsIGFwaVNlY3Rpb24sIGVudGl0eVR5cGVdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEFjdGlvbnMoW10pXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBpZiAoYWdlbnRJZCkge1xuICAgICAgaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zKGFnZW50SWQpXG4gICAgfVxuICB9LCBbYWdlbnRJZCwgaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zXSlcblxuICByZXR1cm4ge1xuICAgIGFjdGlvbnMsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBoYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFFakUsU0FDRUMsd0JBQXdCLFFBRW5CLG1EQUFtRDtBQUUxRCxTQUFTQyxJQUFJLFFBQVEsUUFBUTtBQUM3QixTQUFTQyxjQUFjLFFBQVEseUJBQXlCO0FBSXhELE9BQU8sSUFBTUMsOEJBQThCLEdBQUcsU0FBakNBLDhCQUE4QkEsQ0FDekNDLE9BQXlDLEVBQ0w7RUFDcEMsSUFBSUEsT0FBTyxLQUFLLGlCQUFpQixFQUFFLE9BQU8saUJBQWlCO0VBQzNELElBQUlBLE9BQU8sS0FBSyxNQUFNLEVBQUUsT0FBTyxPQUFPO0VBQ3RDLElBQUlBLE9BQU8sS0FBSyxTQUFTLEVBQUUsT0FBTyxTQUFTO0VBQzNDLE9BQU8sTUFBTTtBQUNmLENBQUM7QUFFRCxPQUFPLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQ25DQyxPQUFnQixFQUNoQkMsV0FBOEMsRUFDOUNDLFVBQW1CLEVBQ2hCO0VBQ0gsSUFBQUMsS0FBQSxHQUFpQlIsSUFBSSxDQUFDLENBQUM7SUFBZlMsSUFBSSxHQUFB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
@@ -43,4 +43,4 @@ export var getFrequentlyUsedActions = /*#__PURE__*/function () {
43
43
  return _ref.apply(this, arguments);
44
44
  };
45
45
  }();
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJwYXJhbXMiLCJhZ2VudElkIiwibGFuZyIsInNlY3Rpb24iLCJlbnRpdHlUeXBlIiwicXVlcnlQYXJhbXMiLCJyZXNwb25zZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiVVJMU2VhcmNoUGFyYW1zIiwic2V0IiwicGF0aCIsImNvbmNhdCIsInRvU3RyaW5nIiwibWV0aG9kIiwic2VudCIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJqc29uIiwiYWJydXB0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9BY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgdHlwZSB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQWN0aW9uJ1xuXG5leHBvcnQgdHlwZSBGcmVxdWVudGx5VXNlZEFjdGlvbnNBcGlTZWN0aW9uID0gJ2hvbWUnIHwgJ3Rhc2tzJyB8ICdwbGFubmVyJ1xuXG50eXBlIEdldEZyZXF1ZW50bHlVc2VkQWN0aW9uc1BhcmFtcyA9IHtcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGxhbmc/OiBzdHJpbmdcbiAgc2VjdGlvbjogRnJlcXVlbnRseVVzZWRBY3Rpb25zQXBpU2VjdGlvblxuICAvKiogdGlwbyBkZSBjb250ZXh0byAvIHNlY3Rpb24gaG9tZSAoY2xpZW50IHwgcHJvamVjdCB8IHRhc2sgfCBwbGFubmVyKSAqL1xuICBlbnRpdHlUeXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMgPSBhc3luYyAocGFyYW1zOiBHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNQYXJhbXMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IHsgYWdlbnRJZCwgbGFuZywgc2VjdGlvbiwgZW50aXR5VHlwZSB9ID0gcGFyYW1zXG5cbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgaWYgKGxhbmcpIHtcbiAgICBxdWVyeVBhcmFtcy5zZXQoJ2xhbmcnLCBsYW5nKVxuICB9XG4gIHF1ZXJ5UGFyYW1zLnNldCgnc2VjdGlvbicsIHNlY3Rpb24pXG4gIGlmIChlbnRpdHlUeXBlKSB7XG4gICAgcXVlcnlQYXJhbXMuc2V0KCdlbnRpdHlfdHlwZScsIGVudGl0eVR5cGUpXG4gIH1cblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYGFnZW50cy8ke2FnZW50SWR9L2ZyZXF1ZW50bHktdXNlZC1hY3Rpb25zPyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gIH0pXG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke3Jlc3BvbnNlLnN0YXR1c31gKVxuICB9XG5cbiAgcmV0dXJuIChhd2FpdCByZXNwb25zZS5qc29uKCkpIGFzIEFjdGlvblJlc3BvbnNlXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFhckMsT0FBTyxJQUFNQyx3QkFBd0I7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFPQyxNQUFzQztJQUFBLElBQUFDLE9BQUEsRUFBQUMsSUFBQSxFQUFBQyxPQUFBLEVBQUFDLFVBQUEsRUFBQUMsV0FBQSxFQUFBQyxRQUFBO0lBQUEsT0FBQVQsbUJBQUEsQ0FBQVUsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUMzRVQsT0FBTyxHQUFnQ0QsTUFBTSxDQUE3Q0MsT0FBTyxFQUFFQyxJQUFJLEdBQTBCRixNQUFNLENBQXBDRSxJQUFJLEVBQUVDLE9BQU8sR0FBaUJILE1BQU0sQ0FBOUJHLE9BQU8sRUFBRUMsVUFBVSxHQUFLSixNQUFNLENBQXJCSSxVQUFVO1VBRXBDQyxXQUFXLEdBQUcsSUFBSU0sZUFBZSxDQUFDLENBQUM7VUFDekMsSUFBSVQsSUFBSSxFQUFFO1lBQ1JHLFdBQVcsQ0FBQ08sR0FBRyxDQUFDLE1BQU0sRUFBRVYsSUFBSSxDQUFDO1VBQy9CO1VBQ0FHLFdBQVcsQ0FBQ08sR0FBRyxDQUFDLFNBQVMsRUFBRVQsT0FBTyxDQUFDO1VBQ25DLElBQUlDLFVBQVUsRUFBRTtZQUNkQyxXQUFXLENBQUNPLEdBQUcsQ0FBQyxhQUFhLEVBQUVSLFVBQVUsQ0FBQztVQUM1QztVQUFDSSxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUVzQmpCLFNBQVMsQ0FBQztZQUMvQm9CLElBQUksWUFBQUMsTUFBQSxDQUFZYixPQUFPLCtCQUFBYSxNQUFBLENBQTRCVCxXQUFXLENBQUNVLFFBQVEsQ0FBQyxDQUFDLENBQUU7WUFDM0VDLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSElWLFFBQVEsR0FBQUUsUUFBQSxDQUFBUyxJQUFBO1VBQUEsSUFLVFgsUUFBUSxDQUFDWSxFQUFFO1lBQUFWLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlTLEtBQUssd0JBQUFMLE1BQUEsQ0FBd0JSLFFBQVEsQ0FBQ2MsTUFBTSxDQUFFLENBQUM7UUFBQTtVQUFBWixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUc3Q0osUUFBUSxDQUFDZSxJQUFJLENBQUMsQ0FBQztRQUFBO1VBQUEsT0FBQWIsUUFBQSxDQUFBYyxNQUFBLFdBQUFkLFFBQUEsQ0FBQVMsSUFBQTtRQUFBO1FBQUE7VUFBQSxPQUFBVCxRQUFBLENBQUFlLElBQUE7TUFBQTtJQUFBLEdBQUF4QixPQUFBO0VBQUEsQ0FDOUI7RUFBQSxnQkF0QllMLHdCQUF3QkEsQ0FBQThCLEVBQUE7SUFBQSxPQUFBN0IsSUFBQSxDQUFBOEIsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQXNCcEMiLCJpZ25vcmVMaXN0IjpbXX0=
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJwYXJhbXMiLCJhZ2VudElkIiwibGFuZyIsInNlY3Rpb24iLCJlbnRpdHlUeXBlIiwicXVlcnlQYXJhbXMiLCJyZXNwb25zZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiVVJMU2VhcmNoUGFyYW1zIiwic2V0IiwicGF0aCIsImNvbmNhdCIsInRvU3RyaW5nIiwibWV0aG9kIiwic2VudCIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJqc29uIiwiYWJydXB0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9BY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgdHlwZSB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQWN0aW9uJ1xuXG5leHBvcnQgdHlwZSBGcmVxdWVudGx5VXNlZEFjdGlvbnNBcGlTZWN0aW9uID0gJ2hvbWUnIHwgJ2hvbWVfd2l0aF9ob3VycycgfCAndGFza3MnIHwgJ3BsYW5uZXInXG5cbnR5cGUgR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zUGFyYW1zID0ge1xuICBhZ2VudElkOiBzdHJpbmdcbiAgbGFuZz86IHN0cmluZ1xuICBzZWN0aW9uOiBGcmVxdWVudGx5VXNlZEFjdGlvbnNBcGlTZWN0aW9uXG4gIC8qKiB0aXBvIGRlIGNvbnRleHRvIC8gc2VjdGlvbiBob21lIChjbGllbnQgfCBwcm9qZWN0IHwgdGFzayB8IHBsYW5uZXIpICovXG4gIGVudGl0eVR5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyA9IGFzeW5jIChwYXJhbXM6IEdldEZyZXF1ZW50bHlVc2VkQWN0aW9uc1BhcmFtcyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+ID0+IHtcbiAgY29uc3QgeyBhZ2VudElkLCBsYW5nLCBzZWN0aW9uLCBlbnRpdHlUeXBlIH0gPSBwYXJhbXNcblxuICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICBpZiAobGFuZykge1xuICAgIHF1ZXJ5UGFyYW1zLnNldCgnbGFuZycsIGxhbmcpXG4gIH1cbiAgcXVlcnlQYXJhbXMuc2V0KCdzZWN0aW9uJywgc2VjdGlvbilcbiAgaWYgKGVudGl0eVR5cGUpIHtcbiAgICBxdWVyeVBhcmFtcy5zZXQoJ2VudGl0eV90eXBlJywgZW50aXR5VHlwZSlcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiBgYWdlbnRzLyR7YWdlbnRJZH0vZnJlcXVlbnRseS11c2VkLWFjdGlvbnM/JHtxdWVyeVBhcmFtcy50b1N0cmluZygpfWAsXG4gICAgbWV0aG9kOiAnR0VUJyxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApXG4gIH1cblxuICByZXR1cm4gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgQWN0aW9uUmVzcG9uc2Vcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLFFBQVEsV0FBVztBQWFyQyxPQUFPLElBQU1DLHdCQUF3QjtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLE1BQXNDO0lBQUEsSUFBQUMsT0FBQSxFQUFBQyxJQUFBLEVBQUFDLE9BQUEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBLEVBQUFDLFFBQUE7SUFBQSxPQUFBVCxtQkFBQSxDQUFBVSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQzNFVCxPQUFPLEdBQWdDRCxNQUFNLENBQTdDQyxPQUFPLEVBQUVDLElBQUksR0FBMEJGLE1BQU0sQ0FBcENFLElBQUksRUFBRUMsT0FBTyxHQUFpQkgsTUFBTSxDQUE5QkcsT0FBTyxFQUFFQyxVQUFVLEdBQUtKLE1BQU0sQ0FBckJJLFVBQVU7VUFFcENDLFdBQVcsR0FBRyxJQUFJTSxlQUFlLENBQUMsQ0FBQztVQUN6QyxJQUFJVCxJQUFJLEVBQUU7WUFDUkcsV0FBVyxDQUFDTyxHQUFHLENBQUMsTUFBTSxFQUFFVixJQUFJLENBQUM7VUFDL0I7VUFDQUcsV0FBVyxDQUFDTyxHQUFHLENBQUMsU0FBUyxFQUFFVCxPQUFPLENBQUM7VUFDbkMsSUFBSUMsVUFBVSxFQUFFO1lBQ2RDLFdBQVcsQ0FBQ08sR0FBRyxDQUFDLGFBQWEsRUFBRVIsVUFBVSxDQUFDO1VBQzVDO1VBQUNJLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRXNCakIsU0FBUyxDQUFDO1lBQy9Cb0IsSUFBSSxZQUFBQyxNQUFBLENBQVliLE9BQU8sK0JBQUFhLE1BQUEsQ0FBNEJULFdBQVcsQ0FBQ1UsUUFBUSxDQUFDLENBQUMsQ0FBRTtZQUMzRUMsTUFBTSxFQUFFO1VBQ1YsQ0FBQyxDQUFDO1FBQUE7VUFISVYsUUFBUSxHQUFBRSxRQUFBLENBQUFTLElBQUE7VUFBQSxJQUtUWCxRQUFRLENBQUNZLEVBQUU7WUFBQVYsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSVMsS0FBSyx3QkFBQUwsTUFBQSxDQUF3QlIsUUFBUSxDQUFDYyxNQUFNLENBQUUsQ0FBQztRQUFBO1VBQUFaLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BRzdDSixRQUFRLENBQUNlLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBQSxPQUFBYixRQUFBLENBQUFjLE1BQUEsV0FBQWQsUUFBQSxDQUFBUyxJQUFBO1FBQUE7UUFBQTtVQUFBLE9BQUFULFFBQUEsQ0FBQWUsSUFBQTtNQUFBO0lBQUEsR0FBQXhCLE9BQUE7RUFBQSxDQUM5QjtFQUFBLGdCQXRCWUwsd0JBQXdCQSxDQUFBOEIsRUFBQTtJQUFBLE9BQUE3QixJQUFBLENBQUE4QixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBc0JwQyIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.11.104",
3
+ "version": "2.11.105",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {
@@ -1,54 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- /** Títulos canónicos por idioma — deben coincidir con la DB de acciones MAIA. */
3
- export var MANAGER_HOURS_HOME_FUA_TITLES = {
4
- log_worked_hours: {
5
- es: 'Cargar horas trabajadas',
6
- en: 'Log worked hours',
7
- br: 'Registrar horas trabalhadas',
8
- fr: 'Enregistrer les heures travaillées'
9
- },
10
- create_task: {
11
- es: 'Crear tarea',
12
- en: 'Create task',
13
- br: 'Criar tarefa',
14
- fr: 'Créer une tâche'
15
- },
16
- summarize_task: {
17
- es: 'Resumir tarea',
18
- en: 'Summarize task',
19
- br: 'Resumir tarefa',
20
- fr: 'Résumer la tâche'
21
- }
22
- };
23
- export var MANAGER_HOURS_HOME_FUA_ORDER = ['log_worked_hours', 'create_task', 'summarize_task'];
24
- var normalizeFuaTitle = function normalizeFuaTitle(title) {
25
- return title.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/[^a-z0-9\s]+/g, ' ').replace(/\s+/g, ' ').trim();
26
- };
27
- var TITLE_TO_FUA_TYPE = Object.fromEntries(Object.entries(MANAGER_HOURS_HOME_FUA_TITLES).flatMap(function (_ref) {
28
- var _ref2 = _slicedToArray(_ref, 2),
29
- type = _ref2[0],
30
- titles = _ref2[1];
31
- return Object.values(titles).map(function (title) {
32
- return [normalizeFuaTitle(title), type];
33
- });
34
- }));
35
- var resolveManagerHoursHomeFuaType = function resolveManagerHoursHomeFuaType(action) {
36
- var _TITLE_TO_FUA_TYPE$no;
37
- return (_TITLE_TO_FUA_TYPE$no = TITLE_TO_FUA_TYPE[normalizeFuaTitle(action.title)]) !== null && _TITLE_TO_FUA_TYPE$no !== void 0 ? _TITLE_TO_FUA_TYPE$no : null;
38
- };
39
-
40
- /** Selecciona las 3 FUAs fijas del home manager con agente horas, en orden de producto. */
41
- export var selectManagerHoursHomeFuas = function selectManagerHoursHomeFuas(actions) {
42
- var byType = new Map();
43
- actions.forEach(function (action) {
44
- var type = resolveManagerHoursHomeFuaType(action);
45
- if (type && !byType.has(type)) {
46
- byType.set(type, action);
47
- }
48
- });
49
- return MANAGER_HOURS_HOME_FUA_ORDER.flatMap(function (type) {
50
- var action = byType.get(type);
51
- return action ? [action] : [];
52
- });
53
- };
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQU5BR0VSX0hPVVJTX0hPTUVfRlVBX1RJVExFUyIsImxvZ193b3JrZWRfaG91cnMiLCJlcyIsImVuIiwiYnIiLCJmciIsImNyZWF0ZV90YXNrIiwic3VtbWFyaXplX3Rhc2siLCJNQU5BR0VSX0hPVVJTX0hPTUVfRlVBX09SREVSIiwibm9ybWFsaXplRnVhVGl0bGUiLCJ0aXRsZSIsInRvTG93ZXJDYXNlIiwibm9ybWFsaXplIiwicmVwbGFjZSIsInRyaW0iLCJUSVRMRV9UT19GVUFfVFlQRSIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsImZsYXRNYXAiLCJfcmVmIiwiX3JlZjIiLCJfc2xpY2VkVG9BcnJheSIsInR5cGUiLCJ0aXRsZXMiLCJ2YWx1ZXMiLCJtYXAiLCJyZXNvbHZlTWFuYWdlckhvdXJzSG9tZUZ1YVR5cGUiLCJhY3Rpb24iLCJfVElUTEVfVE9fRlVBX1RZUEUkbm8iLCJzZWxlY3RNYW5hZ2VySG91cnNIb21lRnVhcyIsImFjdGlvbnMiLCJieVR5cGUiLCJNYXAiLCJmb3JFYWNoIiwiaGFzIiwic2V0IiwiZ2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL21hbmFnZXJIb3Vyc0hvbWVGdWFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvQWN0aW9uJ1xuXG5leHBvcnQgdHlwZSBNYW5hZ2VySG91cnNIb21lRnVhVHlwZSA9ICdsb2dfd29ya2VkX2hvdXJzJyB8ICdjcmVhdGVfdGFzaycgfCAnc3VtbWFyaXplX3Rhc2snXG5cbnR5cGUgTWFuYWdlckhvdXJzSG9tZUZ1YVRpdGxlc0J5TGFuZyA9IHsgZXM6IHN0cmluZzsgZW46IHN0cmluZzsgYnI6IHN0cmluZzsgZnI6IHN0cmluZyB9XG5cbi8qKiBUw610dWxvcyBjYW7Ds25pY29zIHBvciBpZGlvbWEg4oCUIGRlYmVuIGNvaW5jaWRpciBjb24gbGEgREIgZGUgYWNjaW9uZXMgTUFJQS4gKi9cbmV4cG9ydCBjb25zdCBNQU5BR0VSX0hPVVJTX0hPTUVfRlVBX1RJVExFUzogUmVjb3JkPE1hbmFnZXJIb3Vyc0hvbWVGdWFUeXBlLCBNYW5hZ2VySG91cnNIb21lRnVhVGl0bGVzQnlMYW5nPiA9IHtcbiAgbG9nX3dvcmtlZF9ob3Vyczoge1xuICAgIGVzOiAnQ2FyZ2FyIGhvcmFzIHRyYWJhamFkYXMnLFxuICAgIGVuOiAnTG9nIHdvcmtlZCBob3VycycsXG4gICAgYnI6ICdSZWdpc3RyYXIgaG9yYXMgdHJhYmFsaGFkYXMnLFxuICAgIGZyOiAnRW5yZWdpc3RyZXIgbGVzIGhldXJlcyB0cmF2YWlsbMOpZXMnLFxuICB9LFxuICBjcmVhdGVfdGFzazoge1xuICAgIGVzOiAnQ3JlYXIgdGFyZWEnLFxuICAgIGVuOiAnQ3JlYXRlIHRhc2snLFxuICAgIGJyOiAnQ3JpYXIgdGFyZWZhJyxcbiAgICBmcjogJ0Nyw6llciB1bmUgdMOiY2hlJyxcbiAgfSxcbiAgc3VtbWFyaXplX3Rhc2s6IHtcbiAgICBlczogJ1Jlc3VtaXIgdGFyZWEnLFxuICAgIGVuOiAnU3VtbWFyaXplIHRhc2snLFxuICAgIGJyOiAnUmVzdW1pciB0YXJlZmEnLFxuICAgIGZyOiAnUsOpc3VtZXIgbGEgdMOiY2hlJyxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IE1BTkFHRVJfSE9VUlNfSE9NRV9GVUFfT1JERVI6IE1hbmFnZXJIb3Vyc0hvbWVGdWFUeXBlW10gPSBbXG4gICdsb2dfd29ya2VkX2hvdXJzJyxcbiAgJ2NyZWF0ZV90YXNrJyxcbiAgJ3N1bW1hcml6ZV90YXNrJyxcbl1cblxuY29uc3Qgbm9ybWFsaXplRnVhVGl0bGUgPSAodGl0bGU6IHN0cmluZyk6IHN0cmluZyA9PlxuICB0aXRsZVxuICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgLnJlcGxhY2UoL1teYS16MC05XFxzXSsvZywgJyAnKVxuICAgIC5yZXBsYWNlKC9cXHMrL2csICcgJylcbiAgICAudHJpbSgpXG5cbmNvbnN0IFRJVExFX1RPX0ZVQV9UWVBFOiBSZWNvcmQ8c3RyaW5nLCBNYW5hZ2VySG91cnNIb21lRnVhVHlwZT4gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gIE9iamVjdC5lbnRyaWVzKE1BTkFHRVJfSE9VUlNfSE9NRV9GVUFfVElUTEVTKS5mbGF0TWFwKChbdHlwZSwgdGl0bGVzXSkgPT5cbiAgICBPYmplY3QudmFsdWVzKHRpdGxlcykubWFwKHRpdGxlID0+IFtub3JtYWxpemVGdWFUaXRsZSh0aXRsZSksIHR5cGUgYXMgTWFuYWdlckhvdXJzSG9tZUZ1YVR5cGVdKVxuICApXG4pXG5cbmNvbnN0IHJlc29sdmVNYW5hZ2VySG91cnNIb21lRnVhVHlwZSA9IChhY3Rpb246IFBpY2s8QWN0aW9uLCAndGl0bGUnPik6IE1hbmFnZXJIb3Vyc0hvbWVGdWFUeXBlIHwgbnVsbCA9PlxuICBUSVRMRV9UT19GVUFfVFlQRVtub3JtYWxpemVGdWFUaXRsZShhY3Rpb24udGl0bGUpXSA/PyBudWxsXG5cbi8qKiBTZWxlY2Npb25hIGxhcyAzIEZVQXMgZmlqYXMgZGVsIGhvbWUgbWFuYWdlciBjb24gYWdlbnRlIGhvcmFzLCBlbiBvcmRlbiBkZSBwcm9kdWN0by4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RNYW5hZ2VySG91cnNIb21lRnVhcyA9IChhY3Rpb25zOiBBY3Rpb25bXSk6IEFjdGlvbltdID0+IHtcbiAgY29uc3QgYnlUeXBlID0gbmV3IE1hcDxNYW5hZ2VySG91cnNIb21lRnVhVHlwZSwgQWN0aW9uPigpXG5cbiAgYWN0aW9ucy5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgY29uc3QgdHlwZSA9IHJlc29sdmVNYW5hZ2VySG91cnNIb21lRnVhVHlwZShhY3Rpb24pXG4gICAgaWYgKHR5cGUgJiYgIWJ5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIGJ5VHlwZS5zZXQodHlwZSwgYWN0aW9uKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gTUFOQUdFUl9IT1VSU19IT01FX0ZVQV9PUkRFUi5mbGF0TWFwKHR5cGUgPT4ge1xuICAgIGNvbnN0IGFjdGlvbiA9IGJ5VHlwZS5nZXQodHlwZSlcbiAgICByZXR1cm4gYWN0aW9uID8gW2FjdGlvbl0gOiBbXVxuICB9KVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBTUE7QUFDQSxPQUFPLElBQU1BLDZCQUErRixHQUFHO0VBQzdHQyxnQkFBZ0IsRUFBRTtJQUNoQkMsRUFBRSxFQUFFLHlCQUF5QjtJQUM3QkMsRUFBRSxFQUFFLGtCQUFrQjtJQUN0QkMsRUFBRSxFQUFFLDZCQUE2QjtJQUNqQ0MsRUFBRSxFQUFFO0VBQ04sQ0FBQztFQUNEQyxXQUFXLEVBQUU7SUFDWEosRUFBRSxFQUFFLGFBQWE7SUFDakJDLEVBQUUsRUFBRSxhQUFhO0lBQ2pCQyxFQUFFLEVBQUUsY0FBYztJQUNsQkMsRUFBRSxFQUFFO0VBQ04sQ0FBQztFQUNERSxjQUFjLEVBQUU7SUFDZEwsRUFBRSxFQUFFLGVBQWU7SUFDbkJDLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEJDLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEJDLEVBQUUsRUFBRTtFQUNOO0FBQ0YsQ0FBQztBQUVELE9BQU8sSUFBTUcsNEJBQXVELEdBQUcsQ0FDckUsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsQ0FDakI7QUFFRCxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxLQUFhO0VBQUEsT0FDdENBLEtBQUssQ0FDRkMsV0FBVyxDQUFDLENBQUMsQ0FDYkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNoQkMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUMvQkEsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FDN0JBLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQ3BCQyxJQUFJLENBQUMsQ0FBQztBQUFBO0FBRVgsSUFBTUMsaUJBQTBELEdBQUdDLE1BQU0sQ0FBQ0MsV0FBVyxDQUNuRkQsTUFBTSxDQUFDRSxPQUFPLENBQUNsQiw2QkFBNkIsQ0FBQyxDQUFDbUIsT0FBTyxDQUFDLFVBQUFDLElBQUE7RUFBQSxJQUFBQyxLQUFBLEdBQUFDLGNBQUEsQ0FBQUYsSUFBQTtJQUFFRyxJQUFJLEdBQUFGLEtBQUE7SUFBRUcsTUFBTSxHQUFBSCxLQUFBO0VBQUEsT0FDbEVMLE1BQU0sQ0FBQ1MsTUFBTSxDQUFDRCxNQUFNLENBQUMsQ0FBQ0UsR0FBRyxDQUFDLFVBQUFoQixLQUFLO0lBQUEsT0FBSSxDQUFDRCxpQkFBaUIsQ0FBQ0MsS0FBSyxDQUFDLEVBQUVhLElBQUksQ0FBNEI7RUFBQSxFQUFDO0FBQUEsQ0FDakcsQ0FDRixDQUFDO0FBRUQsSUFBTUksOEJBQThCLEdBQUcsU0FBakNBLDhCQUE4QkEsQ0FBSUMsTUFBNkI7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLFFBQUFBLHFCQUFBLEdBQ25FZCxpQkFBaUIsQ0FBQ04saUJBQWlCLENBQUNtQixNQUFNLENBQUNsQixLQUFLLENBQUMsQ0FBQyxjQUFBbUIscUJBQUEsY0FBQUEscUJBQUEsR0FBSSxJQUFJO0FBQUE7O0FBRTVEO0FBQ0EsT0FBTyxJQUFNQywwQkFBMEIsR0FBRyxTQUE3QkEsMEJBQTBCQSxDQUFJQyxPQUFpQixFQUFlO0VBQ3pFLElBQU1DLE1BQU0sR0FBRyxJQUFJQyxHQUFHLENBQWtDLENBQUM7RUFFekRGLE9BQU8sQ0FBQ0csT0FBTyxDQUFDLFVBQUFOLE1BQU0sRUFBSTtJQUN4QixJQUFNTCxJQUFJLEdBQUdJLDhCQUE4QixDQUFDQyxNQUFNLENBQUM7SUFDbkQsSUFBSUwsSUFBSSxJQUFJLENBQUNTLE1BQU0sQ0FBQ0csR0FBRyxDQUFDWixJQUFJLENBQUMsRUFBRTtNQUM3QlMsTUFBTSxDQUFDSSxHQUFHLENBQUNiLElBQUksRUFBRUssTUFBTSxDQUFDO0lBQzFCO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsT0FBT3BCLDRCQUE0QixDQUFDVyxPQUFPLENBQUMsVUFBQUksSUFBSSxFQUFJO0lBQ2xELElBQU1LLE1BQU0sR0FBR0ksTUFBTSxDQUFDSyxHQUFHLENBQUNkLElBQUksQ0FBQztJQUMvQixPQUFPSyxNQUFNLEdBQUcsQ0FBQ0EsTUFBTSxDQUFDLEdBQUcsRUFBRTtFQUMvQixDQUFDLENBQUM7QUFDSixDQUFDIiwiaWdub3JlTGlzdCI6W119