@projectcor/maia-components 2.11.19-0 → 2.11.19-1

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.
@@ -186,7 +186,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
186
186
  _useState22 = _slicedToArray(_useState21, 2),
187
187
  expanded = _useState22[0],
188
188
  setExpanded = _useState22[1];
189
- var startChat = useCallback(function (message, attachments, faqId) {
189
+ var startChat = useCallback(function (message, attachments, faqId, agentSuggestionId) {
190
190
  if (sidebarHasError) {
191
191
  setSidebarHasError(false);
192
192
  }
@@ -194,11 +194,13 @@ export var ChatAIModal = function ChatAIModal(_ref) {
194
194
  setNewChatKey(function (prev) {
195
195
  return prev + 1;
196
196
  });
197
- setUserInitialMessage(_objectSpread({
197
+ setUserInitialMessage(_objectSpread(_objectSpread({
198
198
  message: message || '',
199
199
  attachments: attachments || []
200
200
  }, faqId ? {
201
201
  faqId: faqId
202
+ } : {}), agentSuggestionId ? {
203
+ agentSuggestionId: agentSuggestionId
202
204
  } : {}));
203
205
  handlers.chat();
204
206
  }, [handlers, sidebarHasError]);
@@ -228,14 +230,14 @@ export var ChatAIModal = function ChatAIModal(_ref) {
228
230
  setIsStreaming(streaming);
229
231
  setIsWriting(writing);
230
232
  }, []);
231
- var handleSendMessage = useCallback(function (message, attachments, faqId) {
233
+ var handleSendMessage = useCallback(function (message, attachments, faqId, agentSuggestionId) {
232
234
  if (sidebarHasError) {
233
235
  setSidebarHasError(false);
234
236
  }
235
237
  if (sendMessageFunction && computedCurrentOption === options.chat) {
236
- sendMessageFunction(message, attachments, faqId);
238
+ sendMessageFunction(message, attachments, faqId, agentSuggestionId);
237
239
  } else {
238
- startChat(message, attachments, faqId);
240
+ startChat(message, attachments, faqId, agentSuggestionId);
239
241
  }
240
242
  }, [sendMessageFunction, startChat, computedCurrentOption, sidebarHasError]);
241
243
  var handleGoHome = useCallback(function () {
@@ -357,6 +359,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
357
359
  selectFirstAgent(agentId);
358
360
  }
359
361
  }, [agent === null || agent === void 0 ? void 0 : agent.id, removeAgent, selectFirstAgent]);
362
+ var hideFooterOnMaiakerMarketplaceHome = computedCurrentOption === options.home && isMaiakerAgentSelected;
360
363
  return selector && /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsxs(SCCAIMWrapper, {
361
364
  expanded: expanded,
362
365
  children: [/*#__PURE__*/_jsxs(SCCAIMContentWrapper, {
@@ -415,7 +418,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
415
418
  onGoToMaiaker: handleGoToMaiaker
416
419
  }) : /*#__PURE__*/_jsx(ProjectSummaryContent, {
417
420
  onRestartSummary: handlers.home
418
- }), (computedCurrentOption === options.home && !!(agents !== null && agents !== void 0 && (_agents$data = agents.data) !== null && _agents$data !== void 0 && _agents$data.length) || computedCurrentOption === options.chat) && !hasError && !loading && validateAccessByFeature(section) && /*#__PURE__*/_jsx(ChatAiModalFooter, {
421
+ }), (computedCurrentOption === options.home && !!(agents !== null && agents !== void 0 && (_agents$data = agents.data) !== null && _agents$data !== void 0 && _agents$data.length) || computedCurrentOption === options.chat) && !hideFooterOnMaiakerMarketplaceHome && !hasError && !loading && validateAccessByFeature(section) && /*#__PURE__*/_jsx(ChatAiModalFooter, {
419
422
  agent: agent,
420
423
  handleSendMessage: handleSendMessage,
421
424
  handleStopGeneration: stopGenerationFunction,
@@ -435,4 +438,4 @@ export var ChatAIModal = function ChatAIModal(_ref) {
435
438
  }), /*#__PURE__*/_jsx(Snackbar, {})]
436
439
  }), selector);
437
440
  };
438
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsIlJlYWN0RE9NIiwibW9tZW50IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VVc2VyIiwiTUFJQUVycm9yIiwiQ2hhdEFJQ29udGVudCIsImJ1aWxkSGFuZGxlcnMiLCJvcHRpb25zIiwiU2lkZWJhciIsInVzZUdldEFnZW50cyIsInVzZUdsb2JhbENvbnRleHQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIlNuYWNrYmFyIiwiUHJvamVjdFN1bW1hcnlDb250ZW50IiwiQWJtQWdlbnRNb2RhbCIsIlNFQ1RJT05TIiwiU0NDQUlNQ29udGVudCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiU0NDQUlNV3JhcHBlciIsIkNoYXRBaU1vZGFsRm9vdGVyIiwidmFsaWRhdGVJc01haWEiLCJ1c2VGYXFzU3RvcmUiLCJmZXRjaE1haWEiLCJtYXBDT1JMYW5nIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIklEX01PREFMX0NIQVRfQUdFTlQiLCJ2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZSIsInNlY3Rpb24iLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiQ2hhdEFJTW9kYWwiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfdXNlciRwZXJtaXNzaW9uczIiLCJfdXNlciRwZXJtaXNzaW9uczMiLCJfYWdlbnRzJGRhdGEiLCJoYW5kbGVDbG9zZSIsInVzZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImkxOG4iLCJoYW5kbGVDbG9zZU1vZGFsIiwiZ2V0U3RhdGUiLCJjbGVhckZhcXMiLCJfdXNlU3RhdGUiLCJtZXNzYWdlIiwiYXR0YWNobWVudHMiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ1c2VySW5pdGlhbE1lc3NhZ2UiLCJzZXRVc2VySW5pdGlhbE1lc3NhZ2UiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImluaXRpYWxDaGF0SWQiLCJzZXRJbml0aWFsQ2hhdElkIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJuZXdDaGF0S2V5Iiwic2V0TmV3Q2hhdEtleSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2VuZE1lc3NhZ2VGdW5jdGlvbiIsInNldFNlbmRNZXNzYWdlRnVuY3Rpb24iLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInN0b3BHZW5lcmF0aW9uRnVuY3Rpb24iLCJzZXRTdG9wR2VuZXJhdGlvbkZ1bmN0aW9uIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwiaXNTdHJlYW1pbmciLCJzZXRJc1N0cmVhbWluZyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJpc1dyaXRpbmciLCJzZXRJc1dyaXRpbmciLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVmZXRjaENoYXRzIiwic2V0UmVmZXRjaENoYXRzIiwiX3VzZVN0YXRlMTUiLCJob21lIiwiX3VzZVN0YXRlMTYiLCJjdXJyZW50T3B0aW9uIiwic2V0Q3VycmVudE9wdGlvbiIsIl91c2VTdGF0ZTE3IiwiX3VzZVN0YXRlMTgiLCJoYXNFcnJvciIsInNldEhhc0Vycm9yIiwiaGFuZGxlcnMiLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2lkZWJhckhhc0Vycm9yIiwic2V0U2lkZWJhckhhc0Vycm9yIiwicmVzZXRTZWxlY3RlZENoYXRSZWYiLCJsYW5nIiwibGFuZ3VhZ2UiLCJsb2NhbGUiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdEFnZW50IiwiYWdlbnQiLCJwcm9qZWN0IiwiY2xpZW50IiwidG9nZ2xlV2ViU2VhcmNoIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJzZXRDaGlwc1Byb2plY3QiLCJzZXRDbGllbnQiLCJzZXRQcm9qZWN0IiwiX3VzZUdldEFnZW50cyIsImhhbmRsZUdvSG9tZSIsImFnZW50cyIsImxvYWRpbmciLCJsb2FkaW5nTW9yZSIsImFnZW50RXJyb3IiLCJlcnJvciIsImhhbmRsZUdldEFnZW50cyIsImxvYWRNb3JlQWdlbnRzIiwiYWRkQWdlbnQiLCJyZW1vdmVBZ2VudCIsInVwZGF0ZUFnZW50IiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNlbGVjdEZpcnN0QWdlbnQiLCJzb3J0QWdlbnRzTGlzdCIsImlzTUFJQSIsInVzZXJIYXNQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY3JlYXRlIiwiZWRpdCIsImNvbXB1dGVkQ3VycmVudE9wdGlvbiIsImlzR2xvYmFsU3BlY2lhbGlzdCIsImVudGl0eSIsImlzUHJvamVjdFNwZWNpYWxpc3QiLCJpc0NsaWVudFNwZWNpYWxpc3QiLCJpc01haWFrZXIiLCJ0ZXN0IiwibmFtZSIsIm15QWdlbnRzIiwiY2hhdCIsInNob3VsZFNob3dQcm9qZWN0U2VsZWN0b3IiLCJzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsImlzTWFpYWtlckFnZW50U2VsZWN0ZWQiLCJ0eXBlIiwic2lkZWJhckFnZW50c05hdkFjdGl2ZSIsImFnZW50c0ZldGNoZWRSZWYiLCJzZWxlY3RvciIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbmNhdCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJleHBhbmRlZCIsInNldEV4cGFuZGVkIiwic3RhcnRDaGF0IiwiZmFxSWQiLCJwcmV2IiwiX29iamVjdFNwcmVhZCIsImdvVG9DaGF0Iiwic2Vzc2lvbkV4dGVybmFsSWQiLCJzZWxlY3RlZEFnZW50IiwiZGF0YSIsImZpbmQiLCJhZ2VudEl0ZW0iLCJpZCIsImFnZW50SWQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJoYW5kbGVTZW5kTWVzc2FnZVJlYWR5Iiwic2VuZE1lc3NhZ2UiLCJzdG9wR2VuZXJhdGlvbiIsInN0cmVhbWluZyIsIndyaXRpbmciLCJoYW5kbGVTZW5kTWVzc2FnZSIsImlzX2RlbGV0ZWQiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiaGFzX25vdF9hY2Nlc3MiLCJwcm9qZWN0X2RlbGV0ZWQiLCJsZW5ndGgiLCJjdXJyZW50IiwiaGFuZGxlUmVzZXRDaGF0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJuZXh0Iiwic3RvcCIsImhhbmRsZVJlZmV0Y2hBZ2VudHNDdXN0b20iLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInNob3dOZXdDaGF0IiwiaGlkZUhlYWRlckFnZW50U2VsZWN0b3IiLCJoYW5kbGVPcGVuTWFya2V0cGxhY2UiLCJoYW5kbGVHb1RvTWFpYWtlciIsIl9jYWxsZWUyIiwibWFpYWtlckFnZW50IiwicmVzcG9uc2UiLCJfdCIsIl9jb250ZXh0MiIsImEiLCJwYXRoIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJhYnJ1cHQiLCJoYW5kbGVEZWxldGVBZ2VudEZyb21NeUFnZW50cyIsImNyZWF0ZVBvcnRhbCIsImNoaWxkcmVuIiwib25Hb1RvQ2hhdCIsIm9uRXJyb3IiLCJoYW5kbGVHb1RvSG9tZSIsImhhbmRsZVNldFJlZmV0Y2hDaGF0cyIsImFnZW50c05hdkFjdGl2ZSIsImhhc01vcmUiLCJoYXNfbW9yZSIsIm9uQWdlbnRVcGRhdGUiLCJoaWRlQWdlbnRTZWxlY3RvciIsInJlZnMiLCJvblNlbmRNZXNzYWdlUmVhZHkiLCJvbkRlbGV0ZUFnZW50Iiwib25GYXZvcml0ZUFnZW50VXBkYXRlIiwiaGFzTW9yZUFnZW50cyIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJvblJlc3RhcnRTdW1tYXJ5IiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJzaG93RmFxcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1uby11c2VsZXNzLWZyYWdtZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IE1BSUFFcnJvciB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFFcnJvcidcblxuaW1wb3J0IHsgQ2hhdEFJQ29udGVudCB9IGZyb20gJy4uL0NoYXRBSUNvbnRlbnQnXG5pbXBvcnQgeyBidWlsZEhhbmRsZXJzLCBvcHRpb25zIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi4vU2lkZWJhcidcbmltcG9ydCB7IHVzZUdldEFnZW50cyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2dldEFnZW50cydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0QUlNb2RhbEhlYWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlcidcbmltcG9ydCB7IFNuYWNrYmFyIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL1NuYWNrQmFyL1NuYWNrYmFyJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb250ZW50IH0gZnJvbSAnLi4vUHJvamVjdFN1bW1hcnlDb250ZW50J1xuaW1wb3J0IHsgQWJtQWdlbnRNb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9BYm1BZ2VudE1vZGFsL0FibUFnZW50TW9kYWwnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBTQ0NBSU1Db250ZW50LCBTQ0NBSU1Db250ZW50V3JhcHBlciwgU0NDQUlNV3JhcHBlciB9IGZyb20gJy4vQ2hhdEFJTW9kYWwuc3R5bGVzJ1xuaW1wb3J0IHsgQ2hhdEFpTW9kYWxGb290ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXInXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHVzZUZhcXNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3VzZUZhcXNTdG9yZSdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5cbnR5cGUgQ2hhdEFJTW9kYWxQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBwYXJlbnRSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+XG59XG5cbmV4cG9ydCBjb25zdCBJRF9NT0RBTF9DSEFUX0FHRU5UID0gJ21vZGFscy1wb3J0YWwtbWFpYS1jaGF0LWFnZW50J1xuXG5jb25zdCB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZSA9IChzZWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlY3Rpb24gPT09ICdoZWFkZXInICYmICh3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyB8fCB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2NsaWVudCcpICYmIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWwgPSAoeyBoYW5kbGVDbG9zZSB9OiBDaGF0QUlNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXNlRmFxc1N0b3JlLmdldFN0YXRlKCkuY2xlYXJGYXFzKClcbiAgICBoYW5kbGVDbG9zZT8uKClcbiAgfSwgW2hhbmRsZUNsb3NlXSlcbiAgY29uc3QgW3VzZXJJbml0aWFsTWVzc2FnZSwgc2V0VXNlckluaXRpYWxNZXNzYWdlXSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICAgIGZhcUlkPzogc3RyaW5nXG4gIH0+KHtcbiAgICBtZXNzYWdlOiAnJyxcbiAgICBhdHRhY2htZW50czogW10sXG4gIH0pXG4gIGNvbnN0IFtpbml0aWFsQ2hhdElkLCBzZXRJbml0aWFsQ2hhdElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtuZXdDaGF0S2V5LCBzZXROZXdDaGF0S2V5XSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFtzZW5kTWVzc2FnZUZ1bmN0aW9uLCBzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uXSA9IHVzZVN0YXRlPFxuICAgICgobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB2b2lkKSB8IG51bGxcbiAgPihudWxsKVxuICBjb25zdCBbc3RvcEdlbmVyYXRpb25GdW5jdGlvbiwgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbl0gPSB1c2VTdGF0ZTwoKCkgPT4gdm9pZCkgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNTdHJlYW1pbmcsIHNldElzU3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNXcml0aW5nLCBzZXRJc1dyaXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW3JlZmV0Y2hDaGF0cywgc2V0UmVmZXRjaENoYXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY3VycmVudE9wdGlvbiwgc2V0Q3VycmVudE9wdGlvbl0gPSB1c2VTdGF0ZShvcHRpb25zLmhvbWUpXG4gIGNvbnN0IFtoYXNFcnJvciwgc2V0SGFzRXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGhhbmRsZXJzID0gdXNlTWVtbygoKSA9PiBidWlsZEhhbmRsZXJzKHNldEN1cnJlbnRPcHRpb24sIHNldEhhc0Vycm9yKSwgW10pXG4gIGNvbnN0IFtzaWRlYmFySGFzRXJyb3IsIHNldFNpZGViYXJIYXNFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgcmVzZXRTZWxlY3RlZENoYXRSZWYgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgbGFuZyA9IGkxOG4ubGFuZ3VhZ2UgPT09ICdicicgPyAncHQtYnInIDogaTE4bi5sYW5ndWFnZVxuXG4gIG1vbWVudC5sb2NhbGUobGFuZylcblxuICBjb25zdCB7XG4gICAgc2VsZWN0QWdlbnQsXG4gICAgc2VjdGlvbixcbiAgICBhZ2VudCxcbiAgICBwcm9qZWN0LFxuICAgIGNsaWVudCxcbiAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgIHNldENsaWVudCxcbiAgICBzZXRQcm9qZWN0LFxuICB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgY29uc3Qge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yOiBhZ2VudEVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH0gPSB1c2VHZXRBZ2VudHMoeyBzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGhhbmRsZUdvSG9tZTogaGFuZGxlcnMuaG9tZSB9KVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuXG4gIGNvbnN0IHVzZXJIYXNQZXJtaXNzaW9ucyA9XG4gICAgKHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmNyZWF0ZSB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZWRpdCB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZGVsZXRlKSAmJlxuICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3QgY29tcHV0ZWRDdXJyZW50T3B0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaXNHbG9iYWxTcGVjaWFsaXN0ID0gaXNNQUlBICYmIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnXG4gICAgY29uc3QgaXNQcm9qZWN0U3BlY2lhbGlzdCA9IGlzTUFJQSAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT0gbnVsbClcbiAgICBjb25zdCBpc0NsaWVudFNwZWNpYWxpc3QgPSBpc01BSUEgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCdcbiAgICBjb25zdCBpc01haWFrZXIgPSBpc0dsb2JhbFNwZWNpYWxpc3QgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG5cbiAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cykge1xuICAgICAgcmV0dXJuIG9wdGlvbnMubXlBZ2VudHNcbiAgICB9XG5cbiAgICBpZiAoaXNHbG9iYWxTcGVjaWFsaXN0ICYmICFpc01haWFrZXIgJiYgY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5ob21lKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5jaGF0XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciA9IGN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdCAmJiBpc1Byb2plY3RTcGVjaWFsaXN0ICYmICFwcm9qZWN0XG4gICAgY29uc3Qgc2hvdWxkU2hvd0NsaWVudFNlbGVjdG9yID0gY3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0ICYmIGlzQ2xpZW50U3BlY2lhbGlzdCAmJiAhY2xpZW50XG5cbiAgICBpZiAoc2hvdWxkU2hvd1Byb2plY3RTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIG9wdGlvbnMucHJvamVjdFNlbGVjdG9yXG4gICAgfVxuICAgIGlmIChzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLmNsaWVudFNlbGVjdG9yXG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50T3B0aW9uXG4gIH0sIFtjdXJyZW50T3B0aW9uLCBwcm9qZWN0LCBjbGllbnQsIGlzTUFJQSwgYWdlbnQ/LmVudGl0eSwgYWdlbnQ/Lm5hbWVdKVxuXG4gIGNvbnN0IGlzTWFpYWtlckFnZW50U2VsZWN0ZWQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBpc01BSUEgJiZcbiAgICAgIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmXG4gICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJlxuICAgICAgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpLFxuICAgIFtpc01BSUEsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBhZ2VudD8ubmFtZV1cbiAgKVxuXG4gIGNvbnN0IHNpZGViYXJBZ2VudHNOYXZBY3RpdmUgPSB1c2VNZW1vKCgpOiAnbWFpYWtlcicgfCAnbXlBZ2VudHMnIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cykgcmV0dXJuICdteUFnZW50cydcbiAgICBpZiAoaXNNYWlha2VyQWdlbnRTZWxlY3RlZCkgcmV0dXJuICdtYWlha2VyJ1xuICAgIHJldHVybiBudWxsXG4gIH0sIFtjb21wdXRlZEN1cnJlbnRPcHRpb24sIGlzTWFpYWtlckFnZW50U2VsZWN0ZWRdKVxuXG4gIC8qIFJlYWN0aXZhciBjb24gbGEgZmlsYSDigJxNaXMgYWdlbnRlc+KAnSBlbiBTaWRlYmFyOiBteUFnZW50c0NvdW50IHByb3BcbiAgY29uc3Qgc2lkZWJhck15QWdlbnRzQ291bnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gYWdlbnRzLmRhdGEuZmlsdGVyKFxuICAgICAgYSA9PiAhKGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYS5uYW1lIHx8ICcnKSlcbiAgICApXG4gICAgICAubGVuZ3RoXG4gIH0sIFthZ2VudHMuZGF0YV0pXG4gICovXG5cbiAgY29uc3QgYWdlbnRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBzZWxlY3RvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke0lEX01PREFMX0NIQVRfQUdFTlR9YClcblxuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHN0YXJ0Q2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChtZXNzYWdlPzogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoc2lkZWJhckhhc0Vycm9yKSB7XG4gICAgICAgIHNldFNpZGViYXJIYXNFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICAgIHNldEluaXRpYWxDaGF0SWQobnVsbClcbiAgICAgIHNldE5ld0NoYXRLZXkocHJldiA9PiBwcmV2ICsgMSlcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7XG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgJycsXG4gICAgICAgIGF0dGFjaG1lbnRzOiBhdHRhY2htZW50cyB8fCBbXSxcbiAgICAgICAgLi4uKGZhcUlkID8geyBmYXFJZCB9IDoge30pLFxuICAgICAgfSlcbiAgICAgIGhhbmRsZXJzLmNoYXQoKVxuICAgIH0sXG4gICAgW2hhbmRsZXJzLCBzaWRlYmFySGFzRXJyb3JdXG4gIClcblxuICBjb25zdCBnb1RvQ2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChjaGF0OiBhbnkpID0+IHtcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICAgIHNldEluaXRpYWxDaGF0SWQoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IHNlbGVjdGVkQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uaWQgPT09IGNoYXQuYWdlbnRJZClcbiAgICAgIGlmIChzZWxlY3RlZEFnZW50KSB7XG4gICAgICAgIHNlbGVjdEFnZW50KHNlbGVjdGVkQWdlbnQpXG4gICAgICB9XG4gICAgICAvLyBEaXNwYXRjaCBldmVudCB0byBjbGVhciB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgICAgaGFuZGxlcnMuY2hhdCgpXG4gICAgfSxcbiAgICBbaGFuZGxlcnMsIGFnZW50cywgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZVJlYWR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSwgZmFxSWQ/OiBzdHJpbmcpID0+IHZvaWQsXG4gICAgICBzdG9wR2VuZXJhdGlvbjogKCkgPT4gdm9pZCxcbiAgICAgIHN0cmVhbWluZzogYm9vbGVhbixcbiAgICAgIHdyaXRpbmc6IGJvb2xlYW5cbiAgICApID0+IHtcbiAgICAgIHNldFNlbmRNZXNzYWdlRnVuY3Rpb24oKCkgPT4gc2VuZE1lc3NhZ2UpXG4gICAgICBzZXRTdG9wR2VuZXJhdGlvbkZ1bmN0aW9uKCgpID0+IHN0b3BHZW5lcmF0aW9uKVxuICAgICAgc2V0SXNTdHJlYW1pbmcoc3RyZWFtaW5nKVxuICAgICAgc2V0SXNXcml0aW5nKHdyaXRpbmcpXG4gICAgfSxcbiAgICBbXVxuICApXG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoc2lkZWJhckhhc0Vycm9yKSB7XG4gICAgICAgIHNldFNpZGViYXJIYXNFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChzZW5kTWVzc2FnZUZ1bmN0aW9uICYmIGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSB7XG4gICAgICAgIHNlbmRNZXNzYWdlRnVuY3Rpb24obWVzc2FnZSwgYXR0YWNobWVudHMsIGZhcUlkKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRDaGF0KG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBmYXFJZClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZW5kTWVzc2FnZUZ1bmN0aW9uLCBzdGFydENoYXQsIGNvbXB1dGVkQ3VycmVudE9wdGlvbiwgc2lkZWJhckhhc0Vycm9yXVxuICApXG5cbiAgY29uc3QgaGFuZGxlR29Ib21lID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIC8vIFNpIGVzdGFtb3MgZW4gdW5hIGNvbnZlcnNhY2nDs24geSB2YW1vcyBhIGhvbWUsIHJlc2V0ZWFyIGluaXRpYWxDaGF0SWQgeSBpbmNyZW1lbnRhciBuZXdDaGF0S2V5XG4gICAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCkge1xuICAgICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgICAgc2V0TmV3Q2hhdEtleShwcmV2ID0+IHByZXYgKyAxKVxuICAgICAgLy8gTm8gYm9ycmFyIGVsIGNsaWVudGUgc2kgZXMgYWdlbnRlIGRlIGNsaWVudGVzIChpZ3VhbCBxdWUgZWwgcHJveWVjdG8gc2UgbWFudGllbmUpXG4gICAgICBpZiAoYWdlbnQ/LmVudGl0eSAhPT0gJ2NsaWVudCcpIHtcbiAgICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgKCFhZ2VudCB8fCBhZ2VudD8uaXNfZGVsZXRlZCB8fCBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHwgYWdlbnQ/LnByb2plY3RfZGVsZXRlZCkgJiZcbiAgICAgIGFnZW50cy5kYXRhLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50cy5kYXRhWzBdKVxuICAgIH1cbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuaG9tZSlcbiAgICBzZXRDaGlwc1Byb2plY3QobnVsbClcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZSAmJiB0b2dnbGVXZWJTZWFyY2goKVxuICAgIGlmIChyZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KClcbiAgICB9XG4gIH0sIFtcbiAgICBvcHRpb25zLmhvbWUsXG4gICAgb3B0aW9ucy5jaGF0LFxuICAgIGN1cnJlbnRPcHRpb24sXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgIGFnZW50LFxuICAgIGFnZW50cyxcbiAgICBzZWxlY3RBZ2VudCxcbiAgICBzZXRDbGllbnQsXG4gIF0pXG5cbiAgY29uc3QgaGFuZGxlUmVzZXRDaGF0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgLy8gRGlzcGF0Y2ggZXZlbnQgdG8gY2xlYXIgdGhlIGlucHV0IHRleHRhcmVhXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJykpXG4gICAgaGFuZGxlR29Ib21lKClcbiAgfSwgW2hhbmRsZUdvSG9tZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFnZW50c0ZldGNoZWRSZWYuY3VycmVudCkge1xuICAgICAgYWdlbnRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgaGFuZGxlR2V0QWdlbnRzKClcbiAgICB9XG4gICAgY29uc3QgaGFuZGxlUmVmZXRjaEFnZW50c0N1c3RvbSA9ICgpID0+IHtcbiAgICAgIGhhbmRsZUdldEFnZW50cygpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncmVmZXRjaC1hZ2VudHMtY3VzdG9tJywgaGFuZGxlUmVmZXRjaEFnZW50c0N1c3RvbSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVmZXRjaC1hZ2VudHMtY3VzdG9tJywgaGFuZGxlUmVmZXRjaEFnZW50c0N1c3RvbSlcbiAgICB9XG4gIH0sIFtoYW5kbGVHZXRBZ2VudHNdKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0ID0gY29tcHV0ZWRDdXJyZW50T3B0aW9uICE9PSBvcHRpb25zLmNoYXRcbiAgY29uc3QgaGlkZUhlYWRlckFnZW50U2VsZWN0b3IgPSBjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMubXlBZ2VudHNcbiAgY29uc3QgaGFuZGxlT3Blbk1hcmtldHBsYWNlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5teUFnZW50cylcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlR29Ub01haWFrZXIgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgbGV0IG1haWFrZXJBZ2VudCA9IGFnZW50cy5kYXRhLmZpbmQoKGE6IEFnZW50KSA9PiBhLnR5cGUgPT09ICdjbG9uZScgJiYgYS5lbnRpdHkgPT09ICdnbG9iYWwnKVxuICAgIGlmICghbWFpYWtlckFnZW50KSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgcGF0aDogYGFnZW50cz9hZ2VudF90eXBlPWNsb25lJmxhbmc9JHttYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpfWAsXG4gICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICBtYWlha2VyQWdlbnQgPSAoZGF0YS5kYXRhIHx8IFtdKS5maW5kKChhOiBBZ2VudCkgPT4gYS50eXBlID09PSAnY2xvbmUnICYmIGEuZW50aXR5ID09PSAnZ2xvYmFsJylcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFtYWlha2VyQWdlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICBzZWxlY3RBZ2VudChtYWlha2VyQWdlbnQpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmhvbWUpXG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQoKVxuICAgIH1cbiAgfSwgW2FnZW50cy5kYXRhLCBpMThuLmxhbmd1YWdlLCBzZWxlY3RBZ2VudCwgc2V0Q2xpZW50LCBzZXRQcm9qZWN0XSlcbiAgY29uc3QgaGFuZGxlRGVsZXRlQWdlbnRGcm9tTXlBZ2VudHMgPSB1c2VDYWxsYmFjayhcbiAgICAoYWdlbnRJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZW1vdmVBZ2VudChhZ2VudElkKVxuICAgICAgaWYgKGFnZW50Py5pZCA9PT0gYWdlbnRJZCkge1xuICAgICAgICBzZWxlY3RGaXJzdEFnZW50KGFnZW50SWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBbYWdlbnQ/LmlkLCByZW1vdmVBZ2VudCwgc2VsZWN0Rmlyc3RBZ2VudF1cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgc2VsZWN0b3IgJiZcbiAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICA8U0NDQUlNV3JhcHBlciBleHBhbmRlZD17ZXhwYW5kZWR9PlxuICAgICAgICA8U0NDQUlNQ29udGVudFdyYXBwZXIgZXhwYW5kZWQ9e2V4cGFuZGVkfT5cbiAgICAgICAgICB7dmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgJiYgKFxuICAgICAgICAgICAgPFNpZGViYXJcbiAgICAgICAgICAgICAgb25Hb1RvQ2hhdD17Z29Ub0NoYXR9XG4gICAgICAgICAgICAgIG9uRXJyb3I9eygpID0+IHNldFNpZGViYXJIYXNFcnJvcih0cnVlKX1cbiAgICAgICAgICAgICAgaGFuZGxlR29Ub0hvbWU9e2hhbmRsZUdvSG9tZX1cbiAgICAgICAgICAgICAgaGFuZGxlT3Blbk1hcmtldHBsYWNlPXtoYW5kbGVPcGVuTWFya2V0cGxhY2V9XG4gICAgICAgICAgICAgIHNob3dOZXdDaGF0PXtzaG93TmV3Q2hhdH1cbiAgICAgICAgICAgICAgcmVmZXRjaENoYXRzPXtyZWZldGNoQ2hhdHN9XG4gICAgICAgICAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cz17c2V0UmVmZXRjaENoYXRzfVxuICAgICAgICAgICAgICBoYXNFcnJvcj17c2lkZWJhckhhc0Vycm9yfVxuICAgICAgICAgICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZj17cmVzZXRTZWxlY3RlZENoYXRSZWZ9XG4gICAgICAgICAgICAgIGFnZW50c05hdkFjdGl2ZT17c2lkZWJhckFnZW50c05hdkFjdGl2ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8U0NDQUlNQ29udGVudCBleHBhbmRlZD17ZXhwYW5kZWR9PlxuICAgICAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgICAgIDxDaGF0QUlNb2RhbEhlYWRlclxuICAgICAgICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgICAgIHNldEV4cGFuZGVkPXtzZXRFeHBhbmRlZH1cbiAgICAgICAgICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICAgIGFnZW50cz17YWdlbnRzLmRhdGF9XG4gICAgICAgICAgICAgIGhhc0Vycm9yPXshIWFnZW50RXJyb3J9XG4gICAgICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgICAgIGxvYWRpbmdNb3JlPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICAgICAgaGFzTW9yZT17YWdlbnRzLmhhc19tb3JlfVxuICAgICAgICAgICAgICBoYW5kbGVSZXNldENoYXQ9e2hhbmRsZVJlc2V0Q2hhdH1cbiAgICAgICAgICAgICAgb25BZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICAgICAgbG9hZE1vcmVBZ2VudHM9e2xvYWRNb3JlQWdlbnRzfVxuICAgICAgICAgICAgICBzb3J0QWdlbnRzTGlzdD17c29ydEFnZW50c0xpc3R9XG4gICAgICAgICAgICAgIGhpZGVBZ2VudFNlbGVjdG9yPXtoaWRlSGVhZGVyQWdlbnRTZWxlY3Rvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7LyogQ29udGVudCAqL31cblxuICAgICAgICAgICAge2hhc0Vycm9yID8gKFxuICAgICAgICAgICAgICA8TUFJQUVycm9yIC8+XG4gICAgICAgICAgICApIDogdmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgPyAoXG4gICAgICAgICAgICAgIDxDaGF0QUlDb250ZW50XG4gICAgICAgICAgICAgICAgY3VycmVudE9wdGlvbj17Y29tcHV0ZWRDdXJyZW50T3B0aW9ufVxuICAgICAgICAgICAgICAgIGhhbmRsZXJzPXt7IC4uLmhhbmRsZXJzLCBjaGF0OiBzdGFydENoYXQsIGhvbWU6IGhhbmRsZXJzLmhvbWUsIGhhbmRsZUdvSG9tZSB9fVxuICAgICAgICAgICAgICAgIG9uRXJyb3I9eygpID0+IHNldEhhc0Vycm9yKHRydWUpfVxuICAgICAgICAgICAgICAgIHJlZnM9e3sgdXNlckluaXRpYWxNZXNzYWdlLCBpbml0aWFsQ2hhdElkIH19XG4gICAgICAgICAgICAgICAgb25TZW5kTWVzc2FnZVJlYWR5PXtoYW5kbGVTZW5kTWVzc2FnZVJlYWR5fVxuICAgICAgICAgICAgICAgIGV4cGFuZGVkPXtleHBhbmRlZH1cbiAgICAgICAgICAgICAgICBhZ2VudHM9e2FnZW50cy5kYXRhfVxuICAgICAgICAgICAgICAgIG9uRGVsZXRlQWdlbnQ9e2hhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzfVxuICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICAgICAgICBoYXNNb3JlQWdlbnRzPXshIWFnZW50cy5oYXNfbW9yZX1cbiAgICAgICAgICAgICAgICBsb2FkaW5nTW9yZUFnZW50cz17bG9hZGluZ01vcmV9XG4gICAgICAgICAgICAgICAgb25Mb2FkTW9yZUFnZW50cz17bG9hZE1vcmVBZ2VudHN9XG4gICAgICAgICAgICAgICAgb25Hb1RvTWFpYWtlcj17aGFuZGxlR29Ub01haWFrZXJ9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8UHJvamVjdFN1bW1hcnlDb250ZW50IG9uUmVzdGFydFN1bW1hcnk9e2hhbmRsZXJzLmhvbWV9IC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7LyogRm9vdGVyICovfVxuICAgICAgICAgICAgeygoY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgISFhZ2VudHM/LmRhdGE/Lmxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpICYmXG4gICAgICAgICAgICAgICFoYXNFcnJvciAmJlxuICAgICAgICAgICAgICAhbG9hZGluZyAmJlxuICAgICAgICAgICAgICB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgPENoYXRBaU1vZGFsRm9vdGVyXG4gICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTdG9wR2VuZXJhdGlvbj17c3RvcEdlbmVyYXRpb25GdW5jdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgICAgICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICAgICAgICAgICAgY2hhdElkPXtpbml0aWFsQ2hhdElkfVxuICAgICAgICAgICAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgICAgICAgICAgIHNob3dGYXFzPXtjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlNQ29udGVudD5cbiAgICAgICAgPC9TQ0NBSU1Db250ZW50V3JhcHBlcj5cbiAgICAgICAge3VzZXJIYXNQZXJtaXNzaW9ucyAmJiAoXG4gICAgICAgICAgPEFibUFnZW50TW9kYWxcbiAgICAgICAgICAgIGFkZEFnZW50PXthZGRBZ2VudH1cbiAgICAgICAgICAgIHVwZGF0ZUFnZW50PXt1cGRhdGVBZ2VudH1cbiAgICAgICAgICAgIHJlbW92ZUFnZW50PXtyZW1vdmVBZ2VudH1cbiAgICAgICAgICAgIHVwZGF0ZUFnZW50RmF2b3JpdGU9e3VwZGF0ZUFnZW50RmF2b3JpdGV9XG4gICAgICAgICAgICBzZWxlY3RGaXJzdEFnZW50PXtzZWxlY3RGaXJzdEFnZW50fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxTbmFja2JhciAvPlxuICAgICAgPC9TQ0NBSU1XcmFwcGVyPixcbiAgICAgIHNlbGVjdG9yXG4gICAgKVxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBb0JBLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDcEYsT0FBT0MsUUFBUSxNQUFNLFdBQVc7QUFDaEMsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUNuRCxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBRWpELFNBQVNDLGFBQWEsUUFBUSxrQkFBa0I7QUFDaEQsU0FBU0MsYUFBYSxFQUFFQyxPQUFPLFFBQVEsYUFBYTtBQUNwRCxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUNwQyxTQUFTQyxZQUFZLFFBQVEseUNBQXlDO0FBQ3RFLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUVsRSxTQUFTQyxpQkFBaUIsUUFBUSxrREFBa0Q7QUFDcEYsU0FBU0MsUUFBUSxRQUFRLG1DQUFtQztBQUM1RCxTQUFTQyxxQkFBcUIsUUFBUSwwQkFBMEI7QUFDaEUsU0FBU0MsYUFBYSxRQUFRLDZD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
441
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsIlJlYWN0RE9NIiwibW9tZW50IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VVc2VyIiwiTUFJQUVycm9yIiwiQ2hhdEFJQ29udGVudCIsImJ1aWxkSGFuZGxlcnMiLCJvcHRpb25zIiwiU2lkZWJhciIsInVzZUdldEFnZW50cyIsInVzZUdsb2JhbENvbnRleHQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIlNuYWNrYmFyIiwiUHJvamVjdFN1bW1hcnlDb250ZW50IiwiQWJtQWdlbnRNb2RhbCIsIlNFQ1RJT05TIiwiU0NDQUlNQ29udGVudCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiU0NDQUlNV3JhcHBlciIsIkNoYXRBaU1vZGFsRm9vdGVyIiwidmFsaWRhdGVJc01haWEiLCJ1c2VGYXFzU3RvcmUiLCJmZXRjaE1haWEiLCJtYXBDT1JMYW5nIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIklEX01PREFMX0NIQVRfQUdFTlQiLCJ2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZSIsInNlY3Rpb24iLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiQ2hhdEFJTW9kYWwiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfdXNlciRwZXJtaXNzaW9uczIiLCJfdXNlciRwZXJtaXNzaW9uczMiLCJfYWdlbnRzJGRhdGEiLCJoYW5kbGVDbG9zZSIsInVzZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImkxOG4iLCJoYW5kbGVDbG9zZU1vZGFsIiwiZ2V0U3RhdGUiLCJjbGVhckZhcXMiLCJfdXNlU3RhdGUiLCJtZXNzYWdlIiwiYXR0YWNobWVudHMiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ1c2VySW5pdGlhbE1lc3NhZ2UiLCJzZXRVc2VySW5pdGlhbE1lc3NhZ2UiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImluaXRpYWxDaGF0SWQiLCJzZXRJbml0aWFsQ2hhdElkIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJuZXdDaGF0S2V5Iiwic2V0TmV3Q2hhdEtleSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2VuZE1lc3NhZ2VGdW5jdGlvbiIsInNldFNlbmRNZXNzYWdlRnVuY3Rpb24iLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInN0b3BHZW5lcmF0aW9uRnVuY3Rpb24iLCJzZXRTdG9wR2VuZXJhdGlvbkZ1bmN0aW9uIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwiaXNTdHJlYW1pbmciLCJzZXRJc1N0cmVhbWluZyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJpc1dyaXRpbmciLCJzZXRJc1dyaXRpbmciLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVmZXRjaENoYXRzIiwic2V0UmVmZXRjaENoYXRzIiwiX3VzZVN0YXRlMTUiLCJob21lIiwiX3VzZVN0YXRlMTYiLCJjdXJyZW50T3B0aW9uIiwic2V0Q3VycmVudE9wdGlvbiIsIl91c2VTdGF0ZTE3IiwiX3VzZVN0YXRlMTgiLCJoYXNFcnJvciIsInNldEhhc0Vycm9yIiwiaGFuZGxlcnMiLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2lkZWJhckhhc0Vycm9yIiwic2V0U2lkZWJhckhhc0Vycm9yIiwicmVzZXRTZWxlY3RlZENoYXRSZWYiLCJsYW5nIiwibGFuZ3VhZ2UiLCJsb2NhbGUiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdEFnZW50IiwiYWdlbnQiLCJwcm9qZWN0IiwiY2xpZW50IiwidG9nZ2xlV2ViU2VhcmNoIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJzZXRDaGlwc1Byb2plY3QiLCJzZXRDbGllbnQiLCJzZXRQcm9qZWN0IiwiX3VzZUdldEFnZW50cyIsImhhbmRsZUdvSG9tZSIsImFnZW50cyIsImxvYWRpbmciLCJsb2FkaW5nTW9yZSIsImFnZW50RXJyb3IiLCJlcnJvciIsImhhbmRsZUdldEFnZW50cyIsImxvYWRNb3JlQWdlbnRzIiwiYWRkQWdlbnQiLCJyZW1vdmVBZ2VudCIsInVwZGF0ZUFnZW50IiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNlbGVjdEZpcnN0QWdlbnQiLCJzb3J0QWdlbnRzTGlzdCIsImlzTUFJQSIsInVzZXJIYXNQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY3JlYXRlIiwiZWRpdCIsImNvbXB1dGVkQ3VycmVudE9wdGlvbiIsImlzR2xvYmFsU3BlY2lhbGlzdCIsImVudGl0eSIsImlzUHJvamVjdFNwZWNpYWxpc3QiLCJpc0NsaWVudFNwZWNpYWxpc3QiLCJpc01haWFrZXIiLCJ0ZXN0IiwibmFtZSIsIm15QWdlbnRzIiwiY2hhdCIsInNob3VsZFNob3dQcm9qZWN0U2VsZWN0b3IiLCJzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsImlzTWFpYWtlckFnZW50U2VsZWN0ZWQiLCJ0eXBlIiwic2lkZWJhckFnZW50c05hdkFjdGl2ZSIsImFnZW50c0ZldGNoZWRSZWYiLCJzZWxlY3RvciIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbmNhdCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJleHBhbmRlZCIsInNldEV4cGFuZGVkIiwic3RhcnRDaGF0IiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsInByZXYiLCJfb2JqZWN0U3ByZWFkIiwiZ29Ub0NoYXQiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsInNlbGVjdGVkQWdlbnQiLCJkYXRhIiwiZmluZCIsImFnZW50SXRlbSIsImlkIiwiYWdlbnRJZCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImhhbmRsZVNlbmRNZXNzYWdlUmVhZHkiLCJzZW5kTWVzc2FnZSIsInN0b3BHZW5lcmF0aW9uIiwic3RyZWFtaW5nIiwid3JpdGluZyIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsInByb2plY3RfZGVsZXRlZCIsImxlbmd0aCIsImN1cnJlbnQiLCJoYW5kbGVSZXNldENoYXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJzdG9wIiwiaGFuZGxlUmVmZXRjaEFnZW50c0N1c3RvbSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2hvd05ld0NoYXQiLCJoaWRlSGVhZGVyQWdlbnRTZWxlY3RvciIsImhhbmRsZU9wZW5NYXJrZXRwbGFjZSIsImhhbmRsZUdvVG9NYWlha2VyIiwiX2NhbGxlZTIiLCJtYWlha2VyQWdlbnQiLCJyZXNwb25zZSIsIl90IiwiX2NvbnRleHQyIiwiYSIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsImFicnVwdCIsImhhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzIiwiaGlkZUZvb3Rlck9uTWFpYWtlck1hcmtldHBsYWNlSG9tZSIsImNyZWF0ZVBvcnRhbCIsImNoaWxkcmVuIiwib25Hb1RvQ2hhdCIsIm9uRXJyb3IiLCJoYW5kbGVHb1RvSG9tZSIsImhhbmRsZVNldFJlZmV0Y2hDaGF0cyIsImFnZW50c05hdkFjdGl2ZSIsImhhc01vcmUiLCJoYXNfbW9yZSIsIm9uQWdlbnRVcGRhdGUiLCJoaWRlQWdlbnRTZWxlY3RvciIsInJlZnMiLCJvblNlbmRNZXNzYWdlUmVhZHkiLCJvbkRlbGV0ZUFnZW50Iiwib25GYXZvcml0ZUFnZW50VXBkYXRlIiwiaGFzTW9yZUFnZW50cyIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJvblJlc3RhcnRTdW1tYXJ5IiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJzaG93RmFxcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1uby11c2VsZXNzLWZyYWdtZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IE1BSUFFcnJvciB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFFcnJvcidcblxuaW1wb3J0IHsgQ2hhdEFJQ29udGVudCB9IGZyb20gJy4uL0NoYXRBSUNvbnRlbnQnXG5pbXBvcnQgeyBidWlsZEhhbmRsZXJzLCBvcHRpb25zIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi4vU2lkZWJhcidcbmltcG9ydCB7IHVzZUdldEFnZW50cyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2dldEFnZW50cydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0QUlNb2RhbEhlYWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlcidcbmltcG9ydCB7IFNuYWNrYmFyIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL1NuYWNrQmFyL1NuYWNrYmFyJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb250ZW50IH0gZnJvbSAnLi4vUHJvamVjdFN1bW1hcnlDb250ZW50J1xuaW1wb3J0IHsgQWJtQWdlbnRNb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9BYm1BZ2VudE1vZGFsL0FibUFnZW50TW9kYWwnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBTQ0NBSU1Db250ZW50LCBTQ0NBSU1Db250ZW50V3JhcHBlciwgU0NDQUlNV3JhcHBlciB9IGZyb20gJy4vQ2hhdEFJTW9kYWwuc3R5bGVzJ1xuaW1wb3J0IHsgQ2hhdEFpTW9kYWxGb290ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXInXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHVzZUZhcXNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3VzZUZhcXNTdG9yZSdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5cbnR5cGUgQ2hhdEFJTW9kYWxQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBwYXJlbnRSZWY/OiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+XG59XG5cbmV4cG9ydCBjb25zdCBJRF9NT0RBTF9DSEFUX0FHRU5UID0gJ21vZGFscy1wb3J0YWwtbWFpYS1jaGF0LWFnZW50J1xuXG5jb25zdCB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZSA9IChzZWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlY3Rpb24gPT09ICdoZWFkZXInICYmICh3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyB8fCB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2NsaWVudCcpICYmIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWwgPSAoeyBoYW5kbGVDbG9zZSB9OiBDaGF0QUlNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXNlRmFxc1N0b3JlLmdldFN0YXRlKCkuY2xlYXJGYXFzKClcbiAgICBoYW5kbGVDbG9zZT8uKClcbiAgfSwgW2hhbmRsZUNsb3NlXSlcbiAgY29uc3QgW3VzZXJJbml0aWFsTWVzc2FnZSwgc2V0VXNlckluaXRpYWxNZXNzYWdlXSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICAgIGZhcUlkPzogc3RyaW5nXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgfT4oe1xuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSlcbiAgY29uc3QgW2luaXRpYWxDaGF0SWQsIHNldEluaXRpYWxDaGF0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW25ld0NoYXRLZXksIHNldE5ld0NoYXRLZXldID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3NlbmRNZXNzYWdlRnVuY3Rpb24sIHNldFNlbmRNZXNzYWdlRnVuY3Rpb25dID0gdXNlU3RhdGU8XG4gICAgKChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSwgZmFxSWQ/OiBzdHJpbmcsIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nKSA9PiB2b2lkKSB8IG51bGxcbiAgPihudWxsKVxuICBjb25zdCBbc3RvcEdlbmVyYXRpb25GdW5jdGlvbiwgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbl0gPSB1c2VTdGF0ZTwoKCkgPT4gdm9pZCkgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNTdHJlYW1pbmcsIHNldElzU3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNXcml0aW5nLCBzZXRJc1dyaXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW3JlZmV0Y2hDaGF0cywgc2V0UmVmZXRjaENoYXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY3VycmVudE9wdGlvbiwgc2V0Q3VycmVudE9wdGlvbl0gPSB1c2VTdGF0ZShvcHRpb25zLmhvbWUpXG4gIGNvbnN0IFtoYXNFcnJvciwgc2V0SGFzRXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGhhbmRsZXJzID0gdXNlTWVtbygoKSA9PiBidWlsZEhhbmRsZXJzKHNldEN1cnJlbnRPcHRpb24sIHNldEhhc0Vycm9yKSwgW10pXG4gIGNvbnN0IFtzaWRlYmFySGFzRXJyb3IsIHNldFNpZGViYXJIYXNFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgcmVzZXRTZWxlY3RlZENoYXRSZWYgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgbGFuZyA9IGkxOG4ubGFuZ3VhZ2UgPT09ICdicicgPyAncHQtYnInIDogaTE4bi5sYW5ndWFnZVxuXG4gIG1vbWVudC5sb2NhbGUobGFuZylcblxuICBjb25zdCB7XG4gICAgc2VsZWN0QWdlbnQsXG4gICAgc2VjdGlvbixcbiAgICBhZ2VudCxcbiAgICBwcm9qZWN0LFxuICAgIGNsaWVudCxcbiAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgIHNldENsaWVudCxcbiAgICBzZXRQcm9qZWN0LFxuICB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgY29uc3Qge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yOiBhZ2VudEVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH0gPSB1c2VHZXRBZ2VudHMoeyBzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGhhbmRsZUdvSG9tZTogaGFuZGxlcnMuaG9tZSB9KVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuXG4gIGNvbnN0IHVzZXJIYXNQZXJtaXNzaW9ucyA9XG4gICAgKHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmNyZWF0ZSB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZWRpdCB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZGVsZXRlKSAmJlxuICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3QgY29tcHV0ZWRDdXJyZW50T3B0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaXNHbG9iYWxTcGVjaWFsaXN0ID0gaXNNQUlBICYmIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnXG4gICAgY29uc3QgaXNQcm9qZWN0U3BlY2lhbGlzdCA9IGlzTUFJQSAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT0gbnVsbClcbiAgICBjb25zdCBpc0NsaWVudFNwZWNpYWxpc3QgPSBpc01BSUEgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCdcbiAgICBjb25zdCBpc01haWFrZXIgPSBpc0dsb2JhbFNwZWNpYWxpc3QgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG5cbiAgICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cykge1xuICAgICAgcmV0dXJuIG9wdGlvbnMubXlBZ2VudHNcbiAgICB9XG5cbiAgICBpZiAoaXNHbG9iYWxTcGVjaWFsaXN0ICYmICFpc01haWFrZXIgJiYgY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5ob21lKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5jaGF0XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciA9IGN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdCAmJiBpc1Byb2plY3RTcGVjaWFsaXN0ICYmICFwcm9qZWN0XG4gICAgY29uc3Qgc2hvdWxkU2hvd0NsaWVudFNlbGVjdG9yID0gY3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0ICYmIGlzQ2xpZW50U3BlY2lhbGlzdCAmJiAhY2xpZW50XG5cbiAgICBpZiAoc2hvdWxkU2hvd1Byb2plY3RTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIG9wdGlvbnMucHJvamVjdFNlbGVjdG9yXG4gICAgfVxuICAgIGlmIChzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLmNsaWVudFNlbGVjdG9yXG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50T3B0aW9uXG4gIH0sIFtjdXJyZW50T3B0aW9uLCBwcm9qZWN0LCBjbGllbnQsIGlzTUFJQSwgYWdlbnQ/LmVudGl0eSwgYWdlbnQ/Lm5hbWVdKVxuXG4gIGNvbnN0IGlzTWFpYWtlckFnZW50U2VsZWN0ZWQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBpc01BSUEgJiZcbiAgICAgIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmXG4gICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJlxuICAgICAgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpLFxuICAgIFtpc01BSUEsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBhZ2VudD8ubmFtZV1cbiAgKVxuXG4gIGNvbnN0IHNpZGViYXJBZ2VudHNOYXZBY3RpdmUgPSB1c2VNZW1vKCgpOiAnbWFpYWtlcicgfCAnbXlBZ2VudHMnIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5teUFnZW50cykgcmV0dXJuICdteUFnZW50cydcbiAgICBpZiAoaXNNYWlha2VyQWdlbnRTZWxlY3RlZCkgcmV0dXJuICdtYWlha2VyJ1xuICAgIHJldHVybiBudWxsXG4gIH0sIFtjb21wdXRlZEN1cnJlbnRPcHRpb24sIGlzTWFpYWtlckFnZW50U2VsZWN0ZWRdKVxuXG4gIC8qIFJlYWN0aXZhciBjb24gbGEgZmlsYSDigJxNaXMgYWdlbnRlc+KAnSBlbiBTaWRlYmFyOiBteUFnZW50c0NvdW50IHByb3BcbiAgY29uc3Qgc2lkZWJhck15QWdlbnRzQ291bnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gYWdlbnRzLmRhdGEuZmlsdGVyKFxuICAgICAgYSA9PiAhKGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYS5uYW1lIHx8ICcnKSlcbiAgICApXG4gICAgICAubGVuZ3RoXG4gIH0sIFthZ2VudHMuZGF0YV0pXG4gICovXG5cbiAgY29uc3QgYWdlbnRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBzZWxlY3RvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke0lEX01PREFMX0NIQVRfQUdFTlR9YClcblxuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHN0YXJ0Q2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChtZXNzYWdlPzogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nLCBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHNpZGViYXJIYXNFcnJvcikge1xuICAgICAgICBzZXRTaWRlYmFySGFzRXJyb3IoZmFsc2UpXG4gICAgICB9XG4gICAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgICBzZXROZXdDaGF0S2V5KHByZXYgPT4gcHJldiArIDEpXG4gICAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2Uoe1xuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlIHx8ICcnLFxuICAgICAgICBhdHRhY2htZW50czogYXR0YWNobWVudHMgfHwgW10sXG4gICAgICAgIC4uLihmYXFJZCA/IHsgZmFxSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKGFnZW50U3VnZ2VzdGlvbklkID8geyBhZ2VudFN1Z2dlc3Rpb25JZCB9IDoge30pLFxuICAgICAgfSlcbiAgICAgIGhhbmRsZXJzLmNoYXQoKVxuICAgIH0sXG4gICAgW2hhbmRsZXJzLCBzaWRlYmFySGFzRXJyb3JdXG4gIClcblxuICBjb25zdCBnb1RvQ2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChjaGF0OiBhbnkpID0+IHtcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICAgIHNldEluaXRpYWxDaGF0SWQoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IHNlbGVjdGVkQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uaWQgPT09IGNoYXQuYWdlbnRJZClcbiAgICAgIGlmIChzZWxlY3RlZEFnZW50KSB7XG4gICAgICAgIHNlbGVjdEFnZW50KHNlbGVjdGVkQWdlbnQpXG4gICAgICB9XG4gICAgICAvLyBEaXNwYXRjaCBldmVudCB0byBjbGVhciB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgICAgaGFuZGxlcnMuY2hhdCgpXG4gICAgfSxcbiAgICBbaGFuZGxlcnMsIGFnZW50cywgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZVJlYWR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgc2VuZE1lc3NhZ2U6IChcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sXG4gICAgICAgIGZhcUlkPzogc3RyaW5nLFxuICAgICAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZ1xuICAgICAgKSA9PiB2b2lkLFxuICAgICAgc3RvcEdlbmVyYXRpb246ICgpID0+IHZvaWQsXG4gICAgICBzdHJlYW1pbmc6IGJvb2xlYW4sXG4gICAgICB3cml0aW5nOiBib29sZWFuXG4gICAgKSA9PiB7XG4gICAgICBzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uKCgpID0+IHNlbmRNZXNzYWdlKVxuICAgICAgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbigoKSA9PiBzdG9wR2VuZXJhdGlvbilcbiAgICAgIHNldElzU3RyZWFtaW5nKHN0cmVhbWluZylcbiAgICAgIHNldElzV3JpdGluZyh3cml0aW5nKVxuICAgIH0sXG4gICAgW11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLCBmYXFJZD86IHN0cmluZywgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChzaWRlYmFySGFzRXJyb3IpIHtcbiAgICAgICAgc2V0U2lkZWJhckhhc0Vycm9yKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKHNlbmRNZXNzYWdlRnVuY3Rpb24gJiYgY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpIHtcbiAgICAgICAgc2VuZE1lc3NhZ2VGdW5jdGlvbihtZXNzYWdlLCBhdHRhY2htZW50cywgZmFxSWQsIGFnZW50U3VnZ2VzdGlvbklkKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRDaGF0KG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBbc2VuZE1lc3NhZ2VGdW5jdGlvbiwgc3RhcnRDaGF0LCBjb21wdXRlZEN1cnJlbnRPcHRpb24sIHNpZGViYXJIYXNFcnJvcl1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUdvSG9tZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBTaSBlc3RhbW9zIGVuIHVuYSBjb252ZXJzYWNpw7NuIHkgdmFtb3MgYSBob21lLCByZXNldGVhciBpbml0aWFsQ2hhdElkIHkgaW5jcmVtZW50YXIgbmV3Q2hhdEtleVxuICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpIHtcbiAgICAgIHNldEluaXRpYWxDaGF0SWQobnVsbClcbiAgICAgIHNldE5ld0NoYXRLZXkocHJldiA9PiBwcmV2ICsgMSlcbiAgICAgIC8vIE5vIGJvcnJhciBlbCBjbGllbnRlIHNpIGVzIGFnZW50ZSBkZSBjbGllbnRlcyAoaWd1YWwgcXVlIGVsIHByb3llY3RvIHNlIG1hbnRpZW5lKVxuICAgICAgaWYgKGFnZW50Py5lbnRpdHkgIT09ICdjbGllbnQnKSB7XG4gICAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgICghYWdlbnQgfHwgYWdlbnQ/LmlzX2RlbGV0ZWQgfHwgYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgYWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8IGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpICYmXG4gICAgICBhZ2VudHMuZGF0YS5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBzZWxlY3RBZ2VudChhZ2VudHMuZGF0YVswXSlcbiAgICB9XG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmhvbWUpXG4gICAgc2V0Q2hpcHNQcm9qZWN0KG51bGwpXG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUgJiYgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCkge1xuICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCgpXG4gICAgfVxuICB9LCBbXG4gICAgb3B0aW9ucy5ob21lLFxuICAgIG9wdGlvbnMuY2hhdCxcbiAgICBjdXJyZW50T3B0aW9uLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIHRvZ2dsZVdlYlNlYXJjaCxcbiAgICBhZ2VudCxcbiAgICBhZ2VudHMsXG4gICAgc2VsZWN0QWdlbnQsXG4gICAgc2V0Q2xpZW50LFxuICBdKVxuXG4gIGNvbnN0IGhhbmRsZVJlc2V0Q2hhdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2UoeyBtZXNzYWdlOiAnJywgYXR0YWNobWVudHM6IFtdIH0pXG4gICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgIC8vIERpc3BhdGNoIGV2ZW50IHRvIGNsZWFyIHRoZSBpbnB1dCB0ZXh0YXJlYVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgIGhhbmRsZUdvSG9tZSgpXG4gIH0sIFtoYW5kbGVHb0hvbWVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhZ2VudHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGFnZW50c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGhhbmRsZUdldEFnZW50cygpXG4gICAgfVxuICAgIGNvbnN0IGhhbmRsZVJlZmV0Y2hBZ2VudHNDdXN0b20gPSAoKSA9PiB7XG4gICAgICBoYW5kbGVHZXRBZ2VudHMoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtYWdlbnRzLWN1c3RvbScsIGhhbmRsZVJlZmV0Y2hBZ2VudHNDdXN0b20pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtYWdlbnRzLWN1c3RvbScsIGhhbmRsZVJlZmV0Y2hBZ2VudHNDdXN0b20pXG4gICAgfVxuICB9LCBbaGFuZGxlR2V0QWdlbnRzXSlcblxuICBjb25zdCBzaG93TmV3Q2hhdCA9IGNvbXB1dGVkQ3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0XG4gIGNvbnN0IGhpZGVIZWFkZXJBZ2VudFNlbGVjdG9yID0gY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLm15QWdlbnRzXG4gIGNvbnN0IGhhbmRsZU9wZW5NYXJrZXRwbGFjZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlBZ2VudHMpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUdvVG9NYWlha2VyID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIGxldCBtYWlha2VyQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKChhOiBBZ2VudCkgPT4gYS50eXBlID09PSAnY2xvbmUnICYmIGEuZW50aXR5ID09PSAnZ2xvYmFsJylcbiAgICBpZiAoIW1haWFrZXJBZ2VudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1jbG9uZSZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYTogQWdlbnQpID0+IGEudHlwZSA9PT0gJ2Nsb25lJyAmJiBhLmVudGl0eSA9PT0gJ2dsb2JhbCcpXG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghbWFpYWtlckFnZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0UHJvamVjdChudWxsKVxuICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIGlmIChyZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50KClcbiAgICB9XG4gIH0sIFthZ2VudHMuZGF0YSwgaTE4bi5sYW5ndWFnZSwgc2VsZWN0QWdlbnQsIHNldENsaWVudCwgc2V0UHJvamVjdF0pXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50SWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmVtb3ZlQWdlbnQoYWdlbnRJZClcbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IGFnZW50SWQpIHtcbiAgICAgICAgc2VsZWN0Rmlyc3RBZ2VudChhZ2VudElkKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50Py5pZCwgcmVtb3ZlQWdlbnQsIHNlbGVjdEZpcnN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoaWRlRm9vdGVyT25NYWlha2VyTWFya2V0cGxhY2VIb21lID0gY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgaXNNYWlha2VyQWdlbnRTZWxlY3RlZFxuXG4gIHJldHVybiAoXG4gICAgc2VsZWN0b3IgJiZcbiAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICA8U0NDQUlNV3JhcHBlciBleHBhbmRlZD17ZXhwYW5kZWR9PlxuICAgICAgICA8U0NDQUlNQ29udGVudFdyYXBwZXIgZXhwYW5kZWQ9e2V4cGFuZGVkfT5cbiAgICAgICAgICB7dmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgJiYgKFxuICAgICAgICAgICAgPFNpZGViYXJcbiAgICAgICAgICAgICAgb25Hb1RvQ2hhdD17Z29Ub0NoYXR9XG4gICAgICAgICAgICAgIG9uRXJyb3I9eygpID0+IHNldFNpZGViYXJIYXNFcnJvcih0cnVlKX1cbiAgICAgICAgICAgICAgaGFuZGxlR29Ub0hvbWU9e2hhbmRsZUdvSG9tZX1cbiAgICAgICAgICAgICAgaGFuZGxlT3Blbk1hcmtldHBsYWNlPXtoYW5kbGVPcGVuTWFya2V0cGxhY2V9XG4gICAgICAgICAgICAgIHNob3dOZXdDaGF0PXtzaG93TmV3Q2hhdH1cbiAgICAgICAgICAgICAgcmVmZXRjaENoYXRzPXtyZWZldGNoQ2hhdHN9XG4gICAgICAgICAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cz17c2V0UmVmZXRjaENoYXRzfVxuICAgICAgICAgICAgICBoYXNFcnJvcj17c2lkZWJhckhhc0Vycm9yfVxuICAgICAgICAgICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZj17cmVzZXRTZWxlY3RlZENoYXRSZWZ9XG4gICAgICAgICAgICAgIGFnZW50c05hdkFjdGl2ZT17c2lkZWJhckFnZW50c05hdkFjdGl2ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8U0NDQUlNQ29udGVudCBleHBhbmRlZD17ZXhwYW5kZWR9PlxuICAgICAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgICAgIDxDaGF0QUlNb2RhbEhlYWRlclxuICAgICAgICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgICAgIHNldEV4cGFuZGVkPXtzZXRFeHBhbmRlZH1cbiAgICAgICAgICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICAgIGFnZW50cz17YWdlbnRzLmRhdGF9XG4gICAgICAgICAgICAgIGhhc0Vycm9yPXshIWFnZW50RXJyb3J9XG4gICAgICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgICAgIGxvYWRpbmdNb3JlPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICAgICAgaGFzTW9yZT17YWdlbnRzLmhhc19tb3JlfVxuICAgICAgICAgICAgICBoYW5kbGVSZXNldENoYXQ9e2hhbmRsZVJlc2V0Q2hhdH1cbiAgICAgICAgICAgICAgb25BZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICAgICAgbG9hZE1vcmVBZ2VudHM9e2xvYWRNb3JlQWdlbnRzfVxuICAgICAgICAgICAgICBzb3J0QWdlbnRzTGlzdD17c29ydEFnZW50c0xpc3R9XG4gICAgICAgICAgICAgIGhpZGVBZ2VudFNlbGVjdG9yPXtoaWRlSGVhZGVyQWdlbnRTZWxlY3Rvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7LyogQ29udGVudCAqL31cblxuICAgICAgICAgICAge2hhc0Vycm9yID8gKFxuICAgICAgICAgICAgICA8TUFJQUVycm9yIC8+XG4gICAgICAgICAgICApIDogdmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgPyAoXG4gICAgICAgICAgICAgIDxDaGF0QUlDb250ZW50XG4gICAgICAgICAgICAgICAgY3VycmVudE9wdGlvbj17Y29tcHV0ZWRDdXJyZW50T3B0aW9ufVxuICAgICAgICAgICAgICAgIGhhbmRsZXJzPXt7IC4uLmhhbmRsZXJzLCBjaGF0OiBzdGFydENoYXQsIGhvbWU6IGhhbmRsZXJzLmhvbWUsIGhhbmRsZUdvSG9tZSB9fVxuICAgICAgICAgICAgICAgIG9uRXJyb3I9eygpID0+IHNldEhhc0Vycm9yKHRydWUpfVxuICAgICAgICAgICAgICAgIHJlZnM9e3sgdXNlckluaXRpYWxNZXNzYWdlLCBpbml0aWFsQ2hhdElkIH19XG4gICAgICAgICAgICAgICAgb25TZW5kTWVzc2FnZVJlYWR5PXtoYW5kbGVTZW5kTWVzc2FnZVJlYWR5fVxuICAgICAgICAgICAgICAgIGV4cGFuZGVkPXtleHBhbmRlZH1cbiAgICAgICAgICAgICAgICBhZ2VudHM9e2FnZW50cy5kYXRhfVxuICAgICAgICAgICAgICAgIG9uRGVsZXRlQWdlbnQ9e2hhbmRsZURlbGV0ZUFnZW50RnJvbU15QWdlbnRzfVxuICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICAgICAgICBoYXNNb3JlQWdlbnRzPXshIWFnZW50cy5oYXNfbW9yZX1cbiAgICAgICAgICAgICAgICBsb2FkaW5nTW9yZUFnZW50cz17bG9hZGluZ01vcmV9XG4gICAgICAgICAgICAgICAgb25Mb2FkTW9yZUFnZW50cz17bG9hZE1vcmVBZ2VudHN9XG4gICAgICAgICAgICAgICAgb25Hb1RvTWFpYWtlcj17aGFuZGxlR29Ub01haWFrZXJ9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8UHJvamVjdFN1bW1hcnlDb250ZW50IG9uUmVzdGFydFN1bW1hcnk9e2hhbmRsZXJzLmhvbWV9IC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7LyogRm9vdGVyICovfVxuICAgICAgICAgICAgeygoY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgISFhZ2VudHM/LmRhdGE/Lmxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpICYmXG4gICAgICAgICAgICAgICFoaWRlRm9vdGVyT25NYWlha2VyTWFya2V0cGxhY2VIb21lICYmXG4gICAgICAgICAgICAgICFoYXNFcnJvciAmJlxuICAgICAgICAgICAgICAhbG9hZGluZyAmJlxuICAgICAgICAgICAgICB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgPENoYXRBaU1vZGFsRm9vdGVyXG4gICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTdG9wR2VuZXJhdGlvbj17c3RvcEdlbmVyYXRpb25GdW5jdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgICAgICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICAgICAgICAgICAgY2hhdElkPXtpbml0aWFsQ2hhdElkfVxuICAgICAgICAgICAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgICAgICAgICAgIHNob3dGYXFzPXtjb21wdXRlZEN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlNQ29udGVudD5cbiAgICAgICAgPC9TQ0NBSU1Db250ZW50V3JhcHBlcj5cbiAgICAgICAge3VzZXJIYXNQZXJtaXNzaW9ucyAmJiAoXG4gICAgICAgICAgPEFibUFnZW50TW9kYWxcbiAgICAgICAgICAgIGFkZEFnZW50PXthZGRBZ2VudH1cbiAgICAgICAgICAgIHVwZGF0ZUFnZW50PXt1cGRhdGVBZ2VudH1cbiAgICAgICAgICAgIHJlbW92ZUFnZW50PXtyZW1vdmVBZ2VudH1cbiAgICAgICAgICAgIHVwZGF0ZUFnZW50RmF2b3JpdGU9e3VwZGF0ZUFnZW50RmF2b3JpdGV9XG4gICAgICAgICAgICBzZWxlY3RGaXJzdEFnZW50PXtzZWxlY3RGaXJzdEFnZW50fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxTbmFja2JhciAvPlxuICAgICAgPC9TQ0NBSU1XcmFwcGVyPixcbiAgICAgIHNlbGVjdG9yXG4gICAgKVxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtB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
@@ -14,8 +14,7 @@ import { DeleteQuestionModal } from '../../organisms/DeleteQuestionModal/DeleteQ
14
14
  import { SECTIONS } from '../../../constants/config';
15
15
  import { Loader } from '../../atoms/Loader';
16
16
  import { useToggleFavorite } from '../../../hooks';
17
- import { EVENTS, useEvent } from '../../../hooks/useEvent';
18
- import { SCMAActionsRow, SCMABody, SCMACardBody, SCMACardButton, SCMACardFooter, SCMACardHeader, SCMACardIntroText, SCMACardMenu, SCMACardMenuItem, SCMACardMenuItems, SCMAFavoriteButton, SCMACardText, SCMACardTitle, SCMACardTitleEmoji, SCMACardTitleName, SCMACardsOuter, SCMACardsRow, SCMAEmptyStateRoot, SCMAEmptyStateColumn, SCMAEmptyStateTitleBlock, SCMAEmptyStateTitle, SCMAEmptyStateSubtitle, SCMAEmptyStateButton, SCMAKebabButton, SCMACreateManualButton, SCMACreateManualButtonText, SCMALoadMoreWrapper, SCMAMyAgentsContainer, SCMATitle, SCMATitleInner, SCMATitleWrap } from './ChatAIMyAgents.styles';
17
+ import { SCMABody, SCMACardBody, SCMACardButton, SCMACardFooter, SCMACardHeader, SCMACardTopRow, SCMACardIntroText, SCMACardMenu, SCMACardMenuItem, SCMACardMenuItems, SCMAFavoriteButton, SCMACardText, SCMACardTitleEmoji, SCMACardTitleName, SCMACardsOuter, SCMACardsRow, SCMAEmptyStateRoot, SCMAEmptyStateColumn, SCMAEmptyStateTitleBlock, SCMAEmptyStateTitle, SCMAEmptyStateSubtitle, SCMAEmptyStateButton, SCMAKebabButton, SCMALoadMoreWrapper, SCMAMyAgentsContainer, SCMATitle, SCMATitleInner, SCMATitleWrap } from './ChatAIMyAgents.styles';
19
18
  import { MAIAIsologo } from '../../atoms/icons';
20
19
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
20
  export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
@@ -58,7 +57,6 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
58
57
  var canShowMenu = canEdit || canDelete;
59
58
  var _useToggleFavorite = useToggleFavorite(),
60
59
  toggleFavorite = _useToggleFavorite.toggleFavorite;
61
- var amplitudeEvent = useEvent();
62
60
  var handleLoadMore = function handleLoadMore() {
63
61
  if (!onLoadMoreAgents || !hasMoreAgents || loadingMoreAgents) {
64
62
  return;
@@ -154,21 +152,6 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
154
152
  return _ref2.apply(this, arguments);
155
153
  };
156
154
  }();
157
- var handleOpenCreateAgent = function handleOpenCreateAgent() {
158
- amplitudeEvent(EVENTS.openModal, {
159
- option: 'create_agent'
160
- });
161
- document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
162
- detail: {
163
- agentValues: {
164
- values: {
165
- isEditing: false
166
- },
167
- isOpen: true
168
- }
169
- }
170
- }));
171
- };
172
155
  useEffect(function () {
173
156
  var handleClickOutside = function handleClickOutside() {
174
157
  if (menuOpenForAgentId) {
@@ -214,20 +197,12 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
214
197
  id: "my-agents-scroll-container",
215
198
  $hasAgents: !!customAgents.length,
216
199
  children: [/*#__PURE__*/_jsx(MAIAIsologo, {}), /*#__PURE__*/_jsxs(SCMABody, {
217
- children: [customAgents.length ? /*#__PURE__*/_jsxs(SCMATitleWrap, {
218
- children: [/*#__PURE__*/_jsx(SCMATitleInner, {
200
+ children: [customAgents.length ? /*#__PURE__*/_jsx(SCMATitleWrap, {
201
+ children: /*#__PURE__*/_jsx(SCMATitleInner, {
219
202
  children: /*#__PURE__*/_jsx(SCMATitle, {
220
203
  children: t('marketplace.myAgentsReadyTitle')
221
204
  })
222
- }), canCreateAgent ? /*#__PURE__*/_jsx(SCMAActionsRow, {
223
- children: /*#__PURE__*/_jsx(SCMACreateManualButton, {
224
- type: "button",
225
- onClick: handleOpenCreateAgent,
226
- children: /*#__PURE__*/_jsx(SCMACreateManualButtonText, {
227
- children: "Crear agente manualmente"
228
- })
229
- })
230
- }) : null]
205
+ })
231
206
  }) : null, customAgents.length ? /*#__PURE__*/_jsx(SCMACardsOuter, {
232
207
  children: /*#__PURE__*/_jsx(SCMACardsRow, {
233
208
  children: customAgents.map(function (agent) {
@@ -238,29 +213,29 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
238
213
  return handleUseAgent(agent);
239
214
  },
240
215
  children: [/*#__PURE__*/_jsxs(SCMACardHeader, {
241
- children: [/*#__PURE__*/_jsxs(SCMACardTitle, {
242
- children: [(_agent$emoji = agent.emoji) !== null && _agent$emoji !== void 0 && _agent$emoji.trim() ? /*#__PURE__*/_jsx(SCMACardTitleEmoji, {
216
+ children: [/*#__PURE__*/_jsxs(SCMACardTopRow, {
217
+ children: [/*#__PURE__*/_jsx(SCMACardTitleEmoji, {
243
218
  "aria-hidden": true,
244
- children: agent.emoji
245
- }) : null, /*#__PURE__*/_jsx(SCMACardTitleName, {
246
- children: agent.name
247
- })]
248
- }), canShowMenu ? /*#__PURE__*/_jsx(SCMAKebabButton, {
249
- type: "button",
250
- "aria-label": t('marketplace.cardMenuAriaLabel'),
251
- onClick: function onClick(event) {
252
- event.preventDefault();
253
- event.stopPropagation();
254
- setMenuOpenForAgentId(function (prev) {
255
- return prev === agent.id ? null : agent.id;
256
- });
257
- },
258
- children: /*#__PURE__*/_jsx(MenuDots, {
259
- color: "#999",
260
- width: 15,
261
- height: 15
262
- })
263
- }) : null]
219
+ children: (_agent$emoji = agent.emoji) !== null && _agent$emoji !== void 0 && _agent$emoji.trim() ? agent.emoji : "\xA0"
220
+ }), canShowMenu ? /*#__PURE__*/_jsx(SCMAKebabButton, {
221
+ type: "button",
222
+ "aria-label": t('marketplace.cardMenuAriaLabel'),
223
+ onClick: function onClick(event) {
224
+ event.preventDefault();
225
+ event.stopPropagation();
226
+ setMenuOpenForAgentId(function (prev) {
227
+ return prev === agent.id ? null : agent.id;
228
+ });
229
+ },
230
+ children: /*#__PURE__*/_jsx(MenuDots, {
231
+ color: "#999",
232
+ width: 15,
233
+ height: 15
234
+ })
235
+ }) : null]
236
+ }), /*#__PURE__*/_jsx(SCMACardTitleName, {
237
+ children: agent.name
238
+ })]
264
239
  }), /*#__PURE__*/_jsxs(SCMACardBody, {
265
240
  children: [/*#__PURE__*/_jsx(SCMACardIntroText, {
266
241
  children: normalizeText(agent.introduction)
@@ -348,4 +323,4 @@ export var ChatAIMyAgents = function ChatAIMyAgents(_ref) {
348
323
  }) : null]
349
324
  });
350
325
  };
351
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIk1lbnVEb3RzIiwiU3RhciIsIlRvb2x0aXAiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VVc2VyIiwiZGVsZXRlQWdlbnQiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiU0VDVElPTlMiLCJMb2FkZXIiLCJ1c2VUb2dnbGVGYXZvcml0ZSIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU0NNQUFjdGlvbnNSb3ciLCJTQ01BQm9keSIsIlNDTUFDYXJkQm9keSIsIlNDTUFDYXJkQnV0dG9uIiwiU0NNQUNhcmRGb290ZXIiLCJTQ01BQ2FyZEhlYWRlciIsIlNDTUFDYXJkSW50cm9UZXh0IiwiU0NNQUNhcmRNZW51IiwiU0NNQUNhcmRNZW51SXRlbSIsIlNDTUFDYXJkTWVudUl0ZW1zIiwiU0NNQUZhdm9yaXRlQnV0dG9uIiwiU0NNQUNhcmRUZXh0IiwiU0NNQUNhcmRUaXRsZSIsIlNDTUFDYXJkVGl0bGVFbW9qaSIsIlNDTUFDYXJkVGl0bGVOYW1lIiwiU0NNQUNhcmRzT3V0ZXIiLCJTQ01BQ2FyZHNSb3ciLCJTQ01BRW1wdHlTdGF0ZVJvb3QiLCJTQ01BRW1wdHlTdGF0ZUNvbHVtbiIsIlNDTUFFbXB0eVN0YXRlVGl0bGVCbG9jayIsIlNDTUFFbXB0eVN0YXRlVGl0bGUiLCJTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlIiwiU0NNQUVtcHR5U3RhdGVCdXR0b24iLCJTQ01BS2ViYWJCdXR0b24iLCJTQ01BQ3JlYXRlTWFudWFsQnV0dG9uIiwiU0NNQUNyZWF0ZU1hbnVhbEJ1dHRvblRleHQiLCJTQ01BTG9hZE1vcmVXcmFwcGVyIiwiU0NNQU15QWdlbnRzQ29udGFpbmVyIiwiU0NNQVRpdGxlIiwiU0NNQVRpdGxlSW5uZXIiLCJTQ01BVGl0bGVXcmFwIiwiTUFJQUlzb2xvZ28iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEFJTXlBZ2VudHMiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJvbkJhY2siLCJhZ2VudHMiLCJvbkRlbGV0ZUFnZW50Iiwib25GYXZvcml0ZUFnZW50VXBkYXRlIiwiX3JlZiRoYXNNb3JlQWdlbnRzIiwiaGFzTW9yZUFnZW50cyIsIl9yZWYkbG9hZGluZ01vcmVBZ2VudCIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJjaGF0QUkiLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImN1c3RvbUFnZW50cyIsImZpbHRlciIsImFnZW50IiwidHlwZSIsImlzX2RlbGV0ZWQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJtZW51T3BlbkZvckFnZW50SWQiLCJzZXRNZW51T3BlbkZvckFnZW50SWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFnZW50VG9EZWxldGUiLCJzZXRBZ2VudFRvRGVsZXRlIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudCIsImNyZWF0ZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJjYW5FZGl0IiwiZWRpdCIsImNhbkRlbGV0ZSIsImNhblNob3dNZW51IiwiX3VzZVRvZ2dsZUZhdm9yaXRlIiwidG9nZ2xlRmF2b3JpdGUiLCJhbXBsaXR1ZGVFdmVudCIsImhhbmRsZUxvYWRNb3JlIiwiZGVsZXRlTW9kYWxDaGF0IiwidGl0bGUiLCJuYW1lIiwiaWQiLCJoYW5kbGVVc2VBZ2VudCIsIm5vcm1hbGl6ZVRleHQiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsImdldENyZWF0ZWRBdExhYmVsIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsImNyZWF0ZWRBdERhdGUiLCJEYXRlIiwiTnVtYmVyIiwiaXNOYU4iLCJnZXRUaW1lIiwiZGlmZk1zIiwibm93IiwiZGF5TXMiLCJkYXlzIiwiTWF0aCIsIm1heCIsImZsb29yIiwiaGFuZGxlT3BlbkVkaXRBZ2VudCIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwiaXNPcGVuIiwiaGFuZGxlVG9nZ2xlRmF2b3JpdGUiLCJldmVudCIsImlzRmF2b3JpdGUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInVwZGF0ZWRBZ2VudCIsInVuZGVmaW5lZCIsImhhbmRsZUNvbmZpcm1EZWxldGUiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiY2hhdCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJucyIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlT3BlbkNyZWF0ZUFnZW50Iiwib3Blbk1vZGFsIiwib3B0aW9uIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsIm9uU2Nyb2xsIiwic2Nyb2xsVG9wIiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwibmVhckJvdHRvbSIsImxlbmd0aCIsIiRoYXNBZ2VudHMiLCJjaGlsZHJlbiIsIm9uQ2xpY2siLCJtYXAiLCJfYWdlbnQkZW1vamkiLCJlbW9qaSIsInRyaW0iLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiaW50cm9kdWN0aW9uIiwiaXNfZmF2b3JpdGUiLCIkYWx3YXlzVmlzaWJsZSIsImZpbGwiLCJ2YXJpYW50IiwiY2xhc3NOYW1lIiwic2l6ZSIsIm9uQ2xvc2UiLCJoYW5kbGVycyIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJhY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTXlBZ2VudHMvQ2hhdEFJTXlBZ2VudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBNZW51RG90cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL01lbnVEb3RzJ1xuaW1wb3J0IHsgU3RhciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1N0YXInXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IGRlbGV0ZUFnZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvZGVsZXRlQWdlbnQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9EZWxldGVRdWVzdGlvbk1vZGFsL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VUb2dnbGVGYXZvcml0ZSB9IGZyb20gJy4uLy4uLy4uL2hvb2tzJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHtcbiAgU0NNQUFjdGlvbnNSb3csXG4gIFNDTUFCb2R5LFxuICBTQ01BQ2FyZEJvZHksXG4gIFNDTUFDYXJkQnV0dG9uLFxuICBTQ01BQ2FyZEZvb3RlcixcbiAgU0NNQUNhcmRIZWFkZXIsXG4gIFNDTUFDYXJkSW50cm9UZXh0LFxuICBTQ01BQ2FyZE1lbnUsXG4gIFNDTUFDYXJkTWVudUl0ZW0sXG4gIFNDTUFDYXJkTWVudUl0ZW1zLFxuICBTQ01BRmF2b3JpdGVCdXR0b24sXG4gIFNDTUFDYXJkVGV4dCxcbiAgU0NNQUNhcmRUaXRsZSxcbiAgU0NNQUNhcmRUaXRsZUVtb2ppLFxuICBTQ01BQ2FyZFRpdGxlTmFtZSxcbiAgU0NNQUNhcmRzT3V0ZXIsXG4gIFNDTUFDYXJkc1JvdyxcbiAgU0NNQUVtcHR5U3RhdGVSb290LFxuICBTQ01BRW1wdHlTdGF0ZUNvbHVtbixcbiAgU0NNQUVtcHR5U3RhdGVUaXRsZUJsb2NrLFxuICBTQ01BRW1wdHlTdGF0ZVRpdGxlLFxuICBTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlLFxuICBTQ01BRW1wdHlTdGF0ZUJ1dHRvbixcbiAgU0NNQUtlYmFiQnV0dG9uLFxuICBTQ01BQ3JlYXRlTWFudWFsQnV0dG9uLFxuICBTQ01BQ3JlYXRlTWFudWFsQnV0dG9uVGV4dCxcbiAgU0NNQUxvYWRNb3JlV3JhcHBlcixcbiAgU0NNQU15QWdlbnRzQ29udGFpbmVyLFxuICBTQ01BVGl0bGUsXG4gIFNDTUFUaXRsZUlubmVyLFxuICBTQ01BVGl0bGVXcmFwLFxufSBmcm9tICcuL0NoYXRBSU15QWdlbnRzLnN0eWxlcydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5cbnR5cGUgQ2hhdEFJTXlBZ2VudHNQcm9wcyA9IHtcbiAgb25CYWNrOiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBvbkRlbGV0ZUFnZW50PzogKGFnZW50SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGhhc01vcmVBZ2VudHM/OiBib29sZWFuXG4gIGxvYWRpbmdNb3JlQWdlbnRzPzogYm9vbGVhblxuICBvbkxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBvbkdvVG9NYWlha2VyPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSU15QWdlbnRzID0gKHtcbiAgb25CYWNrLFxuICBhZ2VudHMsXG4gIG9uRGVsZXRlQWdlbnQsXG4gIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZSxcbiAgaGFzTW9yZUFnZW50cyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZUFnZW50cyA9IGZhbHNlLFxuICBvbkxvYWRNb3JlQWdlbnRzLFxuICBvbkdvVG9NYWlha2VyLFxufTogQ2hhdEFJTXlBZ2VudHNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUksIFNFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgY3VzdG9tQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiAhYWdlbnQuaXNfZGVsZXRlZClcbiAgY29uc3QgW21lbnVPcGVuRm9yQWdlbnRJZCwgc2V0TWVudU9wZW5Gb3JBZ2VudElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFthZ2VudFRvRGVsZXRlLCBzZXRBZ2VudFRvRGVsZXRlXSA9IHVzZVN0YXRlPEFnZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5EZWxldGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZGVsZXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuU2hvd01lbnUgPSBjYW5FZGl0IHx8IGNhbkRlbGV0ZVxuICBjb25zdCB7IHRvZ2dsZUZhdm9yaXRlIH0gPSB1c2VUb2dnbGVGYXZvcml0ZSgpXG4gIGNvbnN0IGFtcGxpdHVkZUV2ZW50ID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IGhhbmRsZUxvYWRNb3JlID0gKCkgPT4ge1xuICAgIGlmICghb25Mb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZUFnZW50cyB8fCBsb2FkaW5nTW9yZUFnZW50cykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIG9uTG9hZE1vcmVBZ2VudHMoKVxuICB9XG5cbiAgY29uc3QgZGVsZXRlTW9kYWxDaGF0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoYWdlbnRUb0RlbGV0ZSA/IHsgdGl0bGU6IGFnZW50VG9EZWxldGUubmFtZSwgaWQ6IGFnZW50VG9EZWxldGUuaWQgfSA6IG51bGwpLFxuICAgIFthZ2VudFRvRGVsZXRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlVXNlQWdlbnQgPSAoYWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0UHJvamVjdChudWxsKVxuICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgb25CYWNrKClcbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZVRleHQgPSAodmFsdWU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpID0+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB2YWx1ZVswXSB8fCAnJ1xuICAgIHJldHVybiB2YWx1ZSB8fCAnJ1xuICB9XG5cbiAgY29uc3QgZ2V0Q3JlYXRlZEF0TGFiZWwgPSAoYWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgY29uc3QgY3JlYXRlZEF0ID0gKGFnZW50IGFzIEFnZW50ICYgeyBjcmVhdGVkX2F0Pzogc3RyaW5nIH0pLmNyZWF0ZWRfYXRcbiAgICBpZiAoIWNyZWF0ZWRBdCkgcmV0dXJuICcnXG5cbiAgICBjb25zdCBjcmVhdGVkQXREYXRlID0gbmV3IERhdGUoY3JlYXRlZEF0KVxuICAgIGlmIChOdW1iZXIuaXNOYU4oY3JlYXRlZEF0RGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gJydcblxuICAgIGNvbnN0IGRpZmZNcyA9IERhdGUubm93KCkgLSBjcmVhdGVkQXREYXRlLmdldFRpbWUoKVxuICAgIGNvbnN0IGRheU1zID0gMTAwMCAqIDYwICogNjAgKiAyNFxuICAgIGNvbnN0IGRheXMgPSBNYXRoLm1heCgwLCBNYXRoLmZsb29yKGRpZmZNcyAvIGRheU1zKSlcblxuICAgIGlmIChkYXlzID09PSAwKSByZXR1cm4gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUb2RheScpXG4gICAgaWYgKGRheXMgPT09IDEpIHJldHVybiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c09uZURheUFnbycpXG4gICAgcmV0dXJuIHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRGF5c0FnbycsIHsgZGF5cyB9KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3BlbkVkaXRBZ2VudCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICBpc0VkaXRpbmc6IHRydWUsXG4gICAgICAgICAgICAgIGtub3dsZWRnZTogYWdlbnQ/Lmtub3dsZWRnZSB8fCBbXSxcbiAgICAgICAgICAgICAgZ2VuZXJhbDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgaWQ6IGFnZW50LmlkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gICAgc2V0TWVudU9wZW5Gb3JBZ2VudElkKG51bGwpXG4gIH1cblxuICBjb25zdCBoYW5kbGVUb2dnbGVGYXZvcml0ZSA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4sIGFnZW50OiBBZ2VudCwgaXNGYXZvcml0ZTogYm9vbGVhbikgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuXG4gICAgdG9nZ2xlRmF2b3JpdGUoXG4gICAgICBhZ2VudC5pZCxcbiAgICAgIHVwZGF0ZWRBZ2VudCA9PiB7XG4gICAgICAgIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZT8uKHVwZGF0ZWRBZ2VudClcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpc0Zhdm9yaXRlXG4gICAgKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ29uZmlybURlbGV0ZSA9IGFzeW5jIChjaGF0OiB7IGlkOiBzdHJpbmcgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkZWxldGVBZ2VudChjaGF0LmlkKVxuICAgICAgaGFuZGxlU25hY2tiYXJTdWNjZXNzKHQoJ2NvbmZpcm1BZ2VudERlbGV0ZWQnLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KSlcbiAgICAgIG9uRGVsZXRlQWdlbnQ/LihjaGF0LmlkKVxuICAgICAgc2V0QWdlbnRUb0RlbGV0ZShudWxsKVxuICAgICAgc2V0TWVudU9wZW5Gb3JBZ2VudElkKG51bGwpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVPcGVuQ3JlYXRlQWdlbnQgPSAoKSA9PiB7XG4gICAgYW1wbGl0dWRlRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoKSA9PiB7XG4gICAgICBpZiAobWVudU9wZW5Gb3JBZ2VudElkKSB7XG4gICAgICAgIHNldE1lbnVPcGVuRm9yQWdlbnRJZChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG4gIH0sIFttZW51T3BlbkZvckFnZW50SWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ215LWFnZW50cy1zY3JvbGwtY29udGFpbmVyJylcbiAgICBpZiAoIWNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IG9uU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFoYXNNb3JlQWdlbnRzIHx8IGxvYWRpbmdNb3JlQWdlbnRzKSByZXR1cm5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCB9ID0gY29udGFpbmVyXG4gICAgICBjb25zdCBuZWFyQm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDQwXG4gICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICBoYW5kbGVMb2FkTW9yZSgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpXG4gICAgfVxuICB9LCBbaGFzTW9yZUFnZW50cywgbG9hZGluZ01vcmVBZ2VudHMsIG9uTG9hZE1vcmVBZ2VudHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ215LWFnZW50cy1zY3JvbGwtY29udGFpbmVyJylcbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhaGFzTW9yZUFnZW50cyB8fCBsb2FkaW5nTW9yZUFnZW50cykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGlmIChjb250YWluZXIuc2Nyb2xsSGVpZ2h0IDw9IGNvbnRhaW5lci5jbGllbnRIZWlnaHQgKyAxKSB7XG4gICAgICBoYW5kbGVMb2FkTW9yZSgpXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSwgW2N1c3RvbUFnZW50cy5sZW5ndGgsIGhhc01vcmVBZ2VudHMsIGxvYWRpbmdNb3JlQWdlbnRzLCBvbkxvYWRNb3JlQWdlbnRzXSlcblxuICByZXR1cm4gKFxuICAgIDxTQ01BTXlBZ2VudHNDb250YWluZXIgaWQ9XCJteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lclwiICRoYXNBZ2VudHM9eyEhY3VzdG9tQWdlbnRzLmxlbmd0aH0+XG4gICAgICA8TUFJQUlzb2xvZ28gLz5cblxuICAgICAgPFNDTUFCb2R5PlxuICAgICAgICB7Y3VzdG9tQWdlbnRzLmxlbmd0aCA/IChcbiAgICAgICAgICA8U0NNQVRpdGxlV3JhcD5cbiAgICAgICAgICAgIDxTQ01BVGl0bGVJbm5lcj5cbiAgICAgICAgICAgICAgPFNDTUFUaXRsZT57dCgnbWFya2V0cGxhY2UubXlBZ2VudHNSZWFkeVRpdGxlJyl9PC9TQ01BVGl0bGU+XG4gICAgICAgICAgICA8L1NDTUFUaXRsZUlubmVyPlxuICAgICAgICAgICAge2NhbkNyZWF0ZUFnZW50ID8gKFxuICAgICAgICAgICAgICA8U0NNQUFjdGlvbnNSb3c+XG4gICAgICAgICAgICAgICAgPFNDTUFDcmVhdGVNYW51YWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DcmVhdGVBZ2VudH0+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNyZWF0ZU1hbnVhbEJ1dHRvblRleHQ+Q3JlYXIgYWdlbnRlIG1hbnVhbG1lbnRlPC9TQ01BQ3JlYXRlTWFudWFsQnV0dG9uVGV4dD5cbiAgICAgICAgICAgICAgICA8L1NDTUFDcmVhdGVNYW51YWxCdXR0b24+XG4gICAgICAgICAgICAgIDwvU0NNQUFjdGlvbnNSb3c+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1NDTUFUaXRsZVdyYXA+XG4gICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgIHtjdXN0b21BZ2VudHMubGVuZ3RoID8gKFxuICAgICAgICAgIDxTQ01BQ2FyZHNPdXRlcj5cbiAgICAgICAgICAgIDxTQ01BQ2FyZHNSb3c+XG4gICAgICAgICAgICAgIHtjdXN0b21BZ2VudHMubWFwKGFnZW50ID0+IChcbiAgICAgICAgICAgICAgICA8U0NNQUNhcmRCdXR0b24ga2V5PXthZ2VudC5pZH0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZVVzZUFnZW50KGFnZW50KX0+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5lbW9qaT8udHJpbSgpID8gPFNDTUFDYXJkVGl0bGVFbW9qaSBhcmlhLWhpZGRlbj57YWdlbnQuZW1vaml9PC9TQ01BQ2FyZFRpdGxlRW1vamk+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZU5hbWU+e2FnZW50Lm5hbWV9PC9TQ01BQ2FyZFRpdGxlTmFtZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICB7Y2FuU2hvd01lbnUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFLZWJhYkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdtYXJrZXRwbGFjZS5jYXJkTWVudUFyaWFMYWJlbCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1lbnVPcGVuRm9yQWdlbnRJZChwcmV2ID0+IChwcmV2ID09PSBhZ2VudC5pZCA/IG51bGwgOiBhZ2VudC5pZCkpXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51RG90cyBjb2xvcj1cIiM5OTlcIiB3aWR0aD17MTV9IGhlaWdodD17MTV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ01BS2ViYWJCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZEJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZEludHJvVGV4dD57bm9ybWFsaXplVGV4dChhZ2VudC5pbnRyb2R1Y3Rpb24pfTwvU0NNQUNhcmRJbnRyb1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZEZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUZXh0PntnZXRDcmVhdGVkQXRMYWJlbChhZ2VudCkgfHwgdCgnbWFya2V0cGxhY2UubXlBZ2VudHNGYWxsYmFja0RhdGUnKX08L1NDTUFDYXJkVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YWdlbnQuaXNfZmF2b3JpdGUgPyB0KCdhZ2VudHMucmVtb3ZlRmF2b3JpdGUnKSA6IHQoJ2FnZW50cy5hZGRGYXZvcml0ZScpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BRmF2b3JpdGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FnZW50LmlzX2Zhdm9yaXRlID8gdCgnYWdlbnRzLnJlbW92ZUZhdm9yaXRlJykgOiB0KCdhZ2VudHMuYWRkRmF2b3JpdGUnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsd2F5c1Zpc2libGU9eyEhYWdlbnQuaXNfZmF2b3JpdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGhhbmRsZVRvZ2dsZUZhdm9yaXRlKGV2ZW50LCBhZ2VudCwgISFhZ2VudC5pc19mYXZvcml0ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17MjB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2FnZW50LmlzX2Zhdm9yaXRlID8gJyNGRkM2MjQnIDogJyNhNmE2YTYnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2FnZW50LmlzX2Zhdm9yaXRlID8gJyNGRkM2MjQnIDogJ25vbmUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzb2xpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthZ2VudC5pc19mYXZvcml0ZSA/ICcnIDogJ3N0YXItZmF2b3JpdGUtaWNvbid9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFGYXZvcml0ZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkQm9keT5cbiAgICAgICAgICAgICAgICAgIHttZW51T3BlbkZvckFnZW50SWQgPT09IGFnZW50LmlkICYmIGNhblNob3dNZW51ID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRNZW51XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NhbkRlbGV0ZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRBZ2VudFRvRGVsZXRlKGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZGVsZXRlQWdlbnQnLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZE1lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2FuRWRpdCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuRWRpdEFnZW50KGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZWRpdEFnZW50JywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51PlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEJ1dHRvbj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1NDTUFDYXJkc1Jvdz5cbiAgICAgICAgICA8L1NDTUFDYXJkc091dGVyPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVJvb3Q+XG4gICAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlJyl9PC9TQ01BRW1wdHlTdGF0ZVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAge2NhbkNyZWF0ZUFnZW50XG4gICAgICAgICAgICAgICAgICAgID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24nKVxuICAgICAgICAgICAgICAgICAgICA6IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtJyl9XG4gICAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICA8L1NDTUFFbXB0eVN0YXRlVGl0bGVCbG9jaz5cbiAgICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICB7Y2FuQ3JlYXRlQWdlbnQgJiYgb25Hb1RvTWFpYWtlciA/IChcbiAgICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBvbkdvVG9NYWlha2VyKCl9PlxuICAgICAgICAgICAgICAgIHt0KCdtYXJrZXRwbGFjZS5teUFnZW50c0VtcHR5U3RhdGVCdXR0b24nKX1cbiAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZUJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVSb290PlxuICAgICAgICApfVxuICAgICAgICB7bG9hZGluZ01vcmVBZ2VudHMgPyAoXG4gICAgICAgICAgPFNDTUFMb2FkTW9yZVdyYXBwZXI+XG4gICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgPC9TQ01BTG9hZE1vcmVXcmFwcGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU0NNQUJvZHk+XG4gICAgICB7ZGVsZXRlTW9kYWxDaGF0ID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldEFnZW50VG9EZWxldGUobnVsbCl9XG4gICAgICAgICAgaGFuZGxlcnM9e3tcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb246IGhhbmRsZUNvbmZpcm1EZWxldGUsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjaGF0PXtkZWxldGVNb2RhbENoYXR9XG4gICAgICAgICAgYWN0aW9uPVwiYWdlbnRcIlxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TQ01BTXlBZ2VudHNDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDM0QsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsZ0JBQWdCLFFBQVEsaUNBQWlDO0FBQ2xFLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFFbkQsU0FBU0MsV0FBVyxRQUFRLDJDQUEyQztBQUN2RSxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsbUJBQW1CLFFBQVEseURBQXlEO0FBQzdGLFNBQVNDLFFBQVEsUUFBUSwyQkFBMkI7QUFDcEQsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxpQkFBaUIsUUFBUSxnQkFBZ0I7QUFDbEQsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQ0VDLGNBQWMsRUFDZEMsUUFBUSxFQUNSQyxZQUFZLEVBQ1pDLGNBQWMsRUFDZEMsY0FB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
326
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIk1lbnVEb3RzIiwiU3RhciIsIlRvb2x0aXAiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VVc2VyIiwiZGVsZXRlQWdlbnQiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiU0VDVElPTlMiLCJMb2FkZXIiLCJ1c2VUb2dnbGVGYXZvcml0ZSIsIlNDTUFCb2R5IiwiU0NNQUNhcmRCb2R5IiwiU0NNQUNhcmRCdXR0b24iLCJTQ01BQ2FyZEZvb3RlciIsIlNDTUFDYXJkSGVhZGVyIiwiU0NNQUNhcmRUb3BSb3ciLCJTQ01BQ2FyZEludHJvVGV4dCIsIlNDTUFDYXJkTWVudSIsIlNDTUFDYXJkTWVudUl0ZW0iLCJTQ01BQ2FyZE1lbnVJdGVtcyIsIlNDTUFGYXZvcml0ZUJ1dHRvbiIsIlNDTUFDYXJkVGV4dCIsIlNDTUFDYXJkVGl0bGVFbW9qaSIsIlNDTUFDYXJkVGl0bGVOYW1lIiwiU0NNQUNhcmRzT3V0ZXIiLCJTQ01BQ2FyZHNSb3ciLCJTQ01BRW1wdHlTdGF0ZVJvb3QiLCJTQ01BRW1wdHlTdGF0ZUNvbHVtbiIsIlNDTUFFbXB0eVN0YXRlVGl0bGVCbG9jayIsIlNDTUFFbXB0eVN0YXRlVGl0bGUiLCJTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlIiwiU0NNQUVtcHR5U3RhdGVCdXR0b24iLCJTQ01BS2ViYWJCdXR0b24iLCJTQ01BTG9hZE1vcmVXcmFwcGVyIiwiU0NNQU15QWdlbnRzQ29udGFpbmVyIiwiU0NNQVRpdGxlIiwiU0NNQVRpdGxlSW5uZXIiLCJTQ01BVGl0bGVXcmFwIiwiTUFJQUlzb2xvZ28iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEFJTXlBZ2VudHMiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJvbkJhY2siLCJhZ2VudHMiLCJvbkRlbGV0ZUFnZW50Iiwib25GYXZvcml0ZUFnZW50VXBkYXRlIiwiX3JlZiRoYXNNb3JlQWdlbnRzIiwiaGFzTW9yZUFnZW50cyIsIl9yZWYkbG9hZGluZ01vcmVBZ2VudCIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJjaGF0QUkiLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImN1c3RvbUFnZW50cyIsImZpbHRlciIsImFnZW50IiwidHlwZSIsImlzX2RlbGV0ZWQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJtZW51T3BlbkZvckFnZW50SWQiLCJzZXRNZW51T3BlbkZvckFnZW50SWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFnZW50VG9EZWxldGUiLCJzZXRBZ2VudFRvRGVsZXRlIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudCIsImNyZWF0ZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJjYW5FZGl0IiwiZWRpdCIsImNhbkRlbGV0ZSIsImNhblNob3dNZW51IiwiX3VzZVRvZ2dsZUZhdm9yaXRlIiwidG9nZ2xlRmF2b3JpdGUiLCJoYW5kbGVMb2FkTW9yZSIsImRlbGV0ZU1vZGFsQ2hhdCIsInRpdGxlIiwibmFtZSIsImlkIiwiaGFuZGxlVXNlQWdlbnQiLCJub3JtYWxpemVUZXh0IiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJnZXRDcmVhdGVkQXRMYWJlbCIsImNyZWF0ZWRBdCIsImNyZWF0ZWRfYXQiLCJjcmVhdGVkQXREYXRlIiwiRGF0ZSIsIk51bWJlciIsImlzTmFOIiwiZ2V0VGltZSIsImRpZmZNcyIsIm5vdyIsImRheU1zIiwiZGF5cyIsIk1hdGgiLCJtYXgiLCJmbG9vciIsImhhbmRsZU9wZW5FZGl0QWdlbnQiLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiZ2VuZXJhbCIsImlzT3BlbiIsImhhbmRsZVRvZ2dsZUZhdm9yaXRlIiwiZXZlbnQiLCJpc0Zhdm9yaXRlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJ1cGRhdGVkQWdlbnQiLCJ1bmRlZmluZWQiLCJoYW5kbGVDb25maXJtRGVsZXRlIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImNoYXQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwibnMiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJvblNjcm9sbCIsInNjcm9sbFRvcCIsImNsaWVudEhlaWdodCIsInNjcm9sbEhlaWdodCIsIm5lYXJCb3R0b20iLCJsZW5ndGgiLCIkaGFzQWdlbnRzIiwiY2hpbGRyZW4iLCJtYXAiLCJfYWdlbnQkZW1vamkiLCJvbkNsaWNrIiwiZW1vamkiLCJ0cmltIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsImludHJvZHVjdGlvbiIsImlzX2Zhdm9yaXRlIiwiJGFsd2F5c1Zpc2libGUiLCJmaWxsIiwidmFyaWFudCIsImNsYXNzTmFtZSIsInNpemUiLCJvbkNsb3NlIiwiaGFuZGxlcnMiLCJoYW5kbGVDb25maXJtQWN0aW9uIiwiYWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU15QWdlbnRzL0NoYXRBSU15QWdlbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTWVudURvdHMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9NZW51RG90cydcbmltcG9ydCB7IFN0YXIgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9TdGFyJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBkZWxldGVBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2RlbGV0ZUFnZW50J1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbC9EZWxldGVRdWVzdGlvbk1vZGFsJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgdXNlVG9nZ2xlRmF2b3JpdGUgfSBmcm9tICcuLi8uLi8uLi9ob29rcydcbmltcG9ydCB7XG4gIFNDTUFCb2R5LFxuICBTQ01BQ2FyZEJvZHksXG4gIFNDTUFDYXJkQnV0dG9uLFxuICBTQ01BQ2FyZEZvb3RlcixcbiAgU0NNQUNhcmRIZWFkZXIsXG4gIFNDTUFDYXJkVG9wUm93LFxuICBTQ01BQ2FyZEludHJvVGV4dCxcbiAgU0NNQUNhcmRNZW51LFxuICBTQ01BQ2FyZE1lbnVJdGVtLFxuICBTQ01BQ2FyZE1lbnVJdGVtcyxcbiAgU0NNQUZhdm9yaXRlQnV0dG9uLFxuICBTQ01BQ2FyZFRleHQsXG4gIFNDTUFDYXJkVGl0bGVFbW9qaSxcbiAgU0NNQUNhcmRUaXRsZU5hbWUsXG4gIFNDTUFDYXJkc091dGVyLFxuICBTQ01BQ2FyZHNSb3csXG4gIFNDTUFFbXB0eVN0YXRlUm9vdCxcbiAgU0NNQUVtcHR5U3RhdGVDb2x1bW4sXG4gIFNDTUFFbXB0eVN0YXRlVGl0bGVCbG9jayxcbiAgU0NNQUVtcHR5U3RhdGVUaXRsZSxcbiAgU0NNQUVtcHR5U3RhdGVTdWJ0aXRsZSxcbiAgU0NNQUVtcHR5U3RhdGVCdXR0b24sXG4gIFNDTUFLZWJhYkJ1dHRvbixcbiAgU0NNQUxvYWRNb3JlV3JhcHBlcixcbiAgU0NNQU15QWdlbnRzQ29udGFpbmVyLFxuICBTQ01BVGl0bGUsXG4gIFNDTUFUaXRsZUlubmVyLFxuICBTQ01BVGl0bGVXcmFwLFxufSBmcm9tICcuL0NoYXRBSU15QWdlbnRzLnN0eWxlcydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5cbnR5cGUgQ2hhdEFJTXlBZ2VudHNQcm9wcyA9IHtcbiAgb25CYWNrOiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBvbkRlbGV0ZUFnZW50PzogKGFnZW50SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkZhdm9yaXRlQWdlbnRVcGRhdGU/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGhhc01vcmVBZ2VudHM/OiBib29sZWFuXG4gIGxvYWRpbmdNb3JlQWdlbnRzPzogYm9vbGVhblxuICBvbkxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBvbkdvVG9NYWlha2VyPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSU15QWdlbnRzID0gKHtcbiAgb25CYWNrLFxuICBhZ2VudHMsXG4gIG9uRGVsZXRlQWdlbnQsXG4gIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZSxcbiAgaGFzTW9yZUFnZW50cyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZUFnZW50cyA9IGZhbHNlLFxuICBvbkxvYWRNb3JlQWdlbnRzLFxuICBvbkdvVG9NYWlha2VyLFxufTogQ2hhdEFJTXlBZ2VudHNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUksIFNFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgY3VzdG9tQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiAhYWdlbnQuaXNfZGVsZXRlZClcbiAgY29uc3QgW21lbnVPcGVuRm9yQWdlbnRJZCwgc2V0TWVudU9wZW5Gb3JBZ2VudElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFthZ2VudFRvRGVsZXRlLCBzZXRBZ2VudFRvRGVsZXRlXSA9IHVzZVN0YXRlPEFnZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5EZWxldGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZGVsZXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuU2hvd01lbnUgPSBjYW5FZGl0IHx8IGNhbkRlbGV0ZVxuICBjb25zdCB7IHRvZ2dsZUZhdm9yaXRlIH0gPSB1c2VUb2dnbGVGYXZvcml0ZSgpXG5cbiAgY29uc3QgaGFuZGxlTG9hZE1vcmUgPSAoKSA9PiB7XG4gICAgaWYgKCFvbkxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlQWdlbnRzIHx8IGxvYWRpbmdNb3JlQWdlbnRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgb25Mb2FkTW9yZUFnZW50cygpXG4gIH1cblxuICBjb25zdCBkZWxldGVNb2RhbENoYXQgPSB1c2VNZW1vKFxuICAgICgpID0+IChhZ2VudFRvRGVsZXRlID8geyB0aXRsZTogYWdlbnRUb0RlbGV0ZS5uYW1lLCBpZDogYWdlbnRUb0RlbGV0ZS5pZCB9IDogbnVsbCksXG4gICAgW2FnZW50VG9EZWxldGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVVc2VBZ2VudCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICBvbkJhY2soKVxuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplVGV4dCA9ICh2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlWzBdIHx8ICcnXG4gICAgcmV0dXJuIHZhbHVlIHx8ICcnXG4gIH1cblxuICBjb25zdCBnZXRDcmVhdGVkQXRMYWJlbCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBjb25zdCBjcmVhdGVkQXQgPSAoYWdlbnQgYXMgQWdlbnQgJiB7IGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfSkuY3JlYXRlZF9hdFxuICAgIGlmICghY3JlYXRlZEF0KSByZXR1cm4gJydcblxuICAgIGNvbnN0IGNyZWF0ZWRBdERhdGUgPSBuZXcgRGF0ZShjcmVhdGVkQXQpXG4gICAgaWYgKE51bWJlci5pc05hTihjcmVhdGVkQXREYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJ1xuXG4gICAgY29uc3QgZGlmZk1zID0gRGF0ZS5ub3coKSAtIGNyZWF0ZWRBdERhdGUuZ2V0VGltZSgpXG4gICAgY29uc3QgZGF5TXMgPSAxMDAwICogNjAgKiA2MCAqIDI0XG4gICAgY29uc3QgZGF5cyA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoZGlmZk1zIC8gZGF5TXMpKVxuXG4gICAgaWYgKGRheXMgPT09IDApIHJldHVybiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c1RvZGF5JylcbiAgICBpZiAoZGF5cyA9PT0gMSkgcmV0dXJuIHQoJ21hcmtldHBsYWNlLm15QWdlbnRzT25lRGF5QWdvJylcbiAgICByZXR1cm4gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNEYXlzQWdvJywgeyBkYXlzIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVPcGVuRWRpdEFnZW50ID0gKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYWdlbnQubmFtZSxcbiAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUZhdm9yaXRlID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PiwgYWdlbnQ6IEFnZW50LCBpc0Zhdm9yaXRlOiBib29sZWFuKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgb25GYXZvcml0ZUFnZW50VXBkYXRlPy4odXBkYXRlZEFnZW50KVxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGlzRmF2b3JpdGVcbiAgICApXG4gIH1cblxuICBjb25zdCBoYW5kbGVDb25maXJtRGVsZXRlID0gYXN5bmMgKGNoYXQ6IHsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGRlbGV0ZUFnZW50KGNoYXQuaWQpXG4gICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnY29uZmlybUFnZW50RGVsZXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgICAgb25EZWxldGVBZ2VudD8uKGNoYXQuaWQpXG4gICAgICBzZXRBZ2VudFRvRGVsZXRlKG51bGwpXG4gICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdlcnJvckFnZW50Q3JlYXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKCkgPT4ge1xuICAgICAgaWYgKG1lbnVPcGVuRm9yQWdlbnRJZCkge1xuICAgICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbbWVudU9wZW5Gb3JBZ2VudElkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghaGFzTW9yZUFnZW50cyB8fCBsb2FkaW5nTW9yZUFnZW50cykgcmV0dXJuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgY2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgICAgY29uc3QgbmVhckJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSA0MFxuICAgICAgaWYgKG5lYXJCb3R0b20pIHtcbiAgICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2hhc01vcmVBZ2VudHMsIGxvYWRpbmdNb3JlQWdlbnRzLCBvbkxvYWRNb3JlQWdlbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhhc01vcmVBZ2VudHMgfHwgbG9hZGluZ01vcmVBZ2VudHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAoY29udGFpbmVyLnNjcm9sbEhlaWdodCA8PSBjb250YWluZXIuY2xpZW50SGVpZ2h0ICsgMSkge1xuICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFtjdXN0b21BZ2VudHMubGVuZ3RoLCBoYXNNb3JlQWdlbnRzLCBsb2FkaW5nTW9yZUFnZW50cywgb25Mb2FkTW9yZUFnZW50c10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NNQU15QWdlbnRzQ29udGFpbmVyIGlkPVwibXktYWdlbnRzLXNjcm9sbC1jb250YWluZXJcIiAkaGFzQWdlbnRzPXshIWN1c3RvbUFnZW50cy5sZW5ndGh9PlxuICAgICAgPE1BSUFJc29sb2dvIC8+XG5cbiAgICAgIDxTQ01BQm9keT5cbiAgICAgICAge2N1c3RvbUFnZW50cy5sZW5ndGggPyAoXG4gICAgICAgICAgPFNDTUFUaXRsZVdyYXA+XG4gICAgICAgICAgICA8U0NNQVRpdGxlSW5uZXI+XG4gICAgICAgICAgICAgIDxTQ01BVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzUmVhZHlUaXRsZScpfTwvU0NNQVRpdGxlPlxuICAgICAgICAgICAgPC9TQ01BVGl0bGVJbm5lcj5cbiAgICAgICAgICA8L1NDTUFUaXRsZVdyYXA+XG4gICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgIHtjdXN0b21BZ2VudHMubGVuZ3RoID8gKFxuICAgICAgICAgIDxTQ01BQ2FyZHNPdXRlcj5cbiAgICAgICAgICAgIDxTQ01BQ2FyZHNSb3c+XG4gICAgICAgICAgICAgIHtjdXN0b21BZ2VudHMubWFwKGFnZW50ID0+IChcbiAgICAgICAgICAgICAgICA8U0NNQUNhcmRCdXR0b24ga2V5PXthZ2VudC5pZH0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZVVzZUFnZW50KGFnZW50KX0+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZFRvcFJvdz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZUVtb2ppIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgICAgICAge2FnZW50LmVtb2ppPy50cmltKCkgPyBhZ2VudC5lbW9qaSA6ICdcXHUwMGEwJ31cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkVGl0bGVFbW9qaT5cbiAgICAgICAgICAgICAgICAgICAgICB7Y2FuU2hvd01lbnUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUtlYmFiQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdtYXJrZXRwbGFjZS5jYXJkTWVudUFyaWFMYWJlbCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWVudU9wZW5Gb3JBZ2VudElkKHByZXYgPT4gKHByZXYgPT09IGFnZW50LmlkID8gbnVsbCA6IGFnZW50LmlkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVEb3RzIGNvbG9yPVwiIzk5OVwiIHdpZHRoPXsxNX0gaGVpZ2h0PXsxNX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUtlYmFiQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkVG9wUm93PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUaXRsZU5hbWU+e2FnZW50Lm5hbWV9PC9TQ01BQ2FyZFRpdGxlTmFtZT5cbiAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8U0NNQUNhcmRCb2R5PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRJbnRyb1RleHQ+e25vcm1hbGl6ZVRleHQoYWdlbnQuaW50cm9kdWN0aW9uKX08L1NDTUFDYXJkSW50cm9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkVGV4dD57Z2V0Q3JlYXRlZEF0TGFiZWwoYWdlbnQpIHx8IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRmFsbGJhY2tEYXRlJyl9PC9TQ01BQ2FyZFRleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2FnZW50LmlzX2Zhdm9yaXRlID8gdCgnYWdlbnRzLnJlbW92ZUZhdm9yaXRlJykgOiB0KCdhZ2VudHMuYWRkRmF2b3JpdGUnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUZhdm9yaXRlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthZ2VudC5pc19mYXZvcml0ZSA/IHQoJ2FnZW50cy5yZW1vdmVGYXZvcml0ZScpIDogdCgnYWdlbnRzLmFkZEZhdm9yaXRlJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRhbHdheXNWaXNpYmxlPXshIWFnZW50LmlzX2Zhdm9yaXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiBoYW5kbGVUb2dnbGVGYXZvcml0ZShldmVudCwgYWdlbnQsICEhYWdlbnQuaXNfZmF2b3JpdGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXsyMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXthZ2VudC5pc19mYXZvcml0ZSA/ICcjRkZDNjI0JyA6ICcjYTZhNmE2J31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXthZ2VudC5pc19mYXZvcml0ZSA/ICcjRkZDNjI0JyA6ICdub25lJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YWdlbnQuaXNfZmF2b3JpdGUgPyAnJyA6ICdzdGFyLWZhdm9yaXRlLWljb24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ01BRmF2b3JpdGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEJvZHk+XG4gICAgICAgICAgICAgICAgICB7bWVudU9wZW5Gb3JBZ2VudElkID09PSBhZ2VudC5pZCAmJiBjYW5TaG93TWVudSA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZE1lbnVJdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5EZWxldGUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QWdlbnRUb0RlbGV0ZShhZ2VudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3QoJ2RlbGV0ZUFnZW50JywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAge2NhbkVkaXQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3BlbkVkaXRBZ2VudChhZ2VudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3QoJ2VkaXRBZ2VudCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkTWVudUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkTWVudT5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRCdXR0b24+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9TQ01BQ2FyZHNSb3c+XG4gICAgICAgICAgPC9TQ01BQ2FyZHNPdXRlcj5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVSb290PlxuICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlQ29sdW1uPlxuICAgICAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVUaXRsZUJsb2NrPlxuICAgICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVRpdGxlPnt0KCdtYXJrZXRwbGFjZS5teUFnZW50c0VtcHR5U3RhdGVUaXRsZScpfTwvU0NNQUVtcHR5U3RhdGVUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVTdWJ0aXRsZT5cbiAgICAgICAgICAgICAgICAgIHtjYW5DcmVhdGVBZ2VudFxuICAgICAgICAgICAgICAgICAgICA/IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgOiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybScpfVxuICAgICAgICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVTdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICA8L1NDTUFFbXB0eVN0YXRlQ29sdW1uPlxuICAgICAgICAgICAge2NhbkNyZWF0ZUFnZW50ICYmIG9uR29Ub01haWFrZXIgPyAoXG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gb25Hb1RvTWFpYWtlcigpfT5cbiAgICAgICAgICAgICAgICB7dCgnbWFya2V0cGxhY2UubXlBZ2VudHNFbXB0eVN0YXRlQnV0dG9uJyl9XG4gICAgICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1NDTUFFbXB0eVN0YXRlUm9vdD5cbiAgICAgICAgKX1cbiAgICAgICAge2xvYWRpbmdNb3JlQWdlbnRzID8gKFxuICAgICAgICAgIDxTQ01BTG9hZE1vcmVXcmFwcGVyPlxuICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgIDwvU0NNQUxvYWRNb3JlV3JhcHBlcj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDTUFCb2R5PlxuICAgICAge2RlbGV0ZU1vZGFsQ2hhdCA/IChcbiAgICAgICAgPERlbGV0ZVF1ZXN0aW9uTW9kYWxcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRBZ2VudFRvRGVsZXRlKG51bGwpfVxuICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICBoYW5kbGVDb25maXJtQWN0aW9uOiBoYW5kbGVDb25maXJtRGVsZXRlLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY2hhdD17ZGVsZXRlTW9kYWxDaGF0fVxuICAgICAgICAgIGFjdGlvbj1cImFnZW50XCJcbiAgICAgICAgLz5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU0NNQU15QWdlbnRzQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzNELFNBQVNDLFFBQVEsUUFBUSwyQ0FBMkM7QUFDcEUsU0FBU0MsSUFBSSxRQUFRLHVDQUF1QztBQUM1RCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxPQUFPLFFBQVEsMkJBQTJCO0FBRW5ELFNBQVNDLFdBQVcsUUFBUSwyQ0FBMkM7QUFDdkUsU0FBU0Msa0JBQWtCLFFBQVEsc0RBQXNEO0FBQ3pGLFNBQVNDLG1CQUFtQixRQUFRLHlEQUF5RDtBQUM3RixTQUFTQyxRQUFRLFFBQVEsMkJBQTJCO0FBQ3BELFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFDM0MsU0FBU0MsaUJBQWlCLFFBQVEsZ0JBQWdCO0FBQ2xELFNBQ0VDLFFBQVEsRUFDUkMsWUFBWSxFQUNaQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUNqQkMsWUFBWSxFQUNaQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxZQUFZLEVBQ1pDLGtCQUFrQixFQUNsQkMsaUJBQWlCLEVBQ2pCQyxj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