@agilemotion/oui-react-js 2.0.25 → 2.0.27

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.
Files changed (34) hide show
  1. package/dist/RestService.js +22 -13
  2. package/dist/RestUtils.js +7 -4
  3. package/dist/components/AlertBar.js +2 -2
  4. package/dist/components/Button.js +59 -7
  5. package/dist/components/DataGrid.js +42 -16
  6. package/dist/components/DocumentTemplateDesignerComponent.js +2 -2
  7. package/dist/components/FileThumb.js +69 -7
  8. package/dist/components/WordDocumentViewer.js +2 -2
  9. package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.js +6 -2
  10. package/dist/components/form/BaseField.js +4 -2
  11. package/dist/components/form/Checkbox.js +3 -2
  12. package/dist/components/form/FieldSet.js +2 -2
  13. package/dist/components/form/Form.css +1 -1
  14. package/dist/components/form/Form.js +40 -38
  15. package/dist/components/form/GridField.js +6 -5
  16. package/dist/components/form/RadioGroup.js +5 -5
  17. package/dist/components/form/UploadField.js +68 -4
  18. package/dist/components/layout/Layout.js +9 -1
  19. package/dist/components/layout/View.css +2 -0
  20. package/dist/components/media/ChatViewer.js +103 -0
  21. package/dist/components/media/TrainingRoom.js +5 -5
  22. package/dist/components/media/VCRoomParticipant.js +7 -3
  23. package/dist/components/media/VCRoomWorkspace.js +19 -4
  24. package/dist/components/media/chat/ChatRoom.js +21 -10
  25. package/dist/components/media/chat/PollContainer.js +85 -18
  26. package/dist/js/ProcurementMeetings.js +11 -4
  27. package/dist/view/PortalDashboard.js +6 -5
  28. package/dist/view/security/ForgotPassword.js +4 -1
  29. package/dist/view/security/ForgotPasswordBasic.js +4 -1
  30. package/dist/view/security/RegisterInteractionPortal.js +5 -1
  31. package/dist/view/security/ResetPassword.js +4 -1
  32. package/dist/view/security/ResetPasswordBasic.js +4 -1
  33. package/dist/view/security/Security.js +16 -3
  34. package/package.json +1 -1
@@ -223,13 +223,14 @@ const PortalDashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.def
223
223
  return /*#__PURE__*/_react.default.createElement("div", {
224
224
  ref: ref,
225
225
  style: {
226
- padding: '16px',
227
- boxSizing: 'border-box'
226
+ padding: '0 4px 0 4px',
227
+ boxSizing: 'border-box',
228
+ height: '100%'
228
229
  }
229
230
  }, /*#__PURE__*/_react.default.createElement("p", {
230
231
  style: {
231
232
  fontSize: '24px',
232
- margin: '0 0 12px 4px',
233
+ margin: '12px 0 12px 4px',
233
234
  color: '#1a3c5e'
234
235
  }
235
236
  }, greeting), /*#__PURE__*/_react.default.createElement("div", {
@@ -237,7 +238,7 @@ const PortalDashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.def
237
238
  display: 'flex',
238
239
  flexDirection: 'column',
239
240
  gap: '10px',
240
- height: 'calc(100dvh - var(--header-h, 64px) - 100px)'
241
+ height: 'calc(100% - 64px)'
241
242
  }
242
243
  }, /*#__PURE__*/_react.default.createElement("div", {
243
244
  style: {
@@ -301,4 +302,4 @@ const PortalDashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.def
301
302
  })))));
302
303
  }));
303
304
  var _default = exports.default = PortalDashboard;
304
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9QYXBlciIsIl9SZXN0VXRpbHMiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX1ZpZXciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwibG9jYXRpb24iLCJ3aW5kb3ciLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicmVzb2x2ZUZpcnN0TmFtZSIsImRldGFpbHMiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJnZXRVc2VyRGV0YWlscyIsIlV0aWxzIiwiaXNOdWxsIiwibmFtZSIsImNvbmNhdCIsInRyaW0iLCJzcGxpdCIsInVzZXJuYW1lIiwiaGFuZGxlIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImNvbnNvbGUiLCJlcnJvciIsInVzZXJIYXNSb2xlIiwicm9sZSIsInByb2ZpbGUiLCJKU09OIiwicGFyc2UiLCJvcmdzIiwib3JnYW5pc2F0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInNvbWUiLCJvcmciLCJyb2xlcyIsImluY2x1ZGVzIiwiRW1iZWRkZWRWaWV3IiwicHJvcHMiLCJlbGVtZW50Iiwic2V0RWxlbWVudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJmYWlsZWQiLCJzZXRGYWlsZWQiLCJ2aWV3SWRSZWYiLCJ1c2VSZWYiLCJjdXJyZW50IiwiYWxsb2NhdGVWaWV3SWQiLCJ1c2VFZmZlY3QiLCJjYW5jZWxsZWQiLCJiYXNlIiwiZ2V0Q29udGV4dFJvb3QiLCJnZXRVSUNvbmZpZ1BhdGgiLCJkZXNjcmlwdG9yVXJsIiwiZGVzY3JpcHRvclBhdGgiLCJzZW5kUmVxdWVzdCIsImRlc2NyaXB0b3IiLCJjb250ZW50UGF0aCIsInZpZXdVcmwiLCJkYXRhIiwiY29uZmlnIiwiaWQiLCJkYXNoYm9hcmRWaWV3IiwicGFyZW50IiwicG9wVXAiLCJhcGkiLCJsb2FkZWQiLCJhZGREYXNoYm9hcmRWaWV3IiwiY3JlYXRlRWxlbWVudCIsIlZpZXciLCJrZXkiLCJwYXJhbWV0ZXJzIiwic3R5bGUiLCJwYWRkaW5nIiwiY29sb3IiLCJmb250U2l6ZSIsIkRhc2hib2FyZFBhbmVsIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJ3aWR0aCIsImhlaWdodCIsIm1pbkhlaWdodCIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiYm94U2l6aW5nIiwiZm9udFdlaWdodCIsIm1hcmdpbkJvdHRvbSIsInRpdGxlIiwiZmxleCIsImNoaWxkcmVuIiwiUG9ydGFsRGFzaGJvYXJkIiwibWVtbyIsImZvcndhcmRSZWYiLCJyZWYiLCJmaXJzdE5hbWUiLCJ1c2VNZW1vIiwiZ3JlZXRpbmciLCJpc1ZlbmRvciIsInZpZXdTZXEiLCJ1c2VDYWxsYmFjayIsImNsZWFyRGFzaGJvYXJkVmlld3MiLCJtYXJnaW4iLCJnYXAiLCJtaW5XaWR0aCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdmlldy9Qb3J0YWxEYXNoYm9hcmQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vVXRpbHMnO1xuaW1wb3J0IFBhcGVyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvUGFwZXInO1xuaW1wb3J0IHtzZW5kUmVxdWVzdH0gZnJvbSAnLi4vUmVzdFV0aWxzJztcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSAnLi4vQXBwbGljYXRpb25NYW5hZ2VyJztcbmltcG9ydCB7Vmlld30gZnJvbSAnLi4vY29tcG9uZW50cy9sYXlvdXQvVmlldyc7XG5cbmNvbnN0IGxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgJy8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcblxuLyoqXG4gKiBGcmllbmRseSBmaXJzdCBuYW1lIGZvciB0aGUgd2VsY29tZSBiYW5uZXIuIFRoZSB1c2VyJ3MgZmlyc3QgbmFtZShzKSBsaXZlIG9uXG4gKiB0aGUgYG5hbWVgIGZpZWxkIChzdXJuYW1lIGlzIHRoZSBzZXBhcmF0ZSBgc3VybmFtZWAgZmllbGQ7IGBwcm9maWxlYCBpcyBvcmcvXG4gKiByb2xlIEpTT04sIG5vdCBuYW1lIGRhdGEpLiBGYWxscyBiYWNrIHRvIHRoZSB1c2VybmFtZSBsb2NhbC1wYXJ0LCBlbHNlIG51bGwuXG4gKi9cbmNvbnN0IHJlc29sdmVGaXJzdE5hbWUgPSAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGV0YWlscyA9IGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVc2VyRGV0YWlscygpO1xuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGRldGFpbHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hbWUgPSBkZXRhaWxzLm5hbWU7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKG5hbWUpICYmIGAke25hbWV9YC50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX1gLnRyaW0oKS5zcGxpdCgvXFxzKy8pWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXNlcm5hbWUgPSBkZXRhaWxzLnVzZXJuYW1lO1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbCh1c2VybmFtZSkgJiYgYCR7dXNlcm5hbWV9YC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZSA9IGAke3VzZXJuYW1lfWAuc3BsaXQoJ0AnKVswXTtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBoYW5kbGUuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59O1xuXG4vKipcbiAqIFdoZXRoZXIgdGhlIHNpZ25lZC1pbiB1c2VyIGhvbGRzIHRoZSBnaXZlbiByb2xlIGluIGFueSBvZiB0aGVpciBvcmdhbmlzYXRpb25zLlxuICogUm9sZXMgbGl2ZSBpbiB0aGUgc3RyaW5naWZpZWQgYHByb2ZpbGVgIEpTT046IHsgb3JnYW5pc2F0aW9uczogW3sgcm9sZXMgfV0gfS5cbiAqIE1WUDogdGhlIGRhc2hib2FyZCBjYXJkIHZpc2liaWxpdHkgcnVsZSBpcyBoYXJkY29kZWQgYWdhaW5zdCB0aGlzOyBsYXRlciB0aGVcbiAqIGRlZmF1bHQgZGFzaGJvYXJkIGxheW91dCAoYW5kIHdoaWNoIGNhcmRzIHRvIHNob3cpIHdpbGwgY29tZSBmcm9tIGFuIEFQSS5cbiAqL1xuY29uc3QgdXNlckhhc1JvbGUgPSAocm9sZSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0VXNlckRldGFpbHMoKTtcbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChkZXRhaWxzKSB8fCBVdGlscy5pc051bGwoZGV0YWlscy5wcm9maWxlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByb2ZpbGUgPSBkZXRhaWxzLnByb2ZpbGU7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvZmlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHByb2ZpbGUgPSBKU09OLnBhcnNlKHByb2ZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JncyA9IHByb2ZpbGUgJiYgcHJvZmlsZS5vcmdhbmlzYXRpb25zO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkob3JncykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvcmdzLnNvbWUoKG9yZykgPT4gQXJyYXkuaXNBcnJheShvcmcucm9sZXMpICYmIG9yZy5yb2xlcy5pbmNsdWRlcyhyb2xlKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcblxuLyoqXG4gKiBSZXNvbHZlcyBhIGRhc2hib2FyZCBkZXNjcmlwdG9yICh0eXBlOiBcImRhc2hib2FyZFwiKSB0byBpdHMgY29udGVudCB2aWV3IGFuZFxuICogcmVuZGVycyBpdCBpbmxpbmUsIG1pcnJvcmluZyB0aGUgVklFVy1kaXNwbGF5IGJyYW5jaCBvZiBEYXNoYm9hcmQuanN4J3NcbiAqIERhc2hib2FyZENhcmQuIFRoZSBkZXNjcmlwdG9yJ3MgY29udGVudFBhdGggcG9pbnRzIGF0IHRoZSB2aWV3IHRvIGVtYmVkLlxuICovXG5jb25zdCBFbWJlZGRlZFZpZXcgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbZWxlbWVudCwgc2V0RWxlbWVudF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbZmFpbGVkLCBzZXRGYWlsZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIC8vIE9uZSBzdGFibGUsIHVuaXF1ZSB2aWV3IGlkIGZvciB0aGlzIGNhcmQncyBsaWZldGltZSwgZHJhd24gZnJvbSB0aGVcbiAgICAvLyBkYXNoYm9hcmQtbGlmZWN5Y2xlIGNvdW50ZXIgc28gaXQgbmV2ZXIgY29sbGlkZXMgd2l0aCBhIHNpYmxpbmcgY2FyZC5cbiAgICBjb25zdCB2aWV3SWRSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgaWYgKHZpZXdJZFJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIHZpZXdJZFJlZi5jdXJyZW50ID0gcHJvcHMuYWxsb2NhdGVWaWV3SWQoKTtcbiAgICB9XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGJhc2UgPSBsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldFVJQ29uZmlnUGF0aCgpO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yVXJsID0gYmFzZSArICcvZGFzaGJvYXJkL2dldD92ZXJzaW9uPTEuMCZpZD0nICsgcHJvcHMuZGVzY3JpcHRvclBhdGg7XG5cbiAgICAgICAgc2VuZFJlcXVlc3QoZGVzY3JpcHRvclVybCwgKGRlc2NyaXB0b3IpID0+IHtcbiAgICAgICAgICAgIGlmIChjYW5jZWxsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGlmIChVdGlscy5pc051bGwoZGVzY3JpcHRvcikgfHwgVXRpbHMuaXNOdWxsKGRlc2NyaXB0b3IuY29udGVudFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgc2V0RmFpbGVkKHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgdmlld1VybCA9IGJhc2UgKyAnL3ZpZXcvZ2V0P3ZlcnNpb249MS4wJmlkPScgKyBkZXNjcmlwdG9yLmNvbnRlbnRQYXRoO1xuICAgICAgICAgICAgc2VuZFJlcXVlc3Qodmlld1VybCwgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm47XG4gICAgICAgICAgICAgICAgLy8gQ2xvbmUgc28gd2UgbmV2ZXIgbXV0YXRlIGEgKHBvc3NpYmx5IGNhY2hlZCkgc2hhcmVkIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgIC8vIGFuZCBzdGFtcCBhIHVuaXF1ZS1hbmQtc3RhYmxlIGlkIGZvciB0aGlzIGNhcmQgaW5zdGFuY2UuXG4gICAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gey4uLmRhdGEsIGlkOiBkYXRhLmlkICsgJ18nICsgdmlld0lkUmVmLmN1cnJlbnQsIHdpbmRvdzogZmFsc2V9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhc2hib2FyZFZpZXcgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwb3BVcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBpOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiAoKSA9PiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5hZGREYXNoYm9hcmRWaWV3KGRhc2hib2FyZFZpZXcsIGRlc2NyaXB0b3IuY29udGVudFBhdGgpO1xuICAgICAgICAgICAgICAgIHNldEVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgIDxWaWV3IGtleT17Y29uZmlnLmlkfSBjb25maWc9e2NvbmZpZ30gcGFyYW1ldGVycz17W119IGhhbmRsZT17ZGFzaGJvYXJkVmlldy5oYW5kbGV9Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICBzZXRGYWlsZWQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGlmIChjYW5jZWxsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICBzZXRGYWlsZWQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICB9O1xuICAgIH0sIFtwcm9wcy5kZXNjcmlwdG9yUGF0aF0pO1xuXG4gICAgaWYgKGZhaWxlZCkge1xuICAgICAgICByZXR1cm4gPGRpdiBzdHlsZT17e3BhZGRpbmc6ICcxNnB4JywgY29sb3I6ICcjOWFhM2IxJywgZm9udFNpemU6ICcxM3B4J319PlVuYWJsZSB0byBsb2FkLjwvZGl2PjtcbiAgICB9XG5cbiAgICBpZiAoVXRpbHMuaXNOdWxsKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiA8ZGl2IHN0eWxlPXt7cGFkZGluZzogJzE2cHgnLCBjb2xvcjogJyM5YWEzYjEnLCBmb250U2l6ZTogJzEzcHgnfX0+TG9hZGluZ+KApjwvZGl2PjtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbn07XG5cbi8qKlxuICogUGFuZWwgd3JhcHBlciBnaXZpbmcgZWFjaCBlbWJlZGRlZCBjYXJkIGEgdGl0bGVkLCBzY3JvbGxhYmxlIGZyYW1lLiBGaWxsc1xuICogaXRzIHBhcmVudCBzbG90OyBjYWxsZXJzIHBhc3MgYHN0eWxlYCB0byBjb250cm9sIGl0cyBmbGV4IHNoYXJlL2hlaWdodFxuICogd2l0aGluIHRoZSBncmlkIGNvbHVtbnMuXG4gKi9cbmNvbnN0IERhc2hib2FyZFBhbmVsID0gKHByb3BzKSA9PiAoXG4gICAgPFBhcGVyIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICBtaW5IZWlnaHQ6IDAsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICAgICAgYm94U2hhZG93OiAnMCAxcHggM3B4IHJnYmEoMjAsIDM1LCA2MCwgMC4wOCknLFxuICAgICAgICBwYWRkaW5nOiAnMTZweCcsXG4gICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAuLi4ocHJvcHMuc3R5bGUgfHwge30pXG4gICAgfX0+XG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICBjb2xvcjogJyMxYTNjNWUnLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCdcbiAgICAgICAgfX0+XG4gICAgICAgICAgICB7cHJvcHMudGl0bGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiAwLFxuICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJ1xuICAgICAgICB9fT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9QYXBlcj5cbik7XG5cbmNvbnN0IFBvcnRhbERhc2hib2FyZCA9IFJlYWN0Lm1lbW8oUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IGFwaSA9IHtcbiAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgcmV0dXJuICdwb3J0YWwtZGFzaGJvYXJkJztcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGUgPSB7XG4gICAgICAgIGFwaTogYXBpXG4gICAgfTtcblxuICAgIGNvbnN0IGZpcnN0TmFtZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gcmVzb2x2ZUZpcnN0TmFtZSgpLCBbXSk7XG4gICAgY29uc3QgZ3JlZXRpbmcgPSBVdGlscy5pc051bGwoZmlyc3ROYW1lKSA/ICdXZWxjb21lIGJhY2snIDogYEhpICR7Zmlyc3ROYW1lfSwgd2VsY29tZSBiYWNrYDtcblxuICAgIC8vIE1WUCBydWxlIChoYXJkY29kZWQpOiB0aGUgcHJvY3VyZW1lbnQgcm93IChQdWJsaWNhdGlvbnMgLyBSZWdpc3RyYXRpb25zIC9cbiAgICAvLyBCaWRzKSBvbmx5IHNob3dzIGZvciB1c2VycyB3aXRoIHRoZSBWRU5ET1Igcm9sZS4gVGhpcyB3aWxsIGJlIGRyaXZlbiBieVxuICAgIC8vIHRoZSBkZWZhdWx0IGRhc2hib2FyZCBzZXR0aW5ncyBBUEkgbGF0ZXIuXG4gICAgY29uc3QgaXNWZW5kb3IgPSBSZWFjdC51c2VNZW1vKCgpID0+IHVzZXJIYXNSb2xlKCdWRU5ET1InKSwgW10pO1xuXG4gICAgLy8gVmlldy1pZCBjb3VudGVyIHNjb3BlZCB0byB0aGlzIGRhc2hib2FyZCdzIGxpZmVjeWNsZTogaW5pdGlhdGVkIG9uIGxvYWQsXG4gICAgLy8gaW5jcmVtZW50cyBwZXIgY2FyZCBhcyBuZWVkZWQuIFJlc3RhcnRpbmcgb24gZWFjaCBsb2FkIGlzIHNhZmUgYmVjYXVzZSB3ZVxuICAgIC8vIHVubG9hZCBldmVyeSBjYXJkIHZpZXcgb24gZGVzdHJveSAoYmVsb3cpLCBzbyBubyBzdGFsZSBpZHMvc3Vic2NyaXB0aW9uc1xuICAgIC8vIHN1cnZpdmUgdG8gY29sbGlkZSB3aXRoIHRoZSBuZXh0IGxvYWQuXG4gICAgY29uc3Qgdmlld1NlcSA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICBjb25zdCBhbGxvY2F0ZVZpZXdJZCA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+ICsrdmlld1NlcS5jdXJyZW50LCBbXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgLy8gVW5sb2FkIGFsbCBkYXNoYm9hcmQgY2FyZCB2aWV3cyBvbiBkZXN0cm95LiBXaXRob3V0IHRoaXMgdGhlIGV2ZW50XG4gICAgICAgICAgICAvLyBidXMga2VlcHMgdGhlaXIgc3Vic2NyaXB0aW9ucyBhbmQgd291bGQgcmVzcG9uZCB0byBldmVudHMgZm9yXG4gICAgICAgICAgICAvLyB0aGVzZSAobm93IHVubW91bnRlZCkgdmlld3MgYmVoaW5kIHRoZSBzY2VuZXMuXG4gICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xlYXJEYXNoYm9hcmRWaWV3cygpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgcmVmPXtyZWZ9IHN0eWxlPXt7cGFkZGluZzogJzE2cHgnLCBib3hTaXppbmc6ICdib3JkZXItYm94J319PlxuICAgICAgICAgICAgPHAgc3R5bGU9e3tmb250U2l6ZTogJzI0cHgnLCBtYXJnaW46ICcwIDAgMTJweCA0cHgnLCBjb2xvcjogJyMxYTNjNWUnfX0+e2dyZWV0aW5nfTwvcD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgZ2FwOiAnMTBweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDBkdmggLSB2YXIoLS1oZWFkZXItaCwgNjRweCkgLSAxMDBweCknXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICB7LyogUm93IDEg4oCUIE15IFRhc2tzIC8gQ2FsZW5kYXIgKDIgY29sdW1ucykgKi99XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMTBweCdcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnTXkgVGFza3MnfSBzdHlsZT17e2ZsZXg6IDEsIG1pbldpZHRoOiAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LXdvcmstaXRlbXMuanNvbid9IGFsbG9jYXRlVmlld0lkPXthbGxvY2F0ZVZpZXdJZH0vPlxuICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkUGFuZWwgdGl0bGU9eydDYWxlbmRhcid9IHN0eWxlPXt7ZmxleDogMSwgbWluV2lkdGg6IDB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZGRlZFZpZXcgZGVzY3JpcHRvclBhdGg9eycvcG9ydGFsL2Rhc2hib2FyZHMvbXktY2FsZW5kYXIuanNvbid9IGFsbG9jYXRlVmlld0lkPXthbGxvY2F0ZVZpZXdJZH0vPlxuICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHsvKiBSb3cgMiDigJQgUHVibGljYXRpb25zIC8gTXkgUmVnaXN0cmF0aW9ucyAvIE15IEJpZHMgKDMgY29sdW1ucykuXG4gICAgICAgICAgICAgICAgICAgIE9ubHkgcmVuZGVyZWQgZm9yIFZFTkRPUiB1c2VycyAoTVZQIGhhcmRjb2RlZCBydWxlKS4gKi99XG4gICAgICAgICAgICAgICAge2lzVmVuZG9yICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJzEwcHgnXG4gICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnUHVibGljYXRpb25zJ30gc3R5bGU9e3tmbGV4OiAxLCBtaW5XaWR0aDogMH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZGRlZFZpZXcgZGVzY3JpcHRvclBhdGg9eycvcG9ydGFsL2Rhc2hib2FyZHMvcHVibGljYXRpb25zLmpzb24nfSBhbGxvY2F0ZVZpZXdJZD17YWxsb2NhdGVWaWV3SWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRGFzaGJvYXJkUGFuZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkUGFuZWwgdGl0bGU9eydNeSBSZWdpc3RyYXRpb25zJ30gc3R5bGU9e3tmbGV4OiAxLCBtaW5XaWR0aDogMH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZGRlZFZpZXcgZGVzY3JpcHRvclBhdGg9eycvcG9ydGFsL2Rhc2hib2FyZHMvbXktcmVnaXN0cmF0aW9ucy5qc29uJ30gYWxsb2NhdGVWaWV3SWQ9e2FsbG9jYXRlVmlld0lkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnTXkgQmlkcyd9IHN0eWxlPXt7ZmxleDogMSwgbWluV2lkdGg6IDB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LWJpZHMuanNvbid9IGFsbG9jYXRlVmlld0lkPXthbGxvY2F0ZVZpZXdJZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EYXNoYm9hcmRQYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxEYXNoYm9hcmQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG1CQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFBK0MsU0FBQUQsdUJBQUFPLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBRyxRQUFBSCxDQUFBLEVBQUFJLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxPQUFBTSxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBUixDQUFBLEdBQUFJLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFYLENBQUEsRUFBQUksQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFB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
305
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9QYXBlciIsIl9SZXN0VXRpbHMiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX1ZpZXciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwibG9jYXRpb24iLCJ3aW5kb3ciLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicmVzb2x2ZUZpcnN0TmFtZSIsImRldGFpbHMiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJnZXRVc2VyRGV0YWlscyIsIlV0aWxzIiwiaXNOdWxsIiwibmFtZSIsImNvbmNhdCIsInRyaW0iLCJzcGxpdCIsInVzZXJuYW1lIiwiaGFuZGxlIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImNvbnNvbGUiLCJlcnJvciIsInVzZXJIYXNSb2xlIiwicm9sZSIsInByb2ZpbGUiLCJKU09OIiwicGFyc2UiLCJvcmdzIiwib3JnYW5pc2F0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInNvbWUiLCJvcmciLCJyb2xlcyIsImluY2x1ZGVzIiwiRW1iZWRkZWRWaWV3IiwicHJvcHMiLCJlbGVtZW50Iiwic2V0RWxlbWVudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJmYWlsZWQiLCJzZXRGYWlsZWQiLCJ2aWV3SWRSZWYiLCJ1c2VSZWYiLCJjdXJyZW50IiwiYWxsb2NhdGVWaWV3SWQiLCJ1c2VFZmZlY3QiLCJjYW5jZWxsZWQiLCJiYXNlIiwiZ2V0Q29udGV4dFJvb3QiLCJnZXRVSUNvbmZpZ1BhdGgiLCJkZXNjcmlwdG9yVXJsIiwiZGVzY3JpcHRvclBhdGgiLCJzZW5kUmVxdWVzdCIsImRlc2NyaXB0b3IiLCJjb250ZW50UGF0aCIsInZpZXdVcmwiLCJkYXRhIiwiY29uZmlnIiwiaWQiLCJkYXNoYm9hcmRWaWV3IiwicGFyZW50IiwicG9wVXAiLCJhcGkiLCJsb2FkZWQiLCJhZGREYXNoYm9hcmRWaWV3IiwiY3JlYXRlRWxlbWVudCIsIlZpZXciLCJrZXkiLCJwYXJhbWV0ZXJzIiwic3R5bGUiLCJwYWRkaW5nIiwiY29sb3IiLCJmb250U2l6ZSIsIkRhc2hib2FyZFBhbmVsIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJ3aWR0aCIsImhlaWdodCIsIm1pbkhlaWdodCIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiYm94U2l6aW5nIiwiZm9udFdlaWdodCIsIm1hcmdpbkJvdHRvbSIsInRpdGxlIiwiZmxleCIsImNoaWxkcmVuIiwiUG9ydGFsRGFzaGJvYXJkIiwibWVtbyIsImZvcndhcmRSZWYiLCJyZWYiLCJmaXJzdE5hbWUiLCJ1c2VNZW1vIiwiZ3JlZXRpbmciLCJpc1ZlbmRvciIsInZpZXdTZXEiLCJ1c2VDYWxsYmFjayIsImNsZWFyRGFzaGJvYXJkVmlld3MiLCJtYXJnaW4iLCJnYXAiLCJtaW5XaWR0aCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdmlldy9Qb3J0YWxEYXNoYm9hcmQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vVXRpbHMnO1xuaW1wb3J0IFBhcGVyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvUGFwZXInO1xuaW1wb3J0IHtzZW5kUmVxdWVzdH0gZnJvbSAnLi4vUmVzdFV0aWxzJztcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSAnLi4vQXBwbGljYXRpb25NYW5hZ2VyJztcbmltcG9ydCB7Vmlld30gZnJvbSAnLi4vY29tcG9uZW50cy9sYXlvdXQvVmlldyc7XG5cbmNvbnN0IGxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgJy8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcblxuLyoqXG4gKiBGcmllbmRseSBmaXJzdCBuYW1lIGZvciB0aGUgd2VsY29tZSBiYW5uZXIuIFRoZSB1c2VyJ3MgZmlyc3QgbmFtZShzKSBsaXZlIG9uXG4gKiB0aGUgYG5hbWVgIGZpZWxkIChzdXJuYW1lIGlzIHRoZSBzZXBhcmF0ZSBgc3VybmFtZWAgZmllbGQ7IGBwcm9maWxlYCBpcyBvcmcvXG4gKiByb2xlIEpTT04sIG5vdCBuYW1lIGRhdGEpLiBGYWxscyBiYWNrIHRvIHRoZSB1c2VybmFtZSBsb2NhbC1wYXJ0LCBlbHNlIG51bGwuXG4gKi9cbmNvbnN0IHJlc29sdmVGaXJzdE5hbWUgPSAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGV0YWlscyA9IGFwcGxpY2F0aW9uTWFuYWdlci5nZXRVc2VyRGV0YWlscygpO1xuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGRldGFpbHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hbWUgPSBkZXRhaWxzLm5hbWU7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKG5hbWUpICYmIGAke25hbWV9YC50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX1gLnRyaW0oKS5zcGxpdCgvXFxzKy8pWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXNlcm5hbWUgPSBkZXRhaWxzLnVzZXJuYW1lO1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbCh1c2VybmFtZSkgJiYgYCR7dXNlcm5hbWV9YC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZSA9IGAke3VzZXJuYW1lfWAuc3BsaXQoJ0AnKVswXTtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBoYW5kbGUuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59O1xuXG4vKipcbiAqIFdoZXRoZXIgdGhlIHNpZ25lZC1pbiB1c2VyIGhvbGRzIHRoZSBnaXZlbiByb2xlIGluIGFueSBvZiB0aGVpciBvcmdhbmlzYXRpb25zLlxuICogUm9sZXMgbGl2ZSBpbiB0aGUgc3RyaW5naWZpZWQgYHByb2ZpbGVgIEpTT046IHsgb3JnYW5pc2F0aW9uczogW3sgcm9sZXMgfV0gfS5cbiAqIE1WUDogdGhlIGRhc2hib2FyZCBjYXJkIHZpc2liaWxpdHkgcnVsZSBpcyBoYXJkY29kZWQgYWdhaW5zdCB0aGlzOyBsYXRlciB0aGVcbiAqIGRlZmF1bHQgZGFzaGJvYXJkIGxheW91dCAoYW5kIHdoaWNoIGNhcmRzIHRvIHNob3cpIHdpbGwgY29tZSBmcm9tIGFuIEFQSS5cbiAqL1xuY29uc3QgdXNlckhhc1JvbGUgPSAocm9sZSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0VXNlckRldGFpbHMoKTtcbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChkZXRhaWxzKSB8fCBVdGlscy5pc051bGwoZGV0YWlscy5wcm9maWxlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByb2ZpbGUgPSBkZXRhaWxzLnByb2ZpbGU7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvZmlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHByb2ZpbGUgPSBKU09OLnBhcnNlKHByb2ZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JncyA9IHByb2ZpbGUgJiYgcHJvZmlsZS5vcmdhbmlzYXRpb25zO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkob3JncykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvcmdzLnNvbWUoKG9yZykgPT4gQXJyYXkuaXNBcnJheShvcmcucm9sZXMpICYmIG9yZy5yb2xlcy5pbmNsdWRlcyhyb2xlKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcblxuLyoqXG4gKiBSZXNvbHZlcyBhIGRhc2hib2FyZCBkZXNjcmlwdG9yICh0eXBlOiBcImRhc2hib2FyZFwiKSB0byBpdHMgY29udGVudCB2aWV3IGFuZFxuICogcmVuZGVycyBpdCBpbmxpbmUsIG1pcnJvcmluZyB0aGUgVklFVy1kaXNwbGF5IGJyYW5jaCBvZiBEYXNoYm9hcmQuanN4J3NcbiAqIERhc2hib2FyZENhcmQuIFRoZSBkZXNjcmlwdG9yJ3MgY29udGVudFBhdGggcG9pbnRzIGF0IHRoZSB2aWV3IHRvIGVtYmVkLlxuICovXG5jb25zdCBFbWJlZGRlZFZpZXcgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbZWxlbWVudCwgc2V0RWxlbWVudF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbZmFpbGVkLCBzZXRGYWlsZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIC8vIE9uZSBzdGFibGUsIHVuaXF1ZSB2aWV3IGlkIGZvciB0aGlzIGNhcmQncyBsaWZldGltZSwgZHJhd24gZnJvbSB0aGVcbiAgICAvLyBkYXNoYm9hcmQtbGlmZWN5Y2xlIGNvdW50ZXIgc28gaXQgbmV2ZXIgY29sbGlkZXMgd2l0aCBhIHNpYmxpbmcgY2FyZC5cbiAgICBjb25zdCB2aWV3SWRSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgaWYgKHZpZXdJZFJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIHZpZXdJZFJlZi5jdXJyZW50ID0gcHJvcHMuYWxsb2NhdGVWaWV3SWQoKTtcbiAgICB9XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGJhc2UgPSBsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldFVJQ29uZmlnUGF0aCgpO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yVXJsID0gYmFzZSArICcvZGFzaGJvYXJkL2dldD92ZXJzaW9uPTEuMCZpZD0nICsgcHJvcHMuZGVzY3JpcHRvclBhdGg7XG5cbiAgICAgICAgc2VuZFJlcXVlc3QoZGVzY3JpcHRvclVybCwgKGRlc2NyaXB0b3IpID0+IHtcbiAgICAgICAgICAgIGlmIChjYW5jZWxsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGlmIChVdGlscy5pc051bGwoZGVzY3JpcHRvcikgfHwgVXRpbHMuaXNOdWxsKGRlc2NyaXB0b3IuY29udGVudFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgc2V0RmFpbGVkKHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgdmlld1VybCA9IGJhc2UgKyAnL3ZpZXcvZ2V0P3ZlcnNpb249MS4wJmlkPScgKyBkZXNjcmlwdG9yLmNvbnRlbnRQYXRoO1xuICAgICAgICAgICAgc2VuZFJlcXVlc3Qodmlld1VybCwgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm47XG4gICAgICAgICAgICAgICAgLy8gQ2xvbmUgc28gd2UgbmV2ZXIgbXV0YXRlIGEgKHBvc3NpYmx5IGNhY2hlZCkgc2hhcmVkIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgIC8vIGFuZCBzdGFtcCBhIHVuaXF1ZS1hbmQtc3RhYmxlIGlkIGZvciB0aGlzIGNhcmQgaW5zdGFuY2UuXG4gICAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gey4uLmRhdGEsIGlkOiBkYXRhLmlkICsgJ18nICsgdmlld0lkUmVmLmN1cnJlbnQsIHdpbmRvdzogZmFsc2V9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhc2hib2FyZFZpZXcgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwb3BVcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBpOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiAoKSA9PiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5hZGREYXNoYm9hcmRWaWV3KGRhc2hib2FyZFZpZXcsIGRlc2NyaXB0b3IuY29udGVudFBhdGgpO1xuICAgICAgICAgICAgICAgIHNldEVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgIDxWaWV3IGtleT17Y29uZmlnLmlkfSBjb25maWc9e2NvbmZpZ30gcGFyYW1ldGVycz17W119IGhhbmRsZT17ZGFzaGJvYXJkVmlldy5oYW5kbGV9Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICBzZXRGYWlsZWQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgIGlmIChjYW5jZWxsZWQpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICBzZXRGYWlsZWQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICB9O1xuICAgIH0sIFtwcm9wcy5kZXNjcmlwdG9yUGF0aF0pO1xuXG4gICAgaWYgKGZhaWxlZCkge1xuICAgICAgICByZXR1cm4gPGRpdiBzdHlsZT17e3BhZGRpbmc6ICcxNnB4JywgY29sb3I6ICcjOWFhM2IxJywgZm9udFNpemU6ICcxM3B4J319PlVuYWJsZSB0byBsb2FkLjwvZGl2PjtcbiAgICB9XG5cbiAgICBpZiAoVXRpbHMuaXNOdWxsKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiA8ZGl2IHN0eWxlPXt7cGFkZGluZzogJzE2cHgnLCBjb2xvcjogJyM5YWEzYjEnLCBmb250U2l6ZTogJzEzcHgnfX0+TG9hZGluZ+KApjwvZGl2PjtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbn07XG5cbi8qKlxuICogUGFuZWwgd3JhcHBlciBnaXZpbmcgZWFjaCBlbWJlZGRlZCBjYXJkIGEgdGl0bGVkLCBzY3JvbGxhYmxlIGZyYW1lLiBGaWxsc1xuICogaXRzIHBhcmVudCBzbG90OyBjYWxsZXJzIHBhc3MgYHN0eWxlYCB0byBjb250cm9sIGl0cyBmbGV4IHNoYXJlL2hlaWdodFxuICogd2l0aGluIHRoZSBncmlkIGNvbHVtbnMuXG4gKi9cbmNvbnN0IERhc2hib2FyZFBhbmVsID0gKHByb3BzKSA9PiAoXG4gICAgPFBhcGVyIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICBtaW5IZWlnaHQ6IDAsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICAgICAgYm94U2hhZG93OiAnMCAxcHggM3B4IHJnYmEoMjAsIDM1LCA2MCwgMC4wOCknLFxuICAgICAgICBwYWRkaW5nOiAnMTZweCcsXG4gICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAuLi4ocHJvcHMuc3R5bGUgfHwge30pXG4gICAgfX0+XG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICBjb2xvcjogJyMxYTNjNWUnLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCdcbiAgICAgICAgfX0+XG4gICAgICAgICAgICB7cHJvcHMudGl0bGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiAwLFxuICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJ1xuICAgICAgICB9fT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9QYXBlcj5cbik7XG5cbmNvbnN0IFBvcnRhbERhc2hib2FyZCA9IFJlYWN0Lm1lbW8oUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IGFwaSA9IHtcbiAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgcmV0dXJuICdwb3J0YWwtZGFzaGJvYXJkJztcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGUgPSB7XG4gICAgICAgIGFwaTogYXBpXG4gICAgfTtcblxuICAgIGNvbnN0IGZpcnN0TmFtZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gcmVzb2x2ZUZpcnN0TmFtZSgpLCBbXSk7XG4gICAgY29uc3QgZ3JlZXRpbmcgPSBVdGlscy5pc051bGwoZmlyc3ROYW1lKSA/ICdXZWxjb21lIGJhY2snIDogYEhpICR7Zmlyc3ROYW1lfSwgd2VsY29tZSBiYWNrYDtcblxuICAgIC8vIE1WUCBydWxlIChoYXJkY29kZWQpOiB0aGUgcHJvY3VyZW1lbnQgcm93IChQdWJsaWNhdGlvbnMgLyBSZWdpc3RyYXRpb25zIC9cbiAgICAvLyBCaWRzKSBvbmx5IHNob3dzIGZvciB1c2VycyB3aXRoIHRoZSBWRU5ET1Igcm9sZS4gVGhpcyB3aWxsIGJlIGRyaXZlbiBieVxuICAgIC8vIHRoZSBkZWZhdWx0IGRhc2hib2FyZCBzZXR0aW5ncyBBUEkgbGF0ZXIuXG4gICAgY29uc3QgaXNWZW5kb3IgPSBSZWFjdC51c2VNZW1vKCgpID0+IHVzZXJIYXNSb2xlKCdWRU5ET1InKSwgW10pO1xuXG4gICAgLy8gVmlldy1pZCBjb3VudGVyIHNjb3BlZCB0byB0aGlzIGRhc2hib2FyZCdzIGxpZmVjeWNsZTogaW5pdGlhdGVkIG9uIGxvYWQsXG4gICAgLy8gaW5jcmVtZW50cyBwZXIgY2FyZCBhcyBuZWVkZWQuIFJlc3RhcnRpbmcgb24gZWFjaCBsb2FkIGlzIHNhZmUgYmVjYXVzZSB3ZVxuICAgIC8vIHVubG9hZCBldmVyeSBjYXJkIHZpZXcgb24gZGVzdHJveSAoYmVsb3cpLCBzbyBubyBzdGFsZSBpZHMvc3Vic2NyaXB0aW9uc1xuICAgIC8vIHN1cnZpdmUgdG8gY29sbGlkZSB3aXRoIHRoZSBuZXh0IGxvYWQuXG4gICAgY29uc3Qgdmlld1NlcSA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICBjb25zdCBhbGxvY2F0ZVZpZXdJZCA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+ICsrdmlld1NlcS5jdXJyZW50LCBbXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgLy8gVW5sb2FkIGFsbCBkYXNoYm9hcmQgY2FyZCB2aWV3cyBvbiBkZXN0cm95LiBXaXRob3V0IHRoaXMgdGhlIGV2ZW50XG4gICAgICAgICAgICAvLyBidXMga2VlcHMgdGhlaXIgc3Vic2NyaXB0aW9ucyBhbmQgd291bGQgcmVzcG9uZCB0byBldmVudHMgZm9yXG4gICAgICAgICAgICAvLyB0aGVzZSAobm93IHVubW91bnRlZCkgdmlld3MgYmVoaW5kIHRoZSBzY2VuZXMuXG4gICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xlYXJEYXNoYm9hcmRWaWV3cygpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgcmVmPXtyZWZ9IHN0eWxlPXt7cGFkZGluZzogJzAgNHB4IDAgNHB4JywgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsIGhlaWdodDogJzEwMCUnfX0+XG4gICAgICAgICAgICA8cCBzdHlsZT17e2ZvbnRTaXplOiAnMjRweCcsIG1hcmdpbjogJzEycHggMCAxMnB4IDRweCcsIGNvbG9yOiAnIzFhM2M1ZSd9fT57Z3JlZXRpbmd9PC9wPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICBnYXA6ICcxMHB4JyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA2NHB4KScsXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICB7LyogUm93IDEg4oCUIE15IFRhc2tzIC8gQ2FsZW5kYXIgKDIgY29sdW1ucykgKi99XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMTBweCdcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnTXkgVGFza3MnfSBzdHlsZT17e2ZsZXg6IDEsIG1pbldpZHRoOiAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LXdvcmstaXRlbXMuanNvbid9IGFsbG9jYXRlVmlld0lkPXthbGxvY2F0ZVZpZXdJZH0vPlxuICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkUGFuZWwgdGl0bGU9eydDYWxlbmRhcid9IHN0eWxlPXt7ZmxleDogMSwgbWluV2lkdGg6IDB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZGRlZFZpZXcgZGVzY3JpcHRvclBhdGg9eycvcG9ydGFsL2Rhc2hib2FyZHMvbXktY2FsZW5kYXIuanNvbid9IGFsbG9jYXRlVmlld0lkPXthbGxvY2F0ZVZpZXdJZH0vPlxuICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHsvKiBSb3cgMiDigJQgUHVibGljYXRpb25zIC8gTXkgUmVnaXN0cmF0aW9ucyAvIE15IEJpZHMgKDMgY29sdW1ucykuXG4gICAgICAgICAgICAgICAgICAgIE9ubHkgcmVuZGVyZWQgZm9yIFZFTkRPUiB1c2VycyAoTVZQIGhhcmRjb2RlZCBydWxlKS4gKi99XG4gICAgICAgICAgICAgICAge2lzVmVuZG9yICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJzEwcHgnXG4gICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnUHVibGljYXRpb25zJ30gc3R5bGU9e3tmbGV4OiAxLCBtaW5XaWR0aDogMH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZGRlZFZpZXcgZGVzY3JpcHRvclBhdGg9eycvcG9ydGFsL2Rhc2hib2FyZHMvcHVibGljYXRpb25zLmpzb24nfSBhbGxvY2F0ZVZpZXdJZD17YWxsb2NhdGVWaWV3SWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRGFzaGJvYXJkUGFuZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkUGFuZWwgdGl0bGU9eydNeSBSZWdpc3RyYXRpb25zJ30gc3R5bGU9e3tmbGV4OiAxLCBtaW5XaWR0aDogMH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFbWJlZGRlZFZpZXcgZGVzY3JpcHRvclBhdGg9eycvcG9ydGFsL2Rhc2hib2FyZHMvbXktcmVnaXN0cmF0aW9ucy5qc29uJ30gYWxsb2NhdGVWaWV3SWQ9e2FsbG9jYXRlVmlld0lkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnTXkgQmlkcyd9IHN0eWxlPXt7ZmxleDogMSwgbWluV2lkdGg6IDB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LWJpZHMuanNvbid9IGFsbG9jYXRlVmlld0lkPXthbGxvY2F0ZVZpZXdJZH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EYXNoYm9hcmRQYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxEYXNoYm9hcmQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG1CQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFBK0MsU0FBQUQsdUJBQUFPLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBRyxRQUFBSCxDQUFBLEVBQUFJLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxPQUFBTSxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBUixDQUFBLEdBQUFJLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFYLENBQUEsRUFBQUksQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFB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
@@ -30,6 +30,9 @@ var _loginStyle = _interopRequireDefault(require("../../assets/jss/views/loginSt
30
30
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
31
  const useStyles = (0, _styles.makeStyles)(_loginStyle.default);
32
32
  const ResetPassword = props => {
33
+ _react.default.useEffect(() => {
34
+ (0, _security.clearSession)();
35
+ }, []);
33
36
  const [username, setUsername] = _react.default.useState("");
34
37
  const [usernameState, setUsernameState] = _react.default.useState("");
35
38
  const [errorMessage, setErrorMessage] = _react.default.useState("");
@@ -157,4 +160,4 @@ const ResetPassword = props => {
157
160
  })))));
158
161
  };
159
162
  var _default = exports.default = (0, _WithRouter.default)((0, _reactRedux.connect)(dispatch => (0, _redux.bindActionCreators)(_DashboardStore.actionCreators, dispatch))(ResetPassword));
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zZWN1cml0eSIsIl9yZWFjdFJlZHV4IiwiX3JlZHV4IiwiX0Rhc2hib2FyZFN0b3JlIiwiX1dpdGhSb3V0ZXIiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX3N0eWxlcyIsIl9JbnB1dEFkb3JubWVudCIsIl9GYWNlIiwiX0F1dGhOYXZiYXIiLCJfRm9vdGVyIiwiX0dyaWRDb250YWluZXIiLCJfR3JpZEl0ZW0iLCJfQ2FyZCIsIl9DYXJkQm9keSIsIl9DYXJkSGVhZGVyIiwiX0NhcmRGb290ZXIiLCJfQ3VzdG9tSW5wdXQiLCJfUmVndWxhckJ1dHRvbiIsIl9EYW5nZXIiLCJfSW5mbyIsIl9sb2dpblN0eWxlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlU3R5bGVzIiwibWFrZVN0eWxlcyIsInN0eWxlcyIsIlJlc2V0UGFzc3dvcmQiLCJwcm9wcyIsInVzZXJuYW1lIiwic2V0VXNlcm5hbWUiLCJSZWFjdCIsInVzZVN0YXRlIiwidXNlcm5hbWVTdGF0ZSIsInNldFVzZXJuYW1lU3RhdGUiLCJlcnJvck1lc3NhZ2UiLCJzZXRFcnJvck1lc3NhZ2UiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJzaG93UGFzc3dvcmQiLCJzZXRTaG93UGFzc3dvcmQiLCJjb2RlU2VudCIsInNldENvZGVTZW50IiwiY2FyZEFuaW1hdGlvbiIsInNldENhcmRBbmltYXRpb24iLCJ1c2VFZmZlY3QiLCJpZCIsInNldFRpbWVvdXQiLCJkb2N1bWVudCIsImJvZHkiLCJzdHlsZSIsIm92ZXJmbG93IiwiY2xlYW51cCIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsImNsYXNzZXMiLCJoYW5kbGVDbGlja1Nob3dQYXNzd29yZCIsInNlbmRDb2RlIiwiZm9yZ290UGFzc3dvcmQiLCJ1cmwiLCJoYW5kbGVNb3VzZURvd25QYXNzd29yZCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJjbGVhciIsImNyZWF0ZUVsZW1lbnQiLCJicmFuZFRleHQiLCJjbGFzc05hbWUiLCJ3cmFwcGVyIiwiZnVsbFBhZ2UiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJjb250YWluZXIiLCJqdXN0aWZ5IiwieHMiLCJzbSIsIm1kIiwibG9naW4iLCJjb25jYXQiLCJjYXJkSGVhZGVyIiwidGV4dENlbnRlciIsImNvbG9yIiwiY2FyZFRpdGxlIiwic29jaWFsTGluZSIsIm1hcCIsInByb3AiLCJrZXkiLCJqdXN0SWNvbiIsImN1c3RvbUJ1dHRvbkNsYXNzIiwibGFiZWxUZXh0IiwiZm9ybUNvbnRyb2xQcm9wcyIsImZ1bGxXaWR0aCIsInN1Y2Nlc3MiLCJlcnJvciIsImlucHV0UHJvcHMiLCJlbmRBZG9ybm1lbnQiLCJwb3NpdGlvbiIsImlucHV0QWRvcm5tZW50SWNvbiIsInZhbHVlIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJyaWdodCIsImhyZWYiLCJqdXN0aWZ5Q29udGVudENlbnRlciIsInNpbXBsZSIsInNpemUiLCJibG9jayIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIm1hcmdpblJpZ2h0Iiwid2hpdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJ3aXRoUm91dGVyIiwiY29ubmVjdCIsImRpc3BhdGNoIiwiYmluZEFjdGlvbkNyZWF0b3JzIiwiYWN0aW9uQ3JlYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZpZXcvc2VjdXJpdHkvRm9yZ290UGFzc3dvcmQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZvcmdvdFBhc3N3b3JkfSBmcm9tICcuL3NlY3VyaXR5JztcbmltcG9ydCB7Y29ubmVjdH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQge2JpbmRBY3Rpb25DcmVhdG9yc30gZnJvbSBcInJlZHV4XCI7XG5pbXBvcnQge2FjdGlvbkNyZWF0b3JzfSBmcm9tIFwiLi4vLi4vcmVkdXgvc3RvcmUvRGFzaGJvYXJkU3RvcmVcIjtcbmltcG9ydCB3aXRoUm91dGVyIGZyb20gJy4uLy4uL1dpdGhSb3V0ZXInO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5cbmltcG9ydCB7XG4gICAgbWFrZVN0eWxlc1xufSBmcm9tIFwiQG11aS9tYXRlcmlhbC9zdHlsZXNcIjtcbmltcG9ydCBJbnB1dEFkb3JubWVudCBmcm9tIFwiQG11aS9tYXRlcmlhbC9JbnB1dEFkb3JubWVudFwiO1xuXG5pbXBvcnQgRmFjZSBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9GYWNlXCI7XG5cbmltcG9ydCBBdXRoTmF2YmFyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL25hdmJhcnMvQXV0aE5hdmJhclwiO1xuaW1wb3J0IEZvb3RlciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9mb290ZXIvRm9vdGVyXCI7XG5pbXBvcnQgR3JpZENvbnRhaW5lciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ncmlkL0dyaWRDb250YWluZXJcIjtcbmltcG9ydCBHcmlkSXRlbSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ncmlkL0dyaWRJdGVtXCI7XG5pbXBvcnQgQ2FyZCBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9jYXJkL0NhcmRcIjtcbmltcG9ydCBDYXJkQm9keSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9jYXJkL0NhcmRCb2R5XCI7XG5pbXBvcnQgQ2FyZEhlYWRlciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9jYXJkL0NhcmRIZWFkZXJcIjtcbmltcG9ydCBDYXJkRm9vdGVyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2NhcmQvQ2FyZEZvb3RlclwiO1xuaW1wb3J0IEN1c3RvbUlucHV0IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2N1c3RvbUlucHV0L0N1c3RvbUlucHV0XCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1JlZ3VsYXJCdXR0b25cIjtcbmltcG9ydCBEYW5nZXIgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9EYW5nZXJcIjtcbmltcG9ydCBJbmZvIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3R5cG9ncmFwaHkvSW5mb1wiO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuLi8uLi9hc3NldHMvanNzL3ZpZXdzL2xvZ2luU3R5bGVcIjtcblxuY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0eWxlcyhzdHlsZXMpO1xuXG5jb25zdCBSZXNldFBhc3N3b3JkID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW1xuICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgc2V0VXNlcm5hbWVcbiAgICBdID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW3VzZXJuYW1lU3RhdGUsIHNldFVzZXJuYW1lU3RhdGVdID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW2Vycm9yTWVzc2FnZSwgc2V0RXJyb3JNZXNzYWdlXSA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3Nob3dQYXNzd29yZCwgc2V0U2hvd1Bhc3N3b3JkXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtjb2RlU2VudCwgc2V0Q29kZVNlbnRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgW2NhcmRBbmltYXRpb24sIHNldENhcmRBbmltYXRpb25dID0gUmVhY3QudXNlU3RhdGUoXCJjYXJkSGlkZGVuXCIpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGV0IGlkID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHNldENhcmRBbmltYXRpb24oXCJcIik7XG4gICAgICAgIH0sIDcwMCk7XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IFwidW5zZXRcIjtcblxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoaWQpO1xuICAgICAgICB9O1xuICAgIH0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXMoKTtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrU2hvd1Bhc3N3b3JkID0gKCkgPT4ge1xuICAgICAgICBzZXRTaG93UGFzc3dvcmQoIXNob3dQYXNzd29yZCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbmRDb2RlID0gKCkgPT4ge1xuICAgICAgICBpZiAodXNlcm5hbWUgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHNldFVzZXJuYW1lU3RhdGUoXCJlcnJvclwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuXG4gICAgICAgICAgICBmb3Jnb3RQYXNzd29yZChwcm9wcy51cmwsIHVzZXJuYW1lLCAoY29kZVNlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHNldENvZGVTZW50KGNvZGVTZW50KTtcbiAgICAgICAgICAgICAgICBzZXRVc2VybmFtZShcIlwiKTtcbiAgICAgICAgICAgIH0sIChlcnJvck1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHNldEVycm9yTWVzc2FnZShlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVNb3VzZURvd25QYXNzd29yZCA9IChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH07XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xlYXIoKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8QXV0aE5hdmJhciBicmFuZFRleHQgPSB7IFwiIEJ1c2luZXNzIEFnaWxpdHkgXCIgfSAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMud3JhcHBlcn0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZnVsbFBhZ2V9IHN0eWxlID0ge3sgYmFja2dyb3VuZEltYWdlOiByZXF1aXJlKCcuLi8uLi9hc3NldHMvaW1nL2xvZ2luLmpwZWcnKSB9fSA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lID0ge2NsYXNzZXMuY29udGFpbmVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkQ29udGFpbmVyIGp1c3RpZnk9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEl0ZW0geHM9ezEyfSBzbT17Nn0gbWQ9ezR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCBsb2dpbiBjbGFzc05hbWU9eyBjbGFzc2VzW2NhcmRBbmltYXRpb25dIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXIgY2xhc3NOYW1lPXtgJHtjbGFzc2VzLmNhcmRIZWFkZXJ9ICR7Y2xhc3Nlcy50ZXh0Q2VudGVyfWB9IGNvbG9yPVwicm9zZVwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT17Y2xhc3Nlcy5jYXJkVGl0bGV9ID4gRm9yZ290IFBhc3N3b3JkIDwvaDQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuc29jaWFsTGluZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZhIGZhLXJlY3ljbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0ubWFwKChwcm9wLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY29sb3I9XCJ0cmFuc3BhcmVudFwiIGp1c3RJY29uIGtleT17a2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLmN1c3RvbUJ1dHRvbkNsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT17cHJvcH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZVNlbnQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXIgY2xhc3NOYW1lPXtgJHtjbGFzc2VzLnRleHRDZW50ZXJ9YH0gPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmQgcmVzZXQgaGFzIGJlZW4gc3VibWl0dGVkIHN1Y2Nlc3NmdWxseSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0luZm8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+IDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyIGNsYXNzTmFtZT17YCR7Y2xhc3Nlcy50ZXh0Q2VudGVyfWB9ID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGFuZ2VyID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBlcnJvck1lc3NhZ2UgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRGFuZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPiA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZEJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXN0b21JbnB1dCBsYWJlbFRleHQgPSBcIlVzZXJuYW1lXCIgaWQgPSBcInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sUHJvcHMgPSB7e2Z1bGxXaWR0aDogdHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0geyB1c2VybmFtZVN0YXRlID09PSBcInN1Y2Nlc3NcIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IHsgdXNlcm5hbWVTdGF0ZSA9PT0gXCJlcnJvclwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBlbmRBZG9ybm1lbnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0QWRvcm5tZW50IHBvc2l0aW9uID0gXCJlbmRcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGYWNlIGNsYXNzTmFtZSA9IHsgY2xhc3Nlcy5pbnB1dEFkb3JubWVudEljb24gfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRBZG9ybm1lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLCB2YWx1ZTogdXNlcm5hbWUsIG9uQ2hhbmdlOiBlID0+IHtzZXRVc2VybmFtZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnJpZ2h0fSA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiL2xvZ2luXCIgc3R5bGU9e3sgY29sb3I6IFwiIzIyQTdGMFwiIH19ID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IFwiR28gdG8gTG9naW5cIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZEJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRGb290ZXIgY2xhc3NOYW1lPXtjbGFzc2VzLmp1c3RpZnlDb250ZW50Q2VudGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjb2xvcj1cInJvc2VcIiBzaW1wbGUgc2l6ZT1cImxnXCIgYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZW5kQ29kZSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZhIGZhLXJlZnJlc2ggZmEtc3BpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiBcIjhweFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nICYmIDxzcGFuPkxPQURJTkcuLi48L3NwYW4+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyFpc0xvYWRpbmcgJiYgPHNwYW4+UmVzZXQgUGFzc3dvcmQ8L3NwYW4+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWRJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZvb3RlciB3aGl0ZSAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFJvdXRlcihjb25uZWN0KFxuICAgIGRpc3BhdGNoID0+IGJpbmRBY3Rpb25DcmVhdG9ycyhhY3Rpb25DcmVhdG9ycywgZGlzcGF0Y2gpXG4pKFJlc2V0UGFzc3dvcmQpKVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxtQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBR0EsSUFBQVEsZUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQVMsS0FBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQVUsV0FBQSxHQUFBWCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVcsT0FBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVksY0FBQSxHQUFBYixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWEsU0FBQSxHQUFBZCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWMsS0FBQSxHQUFBZixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWUsU0FBQSxHQUFBaEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFnQixXQUFBLEdBQUFqQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWlCLFdBQUEsR0FBQWxCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBa0IsWUFBQSxHQUFBbkIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFtQixjQUFBLEdBQUFwQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQW9CLE9BQUEsR0FBQXJCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBcUIsS0FBQSxHQUFBdEIsc0JBQUEsQ0FBQUMs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
163
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zZWN1cml0eSIsIl9yZWFjdFJlZHV4IiwiX3JlZHV4IiwiX0Rhc2hib2FyZFN0b3JlIiwiX1dpdGhSb3V0ZXIiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX3N0eWxlcyIsIl9JbnB1dEFkb3JubWVudCIsIl9GYWNlIiwiX0F1dGhOYXZiYXIiLCJfRm9vdGVyIiwiX0dyaWRDb250YWluZXIiLCJfR3JpZEl0ZW0iLCJfQ2FyZCIsIl9DYXJkQm9keSIsIl9DYXJkSGVhZGVyIiwiX0NhcmRGb290ZXIiLCJfQ3VzdG9tSW5wdXQiLCJfUmVndWxhckJ1dHRvbiIsIl9EYW5nZXIiLCJfSW5mbyIsIl9sb2dpblN0eWxlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlU3R5bGVzIiwibWFrZVN0eWxlcyIsInN0eWxlcyIsIlJlc2V0UGFzc3dvcmQiLCJwcm9wcyIsIlJlYWN0IiwidXNlRWZmZWN0IiwiY2xlYXJTZXNzaW9uIiwidXNlcm5hbWUiLCJzZXRVc2VybmFtZSIsInVzZVN0YXRlIiwidXNlcm5hbWVTdGF0ZSIsInNldFVzZXJuYW1lU3RhdGUiLCJlcnJvck1lc3NhZ2UiLCJzZXRFcnJvck1lc3NhZ2UiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJzaG93UGFzc3dvcmQiLCJzZXRTaG93UGFzc3dvcmQiLCJjb2RlU2VudCIsInNldENvZGVTZW50IiwiY2FyZEFuaW1hdGlvbiIsInNldENhcmRBbmltYXRpb24iLCJpZCIsInNldFRpbWVvdXQiLCJkb2N1bWVudCIsImJvZHkiLCJzdHlsZSIsIm92ZXJmbG93IiwiY2xlYW51cCIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsImNsYXNzZXMiLCJoYW5kbGVDbGlja1Nob3dQYXNzd29yZCIsInNlbmRDb2RlIiwiZm9yZ290UGFzc3dvcmQiLCJ1cmwiLCJoYW5kbGVNb3VzZURvd25QYXNzd29yZCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJjbGVhciIsImNyZWF0ZUVsZW1lbnQiLCJicmFuZFRleHQiLCJjbGFzc05hbWUiLCJ3cmFwcGVyIiwiZnVsbFBhZ2UiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJjb250YWluZXIiLCJqdXN0aWZ5IiwieHMiLCJzbSIsIm1kIiwibG9naW4iLCJjb25jYXQiLCJjYXJkSGVhZGVyIiwidGV4dENlbnRlciIsImNvbG9yIiwiY2FyZFRpdGxlIiwic29jaWFsTGluZSIsIm1hcCIsInByb3AiLCJrZXkiLCJqdXN0SWNvbiIsImN1c3RvbUJ1dHRvbkNsYXNzIiwibGFiZWxUZXh0IiwiZm9ybUNvbnRyb2xQcm9wcyIsImZ1bGxXaWR0aCIsInN1Y2Nlc3MiLCJlcnJvciIsImlucHV0UHJvcHMiLCJlbmRBZG9ybm1lbnQiLCJwb3NpdGlvbiIsImlucHV0QWRvcm5tZW50SWNvbiIsInZhbHVlIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJyaWdodCIsImhyZWYiLCJqdXN0aWZ5Q29udGVudENlbnRlciIsInNpbXBsZSIsInNpemUiLCJibG9jayIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIm1hcmdpblJpZ2h0Iiwid2hpdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJ3aXRoUm91dGVyIiwiY29ubmVjdCIsImRpc3BhdGNoIiwiYmluZEFjdGlvbkNyZWF0b3JzIiwiYWN0aW9uQ3JlYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZpZXcvc2VjdXJpdHkvRm9yZ290UGFzc3dvcmQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZvcmdvdFBhc3N3b3JkLCBjbGVhclNlc3Npb259IGZyb20gJy4vc2VjdXJpdHknO1xuaW1wb3J0IHtjb25uZWN0fSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7YmluZEFjdGlvbkNyZWF0b3JzfSBmcm9tIFwicmVkdXhcIjtcbmltcG9ydCB7YWN0aW9uQ3JlYXRvcnN9IGZyb20gXCIuLi8uLi9yZWR1eC9zdG9yZS9EYXNoYm9hcmRTdG9yZVwiO1xuaW1wb3J0IHdpdGhSb3V0ZXIgZnJvbSAnLi4vLi4vV2l0aFJvdXRlcic7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gXCIuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXJcIjtcblxuaW1wb3J0IHtcbiAgICBtYWtlU3R5bGVzXG59IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IElucHV0QWRvcm5tZW50IGZyb20gXCJAbXVpL21hdGVyaWFsL0lucHV0QWRvcm5tZW50XCI7XG5cbmltcG9ydCBGYWNlIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0ZhY2VcIjtcblxuaW1wb3J0IEF1dGhOYXZiYXIgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbmF2YmFycy9BdXRoTmF2YmFyXCI7XG5pbXBvcnQgRm9vdGVyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9Gb290ZXJcIjtcbmltcG9ydCBHcmlkQ29udGFpbmVyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2dyaWQvR3JpZENvbnRhaW5lclwiO1xuaW1wb3J0IEdyaWRJdGVtIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2dyaWQvR3JpZEl0ZW1cIjtcbmltcG9ydCBDYXJkIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2NhcmQvQ2FyZFwiO1xuaW1wb3J0IENhcmRCb2R5IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2NhcmQvQ2FyZEJvZHlcIjtcbmltcG9ydCBDYXJkSGVhZGVyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2NhcmQvQ2FyZEhlYWRlclwiO1xuaW1wb3J0IENhcmRGb290ZXIgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvY2FyZC9DYXJkRm9vdGVyXCI7XG5pbXBvcnQgQ3VzdG9tSW5wdXQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvY3VzdG9tSW5wdXQvQ3VzdG9tSW5wdXRcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvUmVndWxhckJ1dHRvblwiO1xuaW1wb3J0IERhbmdlciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy90eXBvZ3JhcGh5L0RhbmdlclwiO1xuaW1wb3J0IEluZm8gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9JbmZvXCI7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4uLy4uL2Fzc2V0cy9qc3Mvdmlld3MvbG9naW5TdHlsZVwiO1xuXG5jb25zdCB1c2VTdHlsZXMgPSBtYWtlU3R5bGVzKHN0eWxlcyk7XG5cbmNvbnN0IFJlc2V0UGFzc3dvcmQgPSAocHJvcHMpID0+IHtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyBjbGVhclNlc3Npb24oKTsgfSwgW10pO1xuICAgIGNvbnN0IFtcbiAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgIHNldFVzZXJuYW1lXG4gICAgXSA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICAgIGNvbnN0IFt1c2VybmFtZVN0YXRlLCBzZXRVc2VybmFtZVN0YXRlXSA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICAgIGNvbnN0IFtlcnJvck1lc3NhZ2UsIHNldEVycm9yTWVzc2FnZV0gPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtzaG93UGFzc3dvcmQsIHNldFNob3dQYXNzd29yZF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbY29kZVNlbnQsIHNldENvZGVTZW50XSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IFtjYXJkQW5pbWF0aW9uLCBzZXRDYXJkQW5pbWF0aW9uXSA9IFJlYWN0LnVzZVN0YXRlKFwiY2FyZEhpZGRlblwiKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxldCBpZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBzZXRDYXJkQW5pbWF0aW9uKFwiXCIpO1xuICAgICAgICB9LCA3MDApO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBcInVuc2V0XCI7XG5cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICBjb25zdCBjbGFzc2VzID0gdXNlU3R5bGVzKCk7XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja1Nob3dQYXNzd29yZCA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd1Bhc3N3b3JkKCFzaG93UGFzc3dvcmQpO1xuICAgIH07XG5cbiAgICBjb25zdCBzZW5kQ29kZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHVzZXJuYW1lID09PSBcIlwiKSB7XG4gICAgICAgICAgICBzZXRVc2VybmFtZVN0YXRlKFwiZXJyb3JcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcblxuICAgICAgICAgICAgZm9yZ290UGFzc3dvcmQocHJvcHMudXJsLCB1c2VybmFtZSwgKGNvZGVTZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBzZXRDb2RlU2VudChjb2RlU2VudCk7XG4gICAgICAgICAgICAgICAgc2V0VXNlcm5hbWUoXCJcIik7XG4gICAgICAgICAgICB9LCAoZXJyb3JNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBzZXRFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlTW91c2VEb3duUGFzc3dvcmQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmNsZWFyKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEF1dGhOYXZiYXIgYnJhbmRUZXh0ID0geyBcIiBCdXNpbmVzcyBBZ2lsaXR5IFwiIH0gLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLndyYXBwZXJ9PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmZ1bGxQYWdlfSBzdHlsZSA9IHt7IGJhY2tncm91bmRJbWFnZTogcmVxdWlyZSgnLi4vLi4vYXNzZXRzL2ltZy9sb2dpbi5qcGVnJykgfX0gPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZSA9IHtjbGFzc2VzLmNvbnRhaW5lcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R3JpZENvbnRhaW5lciBqdXN0aWZ5PVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRJdGVtIHhzPXsxMn0gc209ezZ9IG1kPXs0fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgbG9naW4gY2xhc3NOYW1lPXsgY2xhc3Nlc1tjYXJkQW5pbWF0aW9uXSB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyIGNsYXNzTmFtZT17YCR7Y2xhc3Nlcy5jYXJkSGVhZGVyfSAke2NsYXNzZXMudGV4dENlbnRlcn1gfSBjb2xvcj1cInJvc2VcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9e2NsYXNzZXMuY2FyZFRpdGxlfSA+IEZvcmdvdCBQYXNzd29yZCA8L2g0PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnNvY2lhbExpbmV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmYSBmYS1yZWN5Y2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLm1hcCgocHJvcCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGNvbG9yPVwidHJhbnNwYXJlbnRcIiBqdXN0SWNvbiBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5jdXN0b21CdXR0b25DbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9e3Byb3B9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVTZW50ID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyIGNsYXNzTmFtZT17YCR7Y2xhc3Nlcy50ZXh0Q2VudGVyfWB9ID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5mbyA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3N3b3JkIHJlc2V0IGhhcyBiZWVuIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHkhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbmZvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPiA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZEhlYWRlciBjbGFzc05hbWU9e2Ake2NsYXNzZXMudGV4dENlbnRlcn1gfSA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhbmdlciA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZXJyb3JNZXNzYWdlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Rhbmdlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj4gOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRCb2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q3VzdG9tSW5wdXQgbGFiZWxUZXh0ID0gXCJVc2VybmFtZVwiIGlkID0gXCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbFByb3BzID0ge3tmdWxsV2lkdGg6IHRydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IHsgdXNlcm5hbWVTdGF0ZSA9PT0gXCJzdWNjZXNzXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSB7IHVzZXJuYW1lU3RhdGUgPT09IFwiZXJyb3JcIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFByb3BzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZW5kQWRvcm5tZW50OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dEFkb3JubWVudCBwb3NpdGlvbiA9IFwiZW5kXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmFjZSBjbGFzc05hbWUgPSB7IGNsYXNzZXMuaW5wdXRBZG9ybm1lbnRJY29uIH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0QWRvcm5tZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwgdmFsdWU6IHVzZXJuYW1lLCBvbkNoYW5nZTogZSA9PiB7c2V0VXNlcm5hbWUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yaWdodH0gPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi9sb2dpblwiIHN0eWxlPXt7IGNvbG9yOiBcIiMyMkE3RjBcIiB9fSA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBcIkdvIHRvIExvZ2luXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRCb2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkRm9vdGVyIGNsYXNzTmFtZT17Y2xhc3Nlcy5qdXN0aWZ5Q29udGVudENlbnRlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY29sb3I9XCJyb3NlXCIgc2ltcGxlIHNpemU9XCJsZ1wiIGJsb2NrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2VuZENvZGUoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmYSBmYS1yZWZyZXNoIGZhLXNwaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogXCI4cHhcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZyAmJiA8c3Bhbj5MT0FESU5HLi4uPC9zcGFuPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaXNMb2FkaW5nICYmIDxzcGFuPlJlc2V0IFBhc3N3b3JkPC9zcGFuPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkSXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb290ZXIgd2hpdGUgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhSb3V0ZXIoY29ubmVjdChcbiAgICBkaXNwYXRjaCA9PiBiaW5kQWN0aW9uQ3JlYXRvcnMoYWN0aW9uQ3JlYXRvcnMsIGRpc3BhdGNoKVxuKShSZXNldFBhc3N3b3JkKSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sbUJBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLGVBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFTLEtBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFVLFdBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLE9BQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFZLGNBQUEsR0FBQWIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFhLFNBQUEsR0FBQWQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFjLEtBQUEsR0FBQWYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFlLFNBQUEsR0FBQWhCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBZ0IsV0FBQSxHQUFBakIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFpQixXQUFBLEdBQUFsQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWtCLFlBQUEsR0FBQW5CLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBbUIsY0FBQSxHQUFBcEIsc0JBQUEsQ0FBQUMs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
@@ -22,6 +22,9 @@ var _Lock = _interopRequireDefault(require("@mui/icons-material/Lock"));
22
22
  var _reactRouterDom = require("react-router-dom");
23
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
24
  const ResetPassword = props => {
25
+ _react.default.useEffect(() => {
26
+ (0, _Security.clearSession)();
27
+ }, []);
25
28
  const navigate = (0, _reactRouterDom.useNavigate)();
26
29
  const [username, setUsername] = _react.default.useState("");
27
30
  const [message, setMessage] = _react.default.useState(null);
@@ -161,4 +164,4 @@ const ResetPassword = props => {
161
164
  })));
162
165
  };
163
166
  var _default = exports.default = (0, _WithRouter.default)((0, _reactRedux.connect)(dispatch => (0, _redux.bindActionCreators)(_DashboardStore.actionCreators, dispatch))(ResetPassword));
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TZWN1cml0eSIsIl9yZWFjdFJlZHV4IiwiX3JlZHV4IiwiX0Rhc2hib2FyZFN0b3JlIiwiX1dpdGhSb3V0ZXIiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX0Zvb3RlciIsIl9sb2dpbkJhc2ljU3R5bGUiLCJfVXRpbHMiLCJfUGFwZXIiLCJfQnV0dG9uIiwiX0FsZXJ0IiwiX1RleHRGaWVsZCIsIl9Mb2NrIiwiX3JlYWN0Um91dGVyRG9tIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiUmVzZXRQYXNzd29yZCIsInByb3BzIiwibmF2aWdhdGUiLCJ1c2VOYXZpZ2F0ZSIsInVzZXJuYW1lIiwic2V0VXNlcm5hbWUiLCJSZWFjdCIsInVzZVN0YXRlIiwibWVzc2FnZSIsInNldE1lc3NhZ2UiLCJtZXNzYWdlVGl0bGUiLCJzZXRNZXNzYWdlVGl0bGUiLCJhbGVydFZhcmlhbnQiLCJzZXRBbGVydFZhcmlhbnQiLCJ1c2VybmFtZUVycm9yIiwic2V0VXNlcm5hbWVFcnJvciIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsInNob3dQYXNzd29yZCIsInNldFNob3dQYXNzd29yZCIsImhhbmRsZUNsaWNrU2hvd1Bhc3N3b3JkIiwic2VuZENvZGUiLCJVdGlscyIsImlzTnVsbCIsInRyaW0iLCJsZW5ndGgiLCJmb3Jnb3RQYXNzd29yZCIsInVybCIsImNvZGVTZW50IiwiZXJyb3JNZXNzYWdlIiwiU1lTVEVNX0VSUk9SX01FU1NBR0UiLCJoYW5kbGVNb3VzZURvd25QYXNzd29yZCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJ1c2VFZmZlY3QiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJjbGVhciIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsImJhY2tncm91bmQiLCJjb2xvciIsInRleHRDb2xvciIsImhlaWdodCIsIndpZHRoIiwibWFyZ2luIiwicGFkZGluZ1RvcCIsIm1heFdpZHRoIiwiY2xhc3NOYW1lIiwic3R5bGVzIiwidGl0bGUiLCJ0ZXh0QWxpZ24iLCJzcmMiLCJsb2dvIiwiYWx0IiwiYm9yZGVyUmFkaXVzIiwicGFkZGluZ0xlZnQiLCJ0aXRsZUNvbG9yIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwidmFyaWFudCIsInNob3ciLCJvbkNsb3NlIiwiZGlzbWlzc2libGUiLCJIZWFkaW5nIiwibG9naW5Db250YWluZXIiLCJwYXBlciIsImlkIiwicmVxdWlyZWQiLCJsYWJlbCIsImVycm9yIiwidmFsdWUiLCJvbkNoYW5nZSIsInVzZXJuYW1lUHJlc2VudCIsInRhcmdldCIsIm1pbldpZHRoIiwib25DbGljayIsImZ1bGxXaWR0aCIsImRpc2FibGVkIiwibG9naW5CdG4iLCJtYXJnaW5SaWdodCIsImJ1dHRvbnNEaXYiLCJmbGF0QnV0dG9uIiwic3RhcnRJY29uIiwid2hpdGUiLCJmb290ZXJMb2dvIiwidGV4dCIsImZvb3RlclRleHQiLCJmb290ZXJXaWR0aCIsInNwbGl0dGVyQ29sb3IiLCJmb290ZXJTcGxpdHRlckNvbG9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwid2l0aFJvdXRlciIsImNvbm5lY3QiLCJkaXNwYXRjaCIsImJpbmRBY3Rpb25DcmVhdG9ycyIsImFjdGlvbkNyZWF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92aWV3L3NlY3VyaXR5L0ZvcmdvdFBhc3N3b3JkQmFzaWMuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZvcmdvdFBhc3N3b3JkLCBsb2dpbn0gZnJvbSAnLi9TZWN1cml0eSc7XG5pbXBvcnQge2Nvbm5lY3R9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHtiaW5kQWN0aW9uQ3JlYXRvcnN9IGZyb20gXCJyZWR1eFwiO1xuaW1wb3J0IHthY3Rpb25DcmVhdG9yc30gZnJvbSBcIi4uLy4uL3JlZHV4L3N0b3JlL0Rhc2hib2FyZFN0b3JlXCI7XG5pbXBvcnQgd2l0aFJvdXRlciBmcm9tICcuLi8uLi9XaXRoUm91dGVyJztcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IEZvb3RlciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9mb290ZXIvRm9vdGVyXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuLi8uLi9hc3NldHMvanNzL3ZpZXdzL2xvZ2luQmFzaWNTdHlsZVwiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi8uLi9VdGlsc1wiO1xuaW1wb3J0IFBhcGVyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvUGFwZXInO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0J1dHRvbic7XG5pbXBvcnQgQWxlcnQgZnJvbSBcInJlYWN0LWJvb3RzdHJhcC9BbGVydFwiO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbXVpL21hdGVyaWFsL1RleHRGaWVsZCc7XG5pbXBvcnQgTG9jayBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL0xvY2snO1xuaW1wb3J0IHt1c2VOYXZpZ2F0ZX0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcblxuY29uc3QgUmVzZXRQYXNzd29yZCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgICBjb25zdCBbXG4gICAgICAgIHVzZXJuYW1lLFxuICAgICAgICBzZXRVc2VybmFtZVxuICAgIF0gPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgICBjb25zdCBbbWVzc2FnZSwgc2V0TWVzc2FnZV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbbWVzc2FnZVRpdGxlLCBzZXRNZXNzYWdlVGl0bGVdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW2FsZXJ0VmFyaWFudCwgc2V0QWxlcnRWYXJpYW50XSA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICAgIGNvbnN0IFt1c2VybmFtZUVycm9yLCBzZXRVc2VybmFtZUVycm9yXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtzaG93UGFzc3dvcmQsIHNldFNob3dQYXNzd29yZF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBoYW5kbGVDbGlja1Nob3dQYXNzd29yZCA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd1Bhc3N3b3JkKCFzaG93UGFzc3dvcmQpO1xuICAgIH07XG5cbiAgICBjb25zdCBzZW5kQ29kZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwodXNlcm5hbWUpICYmIHVzZXJuYW1lLnRyaW0oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG5cbiAgICAgICAgICAgIGZvcmdvdFBhc3N3b3JkKHByb3BzLnVybCwgdXNlcm5hbWUsIChjb2RlU2VudCwgbWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgc2V0VXNlcm5hbWUobnVsbCk7XG4gICAgICAgICAgICAgICAgc2V0TWVzc2FnZVRpdGxlKFwiUGFzc3dvcmQgUmVzZXRcIik7XG4gICAgICAgICAgICAgICAgc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBzZXRBbGVydFZhcmlhbnQoJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIH0sIChlcnJvck1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHNldE1lc3NhZ2VUaXRsZShcIlBhc3N3b3JkIFJlc2V0IEVycm9yIVwiKTtcbiAgICAgICAgICAgICAgICBzZXRNZXNzYWdlKCFlcnJvck1lc3NhZ2UgPyBVdGlscy5TWVNURU1fRVJST1JfTUVTU0FHRSA6IGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgc2V0QWxlcnRWYXJpYW50KCdkYW5nZXInKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRVc2VybmFtZUVycm9yKHRydWUpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZU1vdXNlRG93blBhc3N3b3JkID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5jbGVhcigpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvcHMuYmFja2dyb3VuZCxcbiAgICAgICAgICAgIGNvbG9yOiBwcm9wcy50ZXh0Q29sb3IsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgICAgfX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnOTIlJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6ICdjYWxjKDEwMHZoLzYpJ1xuICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiAnNDAwcHgnLCBtYXJnaW46ICdhdXRvJ319PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17XCJyb3cgbm8tbWFyZ2luIG5vLXBhZGRpbmdcIn0gc3R5bGU9e3N0eWxlcy50aXRsZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7dGV4dEFsaWduOiAncmlnaHQnLCBtYXhXaWR0aDogJzYwJSd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17cHJvcHMubG9nb30gYWx0PVwiLi4uXCIgc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc0cHgnfX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHByb3BzLnRpdGxlLmxlbmd0aCA9PT0gMCA/ICcwJyA6ICc3MCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAnMTZweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHByb3BzLnRpdGxlQ29sb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2NvbCd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgeyFVdGlscy5pc051bGwobWVzc2FnZSkgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e21hcmdpblRvcDogJzE2cHgnLCBtYXJnaW5Cb3R0b206ICcwJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWxlcnRWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c9eyFVdGlscy5pc051bGwobWVzc2FnZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0TWVzc2FnZShudWxsKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNtaXNzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBbGVydC5IZWFkaW5nPnttZXNzYWdlVGl0bGV9PC9BbGVydC5IZWFkaW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnttZXNzYWdlfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQWxlcnQ+XG4gICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlwiXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5sb2dpbkNvbnRhaW5lcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGFwZXIgc3R5bGU9e3N0eWxlcy5wYXBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIlVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXt1c2VybmFtZUVycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3VzZXJuYW1lIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVzZXJuYW1lUHJlc2VudCA9ICFVdGlscy5pc051bGwoZS50YXJnZXQudmFsdWUpICYmIGUudGFyZ2V0LnZhbHVlLnRyaW0oKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFVzZXJuYW1lKGUudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRVc2VybmFtZUVycm9yKCF1c2VybmFtZVByZXNlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbj1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3ttaW5XaWR0aDogXCIyMDBweFwiLCB3aWR0aDogXCIxMDAlXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UZXh0RmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17KCkgPT4gc2VuZENvZGUoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNvbnRhaW5lZFwiIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzTG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5sb2dpbkJ0bn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmYSBmYS1yZWZyZXNoIGZhLXNwaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3ttYXJnaW5SaWdodDogXCI4cHhcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nICYmIDxzcGFuPkxPQURJTkcuLi48L3NwYW4+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaXNMb2FkaW5nICYmIDxzcGFuPlJFU0VUIFBBU1NXT1JEPC9zcGFuPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1BhcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmJ1dHRvbnNEaXZ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJCYWNrIHRvIExvZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG5hdmlnYXRlKGAvbG9naW5gKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5mbGF0QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydEljb249ezxMb2NrLz59PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYWNrIHRvIExvZ2luXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPEZvb3RlciB3aGl0ZSBsb2dvPXtwcm9wcy5mb290ZXJMb2dvfSB0ZXh0PXtwcm9wcy5mb290ZXJUZXh0fSB3aWR0aD17cHJvcHMuZm9vdGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGxpdHRlckNvbG9yPXtwcm9wcy5mb290ZXJTcGxpdHRlckNvbG9yfS8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhSb3V0ZXIoY29ubmVjdChcbiAgICBkaXNwYXRjaCA9PiBiaW5kQWN0aW9uQ3JlYXRvcnMoYWN0aW9uQ3JlYXRvcnMsIGRpc3BhdGNoKVxuKShSZXNldFBhc3N3b3JkKSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFB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
167
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TZWN1cml0eSIsIl9yZWFjdFJlZHV4IiwiX3JlZHV4IiwiX0Rhc2hib2FyZFN0b3JlIiwiX1dpdGhSb3V0ZXIiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX0Zvb3RlciIsIl9sb2dpbkJhc2ljU3R5bGUiLCJfVXRpbHMiLCJfUGFwZXIiLCJfQnV0dG9uIiwiX0FsZXJ0IiwiX1RleHRGaWVsZCIsIl9Mb2NrIiwiX3JlYWN0Um91dGVyRG9tIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiUmVzZXRQYXNzd29yZCIsInByb3BzIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJjbGVhclNlc3Npb24iLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwidXNlcm5hbWUiLCJzZXRVc2VybmFtZSIsInVzZVN0YXRlIiwibWVzc2FnZSIsInNldE1lc3NhZ2UiLCJtZXNzYWdlVGl0bGUiLCJzZXRNZXNzYWdlVGl0bGUiLCJhbGVydFZhcmlhbnQiLCJzZXRBbGVydFZhcmlhbnQiLCJ1c2VybmFtZUVycm9yIiwic2V0VXNlcm5hbWVFcnJvciIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsInNob3dQYXNzd29yZCIsInNldFNob3dQYXNzd29yZCIsImhhbmRsZUNsaWNrU2hvd1Bhc3N3b3JkIiwic2VuZENvZGUiLCJVdGlscyIsImlzTnVsbCIsInRyaW0iLCJsZW5ndGgiLCJmb3Jnb3RQYXNzd29yZCIsInVybCIsImNvZGVTZW50IiwiZXJyb3JNZXNzYWdlIiwiU1lTVEVNX0VSUk9SX01FU1NBR0UiLCJoYW5kbGVNb3VzZURvd25QYXNzd29yZCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJjbGVhciIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsImJhY2tncm91bmQiLCJjb2xvciIsInRleHRDb2xvciIsImhlaWdodCIsIndpZHRoIiwibWFyZ2luIiwicGFkZGluZ1RvcCIsIm1heFdpZHRoIiwiY2xhc3NOYW1lIiwic3R5bGVzIiwidGl0bGUiLCJ0ZXh0QWxpZ24iLCJzcmMiLCJsb2dvIiwiYWx0IiwiYm9yZGVyUmFkaXVzIiwicGFkZGluZ0xlZnQiLCJ0aXRsZUNvbG9yIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwidmFyaWFudCIsInNob3ciLCJvbkNsb3NlIiwiZGlzbWlzc2libGUiLCJIZWFkaW5nIiwibG9naW5Db250YWluZXIiLCJwYXBlciIsImlkIiwicmVxdWlyZWQiLCJsYWJlbCIsImVycm9yIiwidmFsdWUiLCJvbkNoYW5nZSIsInVzZXJuYW1lUHJlc2VudCIsInRhcmdldCIsIm1pbldpZHRoIiwib25DbGljayIsImZ1bGxXaWR0aCIsImRpc2FibGVkIiwibG9naW5CdG4iLCJtYXJnaW5SaWdodCIsImJ1dHRvbnNEaXYiLCJmbGF0QnV0dG9uIiwic3RhcnRJY29uIiwid2hpdGUiLCJmb290ZXJMb2dvIiwidGV4dCIsImZvb3RlclRleHQiLCJmb290ZXJXaWR0aCIsInNwbGl0dGVyQ29sb3IiLCJmb290ZXJTcGxpdHRlckNvbG9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwid2l0aFJvdXRlciIsImNvbm5lY3QiLCJkaXNwYXRjaCIsImJpbmRBY3Rpb25DcmVhdG9ycyIsImFjdGlvbkNyZWF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92aWV3L3NlY3VyaXR5L0ZvcmdvdFBhc3N3b3JkQmFzaWMuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZvcmdvdFBhc3N3b3JkLCBsb2dpbiwgY2xlYXJTZXNzaW9ufSBmcm9tICcuL1NlY3VyaXR5JztcbmltcG9ydCB7Y29ubmVjdH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQge2JpbmRBY3Rpb25DcmVhdG9yc30gZnJvbSBcInJlZHV4XCI7XG5pbXBvcnQge2FjdGlvbkNyZWF0b3JzfSBmcm9tIFwiLi4vLi4vcmVkdXgvc3RvcmUvRGFzaGJvYXJkU3RvcmVcIjtcbmltcG9ydCB3aXRoUm91dGVyIGZyb20gJy4uLy4uL1dpdGhSb3V0ZXInO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgRm9vdGVyIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9Gb290ZXJcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4uLy4uL2Fzc2V0cy9qc3Mvdmlld3MvbG9naW5CYXNpY1N0eWxlXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBBbGVydCBmcm9tIFwicmVhY3QtYm9vdHN0cmFwL0FsZXJ0XCI7XG5pbXBvcnQgVGV4dEZpZWxkIGZyb20gJ0BtdWkvbWF0ZXJpYWwvVGV4dEZpZWxkJztcbmltcG9ydCBMb2NrIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvTG9jayc7XG5pbXBvcnQge3VzZU5hdmlnYXRlfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuXG5jb25zdCBSZXNldFBhc3N3b3JkID0gKHByb3BzKSA9PiB7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgY2xlYXJTZXNzaW9uKCk7IH0sIFtdKTtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgY29uc3QgW1xuICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgc2V0VXNlcm5hbWVcbiAgICBdID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW21lc3NhZ2UsIHNldE1lc3NhZ2VdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW21lc3NhZ2VUaXRsZSwgc2V0TWVzc2FnZVRpdGxlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFthbGVydFZhcmlhbnQsIHNldEFsZXJ0VmFyaWFudF0gPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgICBjb25zdCBbdXNlcm5hbWVFcnJvciwgc2V0VXNlcm5hbWVFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbc2hvd1Bhc3N3b3JkLCBzZXRTaG93UGFzc3dvcmRdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tTaG93UGFzc3dvcmQgPSAoKSA9PiB7XG4gICAgICAgIHNldFNob3dQYXNzd29yZCghc2hvd1Bhc3N3b3JkKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VuZENvZGUgPSAoKSA9PiB7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHVzZXJuYW1lKSAmJiB1c2VybmFtZS50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuXG4gICAgICAgICAgICBmb3Jnb3RQYXNzd29yZChwcm9wcy51cmwsIHVzZXJuYW1lLCAoY29kZVNlbnQsIG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHNldFVzZXJuYW1lKG51bGwpO1xuICAgICAgICAgICAgICAgIHNldE1lc3NhZ2VUaXRsZShcIlBhc3N3b3JkIFJlc2V0XCIpO1xuICAgICAgICAgICAgICAgIHNldE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgc2V0QWxlcnRWYXJpYW50KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICB9LCAoZXJyb3JNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBzZXRNZXNzYWdlVGl0bGUoXCJQYXNzd29yZCBSZXNldCBFcnJvciFcIik7XG4gICAgICAgICAgICAgICAgc2V0TWVzc2FnZSghZXJyb3JNZXNzYWdlID8gVXRpbHMuU1lTVEVNX0VSUk9SX01FU1NBR0UgOiBlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHNldEFsZXJ0VmFyaWFudCgnZGFuZ2VyJyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VXNlcm5hbWVFcnJvcih0cnVlKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVNb3VzZURvd25QYXNzd29yZCA9IChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH07XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuY2xlYXIoKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHByb3BzLmJhY2tncm91bmQsXG4gICAgICAgICAgICBjb2xvcjogcHJvcHMudGV4dENvbG9yLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnXG4gICAgICAgIH19PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGhlaWdodDogJzkyJScsXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBtYXJnaW46ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAnY2FsYygxMDB2aC82KSdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3ttYXhXaWR0aDogJzQwMHB4JywgbWFyZ2luOiAnYXV0byd9fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicm93IG5vLW1hcmdpbiBuby1wYWRkaW5nXCJ9IHN0eWxlPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e3RleHRBbGlnbjogJ3JpZ2h0JywgbWF4V2lkdGg6ICc2MCUnfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3Byb3BzLmxvZ299IGFsdD1cIi4uLlwiIHN0eWxlPXt7d2lkdGg6ICcxMDAlJywgYm9yZGVyUmFkaXVzOiAnNHB4J319Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwcm9wcy50aXRsZS5sZW5ndGggPT09IDAgPyAnMCcgOiAnNzAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICdhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogJzE2cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwcm9wcy50aXRsZUNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydjb2wnfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIHshVXRpbHMuaXNOdWxsKG1lc3NhZ2UpID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEFsZXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3ttYXJnaW5Ub3A6ICcxNnB4JywgbWFyZ2luQm90dG9tOiAnMCd9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2FsZXJ0VmFyaWFudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93PXshVXRpbHMuaXNOdWxsKG1lc3NhZ2UpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldE1lc3NhZ2UobnVsbCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzbWlzc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWxlcnQuSGVhZGluZz57bWVzc2FnZVRpdGxlfTwvQWxlcnQuSGVhZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57bWVzc2FnZX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0FsZXJ0PlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMubG9naW5Db250YWluZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBhcGVyIHN0eWxlPXtzdHlsZXMucGFwZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJVc2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcj17dXNlcm5hbWVFcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt1c2VybmFtZSB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1c2VybmFtZVByZXNlbnQgPSAhVXRpbHMuaXNOdWxsKGUudGFyZ2V0LnZhbHVlKSAmJiBlLnRhcmdldC52YWx1ZS50cmltKCkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRVc2VybmFtZShlLnRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VXNlcm5hbWVFcnJvcighdXNlcm5hbWVQcmVzZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW49XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7bWluV2lkdGg6IFwiMjAwcHhcIiwgd2lkdGg6IFwiMTAwJVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGV4dEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHNlbmRDb2RlKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJjb250YWluZWRcIiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsV2lkdGg9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubG9naW5CdG59PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmEgZmEtcmVmcmVzaCBmYS1zcGluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IFwiOHB4XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZyAmJiA8c3Bhbj5MT0FESU5HLi4uPC9zcGFuPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWlzTG9hZGluZyAmJiA8c3Bhbj5SRVNFVCBQQVNTV09SRDwvc3Bhbj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9QYXBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5idXR0b25zRGl2fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQmFjayB0byBMb2dpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBuYXZpZ2F0ZShgL2xvZ2luYCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuZmxhdEJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRJY29uPXs8TG9jay8+fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFjayB0byBMb2dpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxGb290ZXIgd2hpdGUgbG9nbz17cHJvcHMuZm9vdGVyTG9nb30gdGV4dD17cHJvcHMuZm9vdGVyVGV4dH0gd2lkdGg9e3Byb3BzLmZvb3RlcldpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXR0ZXJDb2xvcj17cHJvcHMuZm9vdGVyU3BsaXR0ZXJDb2xvcn0vPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoUm91dGVyKGNvbm5lY3QoXG4gICAgZGlzcGF0Y2ggPT4gYmluZEFjdGlvbkNyZWF0b3JzKGFjdGlvbkNyZWF0b3JzLCBkaXNwYXRjaClcbikoUmVzZXRQYXNzd29yZCkpXG4iXSwibWFwcGluZ3Mi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
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
+ var _Security = require("./Security");
8
9
  var _reactRouterDom = require("react-router-dom");
9
10
  var _material = require("@mui/material");
10
11
  var _ThemeProvider = _interopRequireDefault(require("@mui/styles/ThemeProvider"));
@@ -68,6 +69,9 @@ const FOOTER_LINKS = [{
68
69
  // registration starts, since the login page links to /register via <a href>.
69
70
  let registrationBootstrapped = false;
70
71
  const RegisterInteractionPortal = props => {
72
+ _react.default.useEffect(() => {
73
+ (0, _Security.clearSession)();
74
+ }, []);
71
75
  const navigate = (0, _reactRouterDom.useNavigate)();
72
76
  // The :type route segment (e.g. 'vendor'). Falls back to 'vendor'
73
77
  // when the route has no type segment yet — keeps a bare /register
@@ -397,4 +401,4 @@ const RegisterInteractionPortal = props => {
397
401
  }, link.label))), /*#__PURE__*/_react.default.createElement("div", null, "\xA9 ", new Date().getFullYear(), " City of Johannesburg. All rights reserved.")));
398
402
  };
399
403
  var _default = exports.default = RegisterInteractionPortal;
400
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfcmVhY3RMb2FkZXJTcGlubmVyIiwiX1V0aWxzIiwiX1Jlc3RVdGlscyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhvc3QiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXIiwidmVuZG9yIiwiRk9PVEVSX0xJTktTIiwibGFiZWwiLCJmaWxlIiwicmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkIiwiUmVnaXN0ZXJJbnRlcmFjdGlvblBvcnRhbCIsInByb3BzIiwibmF2aWdhdGUiLCJ1c2VOYXZpZ2F0ZSIsInR5cGUiLCJyYXdUeXBlIiwidXNlUGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ2aWV3UGF0aCIsInZpZXdMb2FkZWQiLCJzZXRWaWV3TG9hZGVkIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImVycm9yIiwic2V0RXJyb3IiLCJ1c2VFZmZlY3QiLCJyZXBsYWNlIiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRBY3RpdmVUZW5hbnQiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImRhdGEiLCJjb25zb2xlIiwiaXNXaW5kb3ciLCJsb2FkR3JhcGgiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjb2xvciIsIm1hcmdpbiIsImhyZWYiLCJ0ZXh0RGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJwcmltYXJ5IiwicHJpbWFyeUNvbG9yIiwicG9zaXRpb24iLCJtaW5IZWlnaHQiLCJiYWNrZ3JvdW5kIiwidG9wIiwibGVmdCIsInRyYW5zZm9ybSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ3aGl0ZVNwYWNlIiwiZm9udFNpemUiLCJsZXR0ZXJTcGFjaW5nIiwidGV4dFNoYWRvdyIsIm9wYWNpdHkiLCJPdmFsIiwidmlzaWJsZSIsImhlaWdodCIsIndpZHRoIiwic2Vjb25kYXJ5Q29sb3IiLCJzdHJva2VXaWR0aCIsImFyaWFMYWJlbCIsIm9yZ0NvZGUiLCJTdHJpbmciLCJhZ3JlZW1lbnRCYXNlIiwib3JpZ2luIiwiZmxleCIsIlRoZW1lUHJvdmlkZXIiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwicGFsZXR0ZSIsIm1haW4iLCJzZWNvbmRhcnkiLCJjb21wb25lbnRzIiwiTXVpQ3NzQmFzZWxpbmUiLCJzdHlsZU92ZXJyaWRlcyIsImJvZHkiLCJzY3JvbGxiYXJDb2xvciIsInNjcm9sbGJhcldpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwidHJhbnNpdGlvbiIsIkNzc0Jhc2VsaW5lIiwid2luZG93UGlubmVkIiwibWVudU9mZnNldCIsImxhbmRpbmdQYWdlIiwiZmxleFNocmluayIsImJvcmRlclRvcCIsImZsZXhXcmFwIiwibWFyZ2luQm90dG9tIiwibWFwIiwibGluayIsInRhcmdldCIsInJlbCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlldy9zZWN1cml0eS9SZWdpc3RlckludGVyYWN0aW9uUG9ydGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZU5hdmlnYXRlLCB1c2VQYXJhbXN9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge2NyZWF0ZVRoZW1lLCBDc3NCYXNlbGluZX0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBUaGVtZVByb3ZpZGVyIGZyb20gXCJAbXVpL3N0eWxlcy9UaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQge1RoZW1lUHJvdmlkZXIgYXMgRW1vdGlvblRoZW1lUHJvdmlkZXJ9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0XCI7XG5pbXBvcnQgeyBPdmFsIH0gZnJvbSBcInJlYWN0LWxvYWRlci1zcGlubmVyXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vUmVzdFV0aWxzXCI7XG5cbi8vIEhvc3RuYW1lIG9ubHkg4oCUIG1hdGNoZXMgdGhlIFVSTC1jb25zdHJ1Y3Rpb24gc3R5bGUgaW5cbi8vIEludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcy4gY29udGV4dC1yb290ICsgc2VydmljZSBwYXRoIGdldCBhcHBlbmRlZFxuLy8gd2hlbiB0aGUgYWN0dWFsIHJlcXVlc3QgaXMgYnVpbHQuXG5jb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG4vKipcbiAqIFNrZWxldG9uIGZvciB0aGUgcmVnaXN0cmF0aW9uIHBvcnRhbCDigJQgd2lyZXMgdGhlIEFwcGxpY2F0aW9uTWFuYWdlcixcbiAqIHRoZSBkdWFsIEVtb3Rpb24vTVVJIHRoZW1lIHByb3ZpZGVycywgYW5kIGEgQ0RVSSB7QGxpbmsgVmlld1BvcnR9LlxuICogVGhlIGFjdHVhbCByZWdpc3RyYXRpb24gdmlldyBsYW5kcyBpbiBhIGZvbGxvdy11cCBzcHJpbnRcbiAqIChzcGVjL3JlZ2lzdHJhdGlvbi5tZCDCpzIpLiBNaXJyb3JzIHtAY29kZSBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanN9XG4gKiBmb3IgdGhlbWUgKyBtYW5hZ2VyIGluaXQgYnV0IG9taXRzIHRoZSB7QGNvZGUgL3N5c3RlbS9zZXR1cH0gYW5kXG4gKiB7QGNvZGUgL2F1dGgvdXNlci9maW5kfSBlbmRwb2ludHMg4oCUIHRoZSByZWdpc3RyYXRpb24gZmxvdyBydW5zXG4gKiB1bmF1dGhlbnRpY2F0ZWQgYW5kIHRoZXJlIGlzIG5vIGxvZ2dlZC1pbiB1c2VyIHRvIGxvb2sgdXAuXG4gKlxuICogPHA+QmVjYXVzZSBubyB7QGNvZGUgZGFzaGJvYXJkU2V0dGluZ3N9IGlzIGxvYWRlZCBoZXJlIChubyBhdXRoKSwgYm90aFxuICogdGhlIEVtb3Rpb24gb3V0ZXIgYW5kIE1hdGVyaWFsIGlubmVyIHRoZW1lcyBhcmUgc2VlZGVkIGZyb21cbiAqIHtAY29kZSBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvciAvIHNlY29uZGFyeUNvbG9yfSDigJQgdGhlIHNhbWVcbiAqIGZhbGxiYWNrIHRoZSBsb2dpbiBwb3J0YWwgdXNlcy5cbiAqL1xuLy8gVHlwZS1zY29wZWQgcmVnaXN0cmF0aW9uOiBlYWNoIHR5cGUgaGFzIGl0cyBvd24gd2l6YXJkIEpTT04gdW5kZXJcbi8vIC9wb3J0YWwvdmlld3MvcmVnaXN0cmF0aW9uLy4gTmV3IHR5cGVzIGFkZCBhbiBlbnRyeSBoZXJlLlxuY29uc3QgUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyA9IHtcbiAgICB2ZW5kb3I6ICcvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24tdmVuZG9yLmpzb24nLFxufTtcblxuLy8gRVVMQS1zdGFuZGFyZCBmb290ZXIgbGlua3MuIFRoZSBhZ3JlZW1lbnQgSFRNTCBmaWxlcyBhcmUgaG9zdGVkIHVuZGVyXG4vLyAvYWdyZWVtZW50cy88b3JnQ29kZT4vPGRvYz4uaHRtbCAoc2VydmVkIGJ5IG5naW54IGluIHByb2QgLyBTcHJpbmdcbi8vIHN0YXRpYy1yZXNvdXJjZSBtYXBwaW5nIGluIGRldikuIE5ldyBsZWdhbCBkb2N1bWVudHMgYWRkIGFuIGVudHJ5XG4vLyBoZXJlLiBXaGVuIGFjY2VwdGFuY2UtY2hlY2tib3ggY2FwdHVyZSBsYW5kcyBpbiB0aGUgd2l6YXJkLCBzd2l0Y2hcbi8vIHRoZXNlIFVSTHMgdG8gdmVyc2lvbmVkIHBhdGhzIChlLmcuIHRlcm1zLW9mLXNlcnZpY2UvdjEuaHRtbCkuXG5jb25zdCBGT09URVJfTElOS1MgPSBbXG4gICAge2xhYmVsOiAnVGVybXMgb2YgU2VydmljZScsIGZpbGU6ICd0ZXJtcy1vZi1zZXJ2aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQcml2YWN5IFBvbGljeScsIGZpbGU6ICdwcml2YWN5LXBvbGljeS5odG1sJ30sXG4gICAge2xhYmVsOiAnQ29va2llIE5vdGljZScsIGZpbGU6ICdjb29raWUtbm90aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQT1BJQSBOb3RpY2UnLCBmaWxlOiAncG9waWEtbm90aWNlLmh0bWwnfSxcbl07XG5cbi8vIFRoZSBiYXJlIC9yZWdpc3RlciBlbnRyeSBpcyBhIG9uZS1zaG90IGJvb3RzdHJhcDogaXQgbG9hZHMgdGhlIHdpemFyZCBncmFwaFxuLy8gYW5kIGltbWVkaWF0ZWx5IGZvcndhcmRzIGludG8gL3JlZ2lzdGVyLzx0eXBlPi88aWQ+IChzZWUgUm91dGVBY3Rpb25IYW5kbGVyKS5cbi8vIFRoYXQgbGVhdmVzIC9yZWdpc3RlciBhcyBhIHNwZW50LCBibGFuayBiYWNrLXRhcmdldC4gVGhpcyBtb2R1bGUtbGV2ZWwgZmxhZ1xuLy8gKHRydWUgb25jZSB3ZSd2ZSBib290c3RyYXBwZWQgdGhpcyBTUEEgc2Vzc2lvbikgbGV0cyBhICpiYWNrKi1uYXZpZ2F0aW9uIHRvXG4vLyB0aGUgYmFyZSBlbnRyeSByZWRpcmVjdCB0byAvbG9naW4gaW5zdGVhZCBvZiByZS1ib290c3RyYXBwaW5nIGludG8gYSBibGFua1xuLy8gcGFnZS4gSXQgcmVzZXRzIG9uIGEgZnVsbCBwYWdlIGxvYWQg4oCUIHdoaWNoIGlzIGV4YWN0bHkgaG93IGEgZnJlc2hcbi8vIHJlZ2lzdHJhdGlvbiBzdGFydHMsIHNpbmNlIHRoZSBsb2dpbiBwYWdlIGxpbmtzIHRvIC9yZWdpc3RlciB2aWEgPGEgaHJlZj4uXG5sZXQgcmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkID0gZmFsc2U7XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIC8vIEJhY2stbmF2aWdhdGlvbiBndWFyZC4gS2V5ZWQgb24gcmF3VHlwZSAobm90IHRoZSBib290c3RyYXAgZGVwcykgYmVjYXVzZVxuICAgIC8vIFJlYWN0IFJvdXRlciByZXVzZXMgdGhpcyBzYW1lIGNvbXBvbmVudCBpbnN0YW5jZSB3aGVuIHRoZSBVUkwgY2hhbmdlc1xuICAgIC8vIGJldHdlZW4gL3JlZ2lzdGVyLzp0eXBlIGFuZCB0aGUgYmFyZSAvcmVnaXN0ZXIg4oCUIGFuZCBgdHlwZWAgZGVmYXVsdHMgdG9cbiAgICAvLyAndmVuZG9yJyBpbiBib3RoLCBzbyB0aGUgYm9vdHN0cmFwIGVmZmVjdCdzIFt0eXBlLCB2aWV3UGF0aF0gZGVwcyBuZXZlclxuICAgIC8vIGNoYW5nZSBhbmQgd291bGQgbm90IHJlLXJ1bi4gcmF3VHlwZSwgaG93ZXZlciwgZmxpcHMgJ3ZlbmRvcicg4oaSIHVuZGVmaW5lZFxuICAgIC8vIG9uIHRoZSB3YXkgYmFjayB0byB0aGUgYmFyZSBlbnRyeS4gV2hlbiB0aGF0IGhhcHBlbnMgYWZ0ZXIgd2UndmUgYWxyZWFkeVxuICAgIC8vIGJvb3RzdHJhcHBlZCB0aGlzIHNlc3Npb24sIHRoZSB3aXphcmQgZ3JhcGggaXMgc3BlbnQgYW5kIHRoZSBiYXJlIGVudHJ5XG4gICAgLy8gd291bGQgcmVuZGVyIGJsYW5rIOKAlCBzZW5kIHRoZSB1c2VyIHRvIGxvZ2luIGluc3RlYWQuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFyYXdUeXBlICYmIHJlZ2lzdHJhdGlvbkJvb3RzdHJhcHBlZCkge1xuICAgICAgICAgICAgbmF2aWdhdGUoJy9sb2dpbicsIHtyZXBsYWNlOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9LCBbcmF3VHlwZV0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gTWlycm9yIG9mIHRoZSBndWFyZCBhYm92ZSBmb3IgdGhlIHJlbW91bnQgY2FzZSAoZnJlc2ggbW91bnQgb24gdGhlXG4gICAgICAgIC8vIGJhcmUgZW50cnkgYWZ0ZXIgYm9vdHN0cmFwcGluZyk6IHNraXAgcmUtYm9vdHN0cmFwcGluZyBhbmQgYm91bmNlIHRvXG4gICAgICAgIC8vIGxvZ2luIHJhdGhlciB0aGFuIHJlbmRlcmluZyBibGFuay5cbiAgICAgICAgaWYgKCFyYXdUeXBlICYmIHJlZ2lzdHJhdGlvbkJvb3RzdHJhcHBlZCkge1xuICAgICAgICAgICAgbmF2aWdhdGUoJy9sb2dpbicsIHtyZXBsYWNlOiB0cnVlfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZpZXdQYXRoKSB7XG4gICAgICAgICAgICBzZXRFcnJvcihgUmVnaXN0cmF0aW9uIHR5cGUgXCIke3R5cGV9XCIgaXMgbm90IHN1cHBvcnRlZC5gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlJ3JlIGNvbW1pdHRpbmcgdG8gdGhlIGJvb3RzdHJhcCDigJQgbWFyayB0aGUgZmxvdyBhcyBlbnRlcmVkIHNvIGFcbiAgICAgICAgLy8gbGF0ZXIgYnJvd3Nlci1iYWNrIHRvIHRoZSBiYXJlIGVudHJ5IGhpdHMgdGhlIGd1YXJkIGFib3ZlLlxuICAgICAgICByZWdpc3RyYXRpb25Cb290c3RyYXBwZWQgPSB0cnVlO1xuXG5cbiAgICAgICAgLy8gSGFyZGNvZGVkIHRlbmFudCBmb3Igbm93IHVudGlsIHRlbmFudCByZXNvbHV0aW9uIGlzIGltcGxlbWVudGVkXG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldEFjdGl2ZVRlbmFudCgnQ09KJyk7XG5cbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0U2VydmljZUFwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5zZXJ2aWNlQXBpUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldFVJQ29uZmlnUGF0aChwcm9wcy5pbXBsQ29uZmlnLnVpQ29uZmlnUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldENvbnRleHRSb290KHByb3BzLmNvbnRleHRSb290KTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0RmlsZXNBcGlQYXRoKHByb3BzLmltcGxDb25maWcuZmlsZXNBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldE5hdmlnYXRvcigocGF0aCkgPT4ge1xuICAgICAgICAgICAgbmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFB1YmxpYyBDRFVJIGZldGNoIOKAlCBoaXRzIHRoZSB1bnByb3RlY3RlZCBlbmRwb2ludCB3ZSBhZGRlZFxuICAgICAgICAvLyB0byBvdWktc2VydmVyICh3aGl0ZWxpc3RlZCBpbiBSZXNvdXJjZVNlcnZlckNvbmZpZykuIFRoZVxuICAgICAgICAvLyByZXR1cm5lZCBKU09OIGlzIGRpc3BhdGNoZWQgdGhlIHNhbWUgd2F5IFJvdXRlQWN0aW9uSGFuZGxlclxuICAgICAgICAvLyBkb2VzIGl0OiBzaW5nbGUtcGFnZSBgdmlld2Ag4oaSIGFkZFZpZXcgKyBuYXZpZ2F0ZTsgbXVsdGktc3RlcFxuICAgICAgICAvLyBgZ3JhcGhgIOKGkiBsb2FkR3JhcGggKHdoaWNoIG93bnMgc3RlcHBlciBzdGF0ZSArIGZpcnN0LW5vZGVcbiAgICAgICAgLy8gcm91dGluZykuIE1peGluZyB0aGVtIHVwIHJvdXRlcyBhIGdyYXBoIHRocm91Z2ggYWRkVmlldyBhbmRcbiAgICAgICAgLy8gbGVhdmVzIHRoZSB3aXphcmQgbm9kZXMgdW5yZWFjaGFibGUuXG4gICAgICAgIHNlbmRSZXF1ZXN0KFxuICAgICAgICAgICAgaG9zdCArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgJy91aS9hcGkvdjEvdmlldy9wdWJsaWMvZ2V0P3ZlcnNpb249MS4wJmlkPScgKyB2aWV3UGF0aCxcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gc2VuZFJlcXVlc3QgYXV0by1kZWNvZGVzIHRoZSB7X2NkdWlfen0gd2lyZSB3cmFwIGZvclxuICAgICAgICAgICAgICAgIC8vIC91aS9hcGkvdiovIFVSTHMg4oCUIGRhdGEgaGVyZSBpcyB0aGUgcmF3IHZpZXcgY29uZmlnLlxuICAgICAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdQdWJsaWMgcmVnaXN0cmF0aW9uIHZpZXcgZmV0Y2ggcmV0dXJuZWQgZW1wdHkgcGF5bG9hZCcpO1xuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChkYXRhLnR5cGUgPT09ICdncmFwaCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWlycm9yIFJvdXRlQWN0aW9uSGFuZGxlcidzIGdyYXBoIGJyYW5jaDogaGFuZCB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gcmF3IGNvbmZpZyB0byBsb2FkR3JhcGgsIHdoaWNoIG1hbmFnZXMgaW50ZXJuYWxcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9kZSBuYXZpZ2F0aW9uLiBObyBtYW51YWwgbmF2aWdhdGUgaGVyZSDigJRcbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZEdyYXBoIHJvdXRlcyB0byB0aGUgZmlyc3Qgbm9kZSBpdHNlbGYuXG4gICAgICAgICAgICAgICAgICAgIGRhdGEuaXNXaW5kb3cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmxvYWRHcmFwaCh0cnVlLCBkYXRhLCBbXSwgJ21haW4nKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0Vmlld0xvYWRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PT0gJ3ZpZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNpbmdsZS1wYWdlIHZpZXc6IGJ1aWxkIHRoZSBlbnZlbG9wZSBhbmQgcmVnaXN0ZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gaXQgb24gdGhlICdtYWluJyBjb250ZXh0LCB0aGVuIG5hdmlnYXRlIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyB0eXBlLXNjb3BlZCByZWdpc3RlciByb3V0ZSBzbyB0aGUgVmlld1BvcnRcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVzb2x2ZXMgaXQuIE1pcnJvcnMgUm91dGVBY3Rpb25IYW5kbGVyJ3Mgdmlld1xuICAgICAgICAgICAgICAgICAgICAvLyBicmFuY2gsIHdpdGggdGhlIHJlZ2lzdGVyLXBvcnRhbCBVUkwgcGF0dGVyblxuICAgICAgICAgICAgICAgICAgICAvLyAoL3JlZ2lzdGVyLzp0eXBlLzppZCkgc3Vic3RpdHV0ZWQgZm9yIC92aWV3LzppZC5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdE1vZGVsID0ge307XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZXcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc6IGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGlkKCkgeyByZXR1cm4gZGF0YS5pZDsgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IG1vZGVsKCkgeyByZXR1cm4gZGVmYXVsdE1vZGVsOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRDaGlsZDogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlTW9kZWw6ICh2YWx1ZXMpID0+IHsgVXRpbHMudXBkYXRlTW9kZWwodmFsdWVzLCBkZWZhdWx0TW9kZWwpOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNb2RlbFZhbHVlOiAoa2V5LCB2YWx1ZSkgPT4geyBkZWZhdWx0TW9kZWxba2V5XSA9IHZhbHVlOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRNb2RlbFZhbHVlOiAoa2V5KSA9PiBkZWZhdWx0TW9kZWxba2V5XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiAoKSA9PiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmFkZFZpZXcodmlldywgZGF0YS5pZCwgdHJ1ZSwgJ21haW4nKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0Vmlld0xvYWRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLm5hdmlnYXRlKCcvcmVnaXN0ZXIvJyArIHR5cGUgKyAnLycgKyBkYXRhLmlkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdQdWJsaWMgcmVnaXN0cmF0aW9uIHZpZXcgZmV0Y2ggcmV0dXJuZWQgdW5leHBlY3RlZCB0eXBlJywgZGF0YS50eXBlLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0RXJyb3IoJ1JlZ2lzdHJhdGlvbiB2aWV3IGNvdWxkIG5vdCBiZSBsb2FkZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVnaXN0cmF0aW9uIHZpZXcnLCBlKTtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgIH0sIGZhbHNlLCB0cnVlXG4gICAgICAgICk7XG4gICAgfSwgW3R5cGUsIHZpZXdQYXRoXSk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiIHN0eWxlPXt7ZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiA0MjAsIHBhZGRpbmc6IDMyLCB0ZXh0QWxpZ246ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIG1hcmdpbjogJzAgMCAxMnB4J319Pk5vdCBhdmFpbGFibGU8L2gyPlxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e2NvbG9yOiAnIzZiNzc4NScsIG1hcmdpbjogJzAgMCAxNnB4J319PntlcnJvcn08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvbG9naW5cIiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIHRleHREZWNvcmF0aW9uOiAnbm9uZScsIGZvbnRXZWlnaHQ6IDUwMH19PkJhY2sgdG8gbG9naW48L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBXaGlsZSB0aGUgcHVibGljIENEVUkgZmV0Y2ggaXMgaW4gZmxpZ2h0LCBzaG93IGEgYnJhbmRlZCBsb2FkaW5nIHNjcmVlblxuICAgIC8vIGFuZCBrZWVwIHRoZSBWaWV3UG9ydCB1bm1vdW50ZWQg4oCUIGl0IGhhcyBub3RoaW5nIHRvIHJlc29sdmUgdW50aWwgdGhlXG4gICAgLy8gd2l6YXJkIHZpZXcgSlNPTiBpcyBmZXRjaGVkIGFuZCByZWdpc3RlcmVkICh0aGUgdmlld0xvYWRlZCBnYXRlIHRoZVxuICAgIC8vIGhlYWRlciBjb21tZW50IGRlc2NyaWJlcykuIENvbG91cnMgZmFsbCBiYWNrIHRvIHRoZSBDT0ogcGFsZXR0ZSB3aGVuXG4gICAgLy8gaW1wbENvbmZpZyBoYXNuJ3QgYmVlbiBwbHVtYmVkIHRocm91Z2ggeWV0LlxuICAgIGlmICghdmlld0xvYWRlZCkge1xuICAgICAgICBjb25zdCBwcmltYXJ5ID0gKHByb3BzLmltcGxDb25maWcgJiYgcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IpIHx8ICcjMWEzYzVlJztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMTAwdmgnLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMxYTNjNWUnLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBgI2YxZjFmMWAsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7LyogQ2FwdGlvbiBzaXRzIGluIHRoZSB1cHBlciBhcmVhOyB0aGUgc3Bpbm5lciBpcyBwaW5uZWQgZGVhZC1jZW50cmUuICovfVxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzMwJScsIGxlZnQ6ICc1MCUnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnMTBweCcsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICA8aDEgc3R5bGU9e3ttYXJnaW46IDAsIGZvbnRTaXplOiAnNDJweCcsIGZvbnRXZWlnaHQ6IDcwMCwgbGV0dGVyU3BhY2luZzogJzAuMTBlbScsIHRleHRTaGFkb3c6ICcwIDJweCAxMnB4IHJnYmEoMCwwLDAsMC4yNSknfX0+XG4gICAgICAgICAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7bWFyZ2luOiAwLCBmb250U2l6ZTogJzE1cHgnLCBsZXR0ZXJTcGFjaW5nOiAnMC4wMmVtJywgb3BhY2l0eTogMC44Mn19PlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICc1MCUnLCBsZWZ0OiAnNTAlJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC01MCUsIC01MCUpJ319PlxuICAgICAgICAgICAgICAgICAgICA8T3ZhbFxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjYwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCIjZmZmZmZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUNvbG9yPVwicmdiYSgyNTUsMjU1LDI1NSwwLjMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXszfVxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwicmVnaXN0cmF0aW9uLWxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVGVuYW50IGNvZGUgdGhhdCBzY29wZXMgdGhlIGFncmVlbWVudC1hc3NldCBwYXRoLiBEZWZhdWx0IHRvICdjb2onXG4gICAgLy8gdW50aWwgaW1wbENvbmZpZy5vcmdDb2RlIGlzIHBsdW1iZWQgdGhyb3VnaCBmcm9tIHRoZSBwb3J0YWwgY29uZmlnXG4gICAgLy8gZW5kcG9pbnQg4oCUIHRoZSBleGlzdGluZyBwYWdlcyBsaXZlIHVuZGVyIC9hZ3JlZW1lbnRzL2Nvai8uXG4gICAgY29uc3Qgb3JnQ29kZSA9IChwcm9wcy5pbXBsQ29uZmlnICYmIHByb3BzLmltcGxDb25maWcub3JnQ29kZVxuICAgICAgICA/IFN0cmluZyhwcm9wcy5pbXBsQ29uZmlnLm9yZ0NvZGUpXG4gICAgICAgIDogJ2NvaicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgYWdyZWVtZW50QmFzZSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2FncmVlbWVudHMvJyArIG9yZ0NvZGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJ319XG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tmbGV4OiAnMSAxIGF1dG8nLCBtaW5IZWlnaHQ6ICdjYWxjKDEwMHZoIC0gNzJweCknLCBwb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgICAgICAgIDxFbW90aW9uVGhlbWVQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB0aGVtZT17Y3JlYXRlVGhlbWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbjogcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbjogcHJvcHMuaW1wbENvbmZpZy5zZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8VGhlbWVQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11aUNzc0Jhc2VsaW5lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZU92ZXJyaWRlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZWZveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KSB0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhcldpZHRoOiAndGhpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZWJLaXQgYnJvd3NlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc4cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICc4cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2snOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQtY29sb3IgMC4zcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjYpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Vmlld1BvcnQgd2luZG93UGlubmVkPXtmYWxzZX0gbWVudU9mZnNldD17MH0gbGFuZGluZ1BhZ2U9e1wiTk9ORVwifSBzdHlsZT17e3dpZHRoOiAnMTAwJScsIGhlaWdodDogJ2NhbGMoMTAwJSAtIDcycHgpJywgcG9zaXRpb246ICdmaXhlZCd9fS8+XG4gICAgICAgICAgICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0Vtb3Rpb25UaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Zm9vdGVyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzE2cHggMjRweCcsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICcjZmZmZmZmJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkICNlNmVhZjAnLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzEzcHgnLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2Yjc3ODUnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6ICcyNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICc2cHgnXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Rk9PVEVSX0xJTktTLm1hcCgobGluaykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2xpbmsuZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXthZ3JlZW1lbnRCYXNlICsgJy8nICsgbGluay5maWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tjb2xvcjogJyMxYTNjNWUnLCB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLCBmb250V2VpZ2h0OiA1MDB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsaW5rLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAmY29weTsge25ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKX0gQ2l0eSBvZiBKb2hhbm5lc2J1cmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLG1CQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxtQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBVCxPQUFBO0FBQTRDLFNBQUFELHVCQUFBVyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTVDO0FBQ0E7QUFDQTtBQUNBLE1BQU1HLElBQUksR0FBR0MsTUFBTSxDQUFDQyxRQUFRLENBQUNDLFFB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
404
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TZWN1cml0eSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfcmVhY3RMb2FkZXJTcGlubmVyIiwiX1V0aWxzIiwiX1Jlc3RVdGlscyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhvc3QiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXIiwidmVuZG9yIiwiRk9PVEVSX0xJTktTIiwibGFiZWwiLCJmaWxlIiwicmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkIiwiUmVnaXN0ZXJJbnRlcmFjdGlvblBvcnRhbCIsInByb3BzIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJjbGVhclNlc3Npb24iLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwidHlwZSIsInJhd1R5cGUiLCJ1c2VQYXJhbXMiLCJ0b0xvd2VyQ2FzZSIsInZpZXdQYXRoIiwidmlld0xvYWRlZCIsInNldFZpZXdMb2FkZWQiLCJ1c2VTdGF0ZSIsImVycm9yIiwic2V0RXJyb3IiLCJyZXBsYWNlIiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRBY3RpdmVUZW5hbnQiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImRhdGEiLCJjb25zb2xlIiwiaXNXaW5kb3ciLCJsb2FkR3JhcGgiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjb2xvciIsIm1hcmdpbiIsImhyZWYiLCJ0ZXh0RGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJwcmltYXJ5IiwicHJpbWFyeUNvbG9yIiwicG9zaXRpb24iLCJtaW5IZWlnaHQiLCJiYWNrZ3JvdW5kIiwidG9wIiwibGVmdCIsInRyYW5zZm9ybSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ3aGl0ZVNwYWNlIiwiZm9udFNpemUiLCJsZXR0ZXJTcGFjaW5nIiwidGV4dFNoYWRvdyIsIm9wYWNpdHkiLCJPdmFsIiwidmlzaWJsZSIsImhlaWdodCIsIndpZHRoIiwic2Vjb25kYXJ5Q29sb3IiLCJzdHJva2VXaWR0aCIsImFyaWFMYWJlbCIsIm9yZ0NvZGUiLCJTdHJpbmciLCJhZ3JlZW1lbnRCYXNlIiwib3JpZ2luIiwiZmxleCIsIlRoZW1lUHJvdmlkZXIiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwicGFsZXR0ZSIsIm1haW4iLCJzZWNvbmRhcnkiLCJjb21wb25lbnRzIiwiTXVpQ3NzQmFzZWxpbmUiLCJzdHlsZU92ZXJyaWRlcyIsImJvZHkiLCJzY3JvbGxiYXJDb2xvciIsInNjcm9sbGJhcldpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwidHJhbnNpdGlvbiIsIkNzc0Jhc2VsaW5lIiwid2luZG93UGlubmVkIiwibWVudU9mZnNldCIsImxhbmRpbmdQYWdlIiwiZmxleFNocmluayIsImJvcmRlclRvcCIsImZsZXhXcmFwIiwibWFyZ2luQm90dG9tIiwibWFwIiwibGluayIsInRhcmdldCIsInJlbCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlldy9zZWN1cml0eS9SZWdpc3RlckludGVyYWN0aW9uUG9ydGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge2NsZWFyU2Vzc2lvbn0gZnJvbSAnLi9TZWN1cml0eSc7XG5pbXBvcnQge3VzZU5hdmlnYXRlLCB1c2VQYXJhbXN9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge2NyZWF0ZVRoZW1lLCBDc3NCYXNlbGluZX0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBUaGVtZVByb3ZpZGVyIGZyb20gXCJAbXVpL3N0eWxlcy9UaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQge1RoZW1lUHJvdmlkZXIgYXMgRW1vdGlvblRoZW1lUHJvdmlkZXJ9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0XCI7XG5pbXBvcnQgeyBPdmFsIH0gZnJvbSBcInJlYWN0LWxvYWRlci1zcGlubmVyXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vUmVzdFV0aWxzXCI7XG5cbi8vIEhvc3RuYW1lIG9ubHkg4oCUIG1hdGNoZXMgdGhlIFVSTC1jb25zdHJ1Y3Rpb24gc3R5bGUgaW5cbi8vIEludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcy4gY29udGV4dC1yb290ICsgc2VydmljZSBwYXRoIGdldCBhcHBlbmRlZFxuLy8gd2hlbiB0aGUgYWN0dWFsIHJlcXVlc3QgaXMgYnVpbHQuXG5jb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG4vKipcbiAqIFNrZWxldG9uIGZvciB0aGUgcmVnaXN0cmF0aW9uIHBvcnRhbCDigJQgd2lyZXMgdGhlIEFwcGxpY2F0aW9uTWFuYWdlcixcbiAqIHRoZSBkdWFsIEVtb3Rpb24vTVVJIHRoZW1lIHByb3ZpZGVycywgYW5kIGEgQ0RVSSB7QGxpbmsgVmlld1BvcnR9LlxuICogVGhlIGFjdHVhbCByZWdpc3RyYXRpb24gdmlldyBsYW5kcyBpbiBhIGZvbGxvdy11cCBzcHJpbnRcbiAqIChzcGVjL3JlZ2lzdHJhdGlvbi5tZCDCpzIpLiBNaXJyb3JzIHtAY29kZSBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanN9XG4gKiBmb3IgdGhlbWUgKyBtYW5hZ2VyIGluaXQgYnV0IG9taXRzIHRoZSB7QGNvZGUgL3N5c3RlbS9zZXR1cH0gYW5kXG4gKiB7QGNvZGUgL2F1dGgvdXNlci9maW5kfSBlbmRwb2ludHMg4oCUIHRoZSByZWdpc3RyYXRpb24gZmxvdyBydW5zXG4gKiB1bmF1dGhlbnRpY2F0ZWQgYW5kIHRoZXJlIGlzIG5vIGxvZ2dlZC1pbiB1c2VyIHRvIGxvb2sgdXAuXG4gKlxuICogPHA+QmVjYXVzZSBubyB7QGNvZGUgZGFzaGJvYXJkU2V0dGluZ3N9IGlzIGxvYWRlZCBoZXJlIChubyBhdXRoKSwgYm90aFxuICogdGhlIEVtb3Rpb24gb3V0ZXIgYW5kIE1hdGVyaWFsIGlubmVyIHRoZW1lcyBhcmUgc2VlZGVkIGZyb21cbiAqIHtAY29kZSBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvciAvIHNlY29uZGFyeUNvbG9yfSDigJQgdGhlIHNhbWVcbiAqIGZhbGxiYWNrIHRoZSBsb2dpbiBwb3J0YWwgdXNlcy5cbiAqL1xuLy8gVHlwZS1zY29wZWQgcmVnaXN0cmF0aW9uOiBlYWNoIHR5cGUgaGFzIGl0cyBvd24gd2l6YXJkIEpTT04gdW5kZXJcbi8vIC9wb3J0YWwvdmlld3MvcmVnaXN0cmF0aW9uLy4gTmV3IHR5cGVzIGFkZCBhbiBlbnRyeSBoZXJlLlxuY29uc3QgUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyA9IHtcbiAgICB2ZW5kb3I6ICcvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24tdmVuZG9yLmpzb24nLFxufTtcblxuLy8gRVVMQS1zdGFuZGFyZCBmb290ZXIgbGlua3MuIFRoZSBhZ3JlZW1lbnQgSFRNTCBmaWxlcyBhcmUgaG9zdGVkIHVuZGVyXG4vLyAvYWdyZWVtZW50cy88b3JnQ29kZT4vPGRvYz4uaHRtbCAoc2VydmVkIGJ5IG5naW54IGluIHByb2QgLyBTcHJpbmdcbi8vIHN0YXRpYy1yZXNvdXJjZSBtYXBwaW5nIGluIGRldikuIE5ldyBsZWdhbCBkb2N1bWVudHMgYWRkIGFuIGVudHJ5XG4vLyBoZXJlLiBXaGVuIGFjY2VwdGFuY2UtY2hlY2tib3ggY2FwdHVyZSBsYW5kcyBpbiB0aGUgd2l6YXJkLCBzd2l0Y2hcbi8vIHRoZXNlIFVSTHMgdG8gdmVyc2lvbmVkIHBhdGhzIChlLmcuIHRlcm1zLW9mLXNlcnZpY2UvdjEuaHRtbCkuXG5jb25zdCBGT09URVJfTElOS1MgPSBbXG4gICAge2xhYmVsOiAnVGVybXMgb2YgU2VydmljZScsIGZpbGU6ICd0ZXJtcy1vZi1zZXJ2aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQcml2YWN5IFBvbGljeScsIGZpbGU6ICdwcml2YWN5LXBvbGljeS5odG1sJ30sXG4gICAge2xhYmVsOiAnQ29va2llIE5vdGljZScsIGZpbGU6ICdjb29raWUtbm90aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQT1BJQSBOb3RpY2UnLCBmaWxlOiAncG9waWEtbm90aWNlLmh0bWwnfSxcbl07XG5cbi8vIFRoZSBiYXJlIC9yZWdpc3RlciBlbnRyeSBpcyBhIG9uZS1zaG90IGJvb3RzdHJhcDogaXQgbG9hZHMgdGhlIHdpemFyZCBncmFwaFxuLy8gYW5kIGltbWVkaWF0ZWx5IGZvcndhcmRzIGludG8gL3JlZ2lzdGVyLzx0eXBlPi88aWQ+IChzZWUgUm91dGVBY3Rpb25IYW5kbGVyKS5cbi8vIFRoYXQgbGVhdmVzIC9yZWdpc3RlciBhcyBhIHNwZW50LCBibGFuayBiYWNrLXRhcmdldC4gVGhpcyBtb2R1bGUtbGV2ZWwgZmxhZ1xuLy8gKHRydWUgb25jZSB3ZSd2ZSBib290c3RyYXBwZWQgdGhpcyBTUEEgc2Vzc2lvbikgbGV0cyBhICpiYWNrKi1uYXZpZ2F0aW9uIHRvXG4vLyB0aGUgYmFyZSBlbnRyeSByZWRpcmVjdCB0byAvbG9naW4gaW5zdGVhZCBvZiByZS1ib290c3RyYXBwaW5nIGludG8gYSBibGFua1xuLy8gcGFnZS4gSXQgcmVzZXRzIG9uIGEgZnVsbCBwYWdlIGxvYWQg4oCUIHdoaWNoIGlzIGV4YWN0bHkgaG93IGEgZnJlc2hcbi8vIHJlZ2lzdHJhdGlvbiBzdGFydHMsIHNpbmNlIHRoZSBsb2dpbiBwYWdlIGxpbmtzIHRvIC9yZWdpc3RlciB2aWEgPGEgaHJlZj4uXG5sZXQgcmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkID0gZmFsc2U7XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyBjbGVhclNlc3Npb24oKTsgfSwgW10pO1xuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgICAvLyBUaGUgOnR5cGUgcm91dGUgc2VnbWVudCAoZS5nLiAndmVuZG9yJykuIEZhbGxzIGJhY2sgdG8gJ3ZlbmRvcidcbiAgICAvLyB3aGVuIHRoZSByb3V0ZSBoYXMgbm8gdHlwZSBzZWdtZW50IHlldCDigJQga2VlcHMgYSBiYXJlIC9yZWdpc3RlclxuICAgIC8vIHJlcXVlc3Qgd29ya2luZyBkdXJpbmcgdGhlIHJvbGxvdXQgd2luZG93LlxuICAgIGNvbnN0IHt0eXBlOiByYXdUeXBlfSA9IHVzZVBhcmFtcygpO1xuICAgIGNvbnN0IHR5cGUgPSAocmF3VHlwZSB8fCAndmVuZG9yJykudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB2aWV3UGF0aCA9IFJFR0lTVFJBVElPTl9UWVBFX1RPX1ZJRVdbdHlwZV07XG5cbiAgICAvLyBHYXRlcyB0aGUgcmVuZGVyIOKAlCBibG9jayB0aGUgVmlld1BvcnQgbW91bnQgdW50aWwgdGhlIHdpemFyZFxuICAgIC8vIHZpZXcgSlNPTiBoYXMgYmVlbiBmZXRjaGVkIGFuZCByZWdpc3RlcmVkIHdpdGggdGhlXG4gICAgLy8gQXBwbGljYXRpb25NYW5hZ2VyLCBvdGhlcndpc2UgdGhlIENEVUkgcm91dGVyIGhhcyBub3RoaW5nIHRvXG4gICAgLy8gcmVzb2x2ZSB3aGVuIGl0IGxhbmRzIG9uIC92aWV3Lzx2aWV3SWQ+LlxuICAgIGNvbnN0IFt2aWV3TG9hZGVkLCBzZXRWaWV3TG9hZGVkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuXG4gICAgLy8gQmFjay1uYXZpZ2F0aW9uIGd1YXJkLiBLZXllZCBvbiByYXdUeXBlIChub3QgdGhlIGJvb3RzdHJhcCBkZXBzKSBiZWNhdXNlXG4gICAgLy8gUmVhY3QgUm91dGVyIHJldXNlcyB0aGlzIHNhbWUgY29tcG9uZW50IGluc3RhbmNlIHdoZW4gdGhlIFVSTCBjaGFuZ2VzXG4gICAgLy8gYmV0d2VlbiAvcmVnaXN0ZXIvOnR5cGUgYW5kIHRoZSBiYXJlIC9yZWdpc3RlciDigJQgYW5kIGB0eXBlYCBkZWZhdWx0cyB0b1xuICAgIC8vICd2ZW5kb3InIGluIGJvdGgsIHNvIHRoZSBib290c3RyYXAgZWZmZWN0J3MgW3R5cGUsIHZpZXdQYXRoXSBkZXBzIG5ldmVyXG4gICAgLy8gY2hhbmdlIGFuZCB3b3VsZCBub3QgcmUtcnVuLiByYXdUeXBlLCBob3dldmVyLCBmbGlwcyAndmVuZG9yJyDihpIgdW5kZWZpbmVkXG4gICAgLy8gb24gdGhlIHdheSBiYWNrIHRvIHRoZSBiYXJlIGVudHJ5LiBXaGVuIHRoYXQgaGFwcGVucyBhZnRlciB3ZSd2ZSBhbHJlYWR5XG4gICAgLy8gYm9vdHN0cmFwcGVkIHRoaXMgc2Vzc2lvbiwgdGhlIHdpemFyZCBncmFwaCBpcyBzcGVudCBhbmQgdGhlIGJhcmUgZW50cnlcbiAgICAvLyB3b3VsZCByZW5kZXIgYmxhbmsg4oCUIHNlbmQgdGhlIHVzZXIgdG8gbG9naW4gaW5zdGVhZC5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIXJhd1R5cGUgJiYgcmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkKSB7XG4gICAgICAgICAgICBuYXZpZ2F0ZSgnL2xvZ2luJywge3JlcGxhY2U6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH0sIFtyYXdUeXBlXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBNaXJyb3Igb2YgdGhlIGd1YXJkIGFib3ZlIGZvciB0aGUgcmVtb3VudCBjYXNlIChmcmVzaCBtb3VudCBvbiB0aGVcbiAgICAgICAgLy8gYmFyZSBlbnRyeSBhZnRlciBib290c3RyYXBwaW5nKTogc2tpcCByZS1ib290c3RyYXBwaW5nIGFuZCBib3VuY2UgdG9cbiAgICAgICAgLy8gbG9naW4gcmF0aGVyIHRoYW4gcmVuZGVyaW5nIGJsYW5rLlxuICAgICAgICBpZiAoIXJhd1R5cGUgJiYgcmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkKSB7XG4gICAgICAgICAgICBuYXZpZ2F0ZSgnL2xvZ2luJywge3JlcGxhY2U6IHRydWV9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmlld1BhdGgpIHtcbiAgICAgICAgICAgIHNldEVycm9yKGBSZWdpc3RyYXRpb24gdHlwZSBcIiR7dHlwZX1cIiBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2UncmUgY29tbWl0dGluZyB0byB0aGUgYm9vdHN0cmFwIOKAlCBtYXJrIHRoZSBmbG93IGFzIGVudGVyZWQgc28gYVxuICAgICAgICAvLyBsYXRlciBicm93c2VyLWJhY2sgdG8gdGhlIGJhcmUgZW50cnkgaGl0cyB0aGUgZ3VhcmQgYWJvdmUuXG4gICAgICAgIHJlZ2lzdHJhdGlvbkJvb3RzdHJhcHBlZCA9IHRydWU7XG5cblxuICAgICAgICAvLyBIYXJkY29kZWQgdGVuYW50IGZvciBub3cgdW50aWwgdGVuYW50IHJlc29sdXRpb24gaXMgaW1wbGVtZW50ZWRcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0QWN0aXZlVGVuYW50KCdDT0onKTtcblxuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRTZXJ2aWNlQXBpUGF0aChwcm9wcy5pbXBsQ29uZmlnLnNlcnZpY2VBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0VUlDb25maWdQYXRoKHByb3BzLmltcGxDb25maWcudWlDb25maWdQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0Q29udGV4dFJvb3QocHJvcHMuY29udGV4dFJvb3QpO1xuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRGaWxlc0FwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5maWxlc0FwaVBhdGgpO1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuc2V0TmF2aWdhdG9yKChwYXRoKSA9PiB7XG4gICAgICAgICAgICBuYXZpZ2F0ZShwYXRoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUHVibGljIENEVUkgZmV0Y2gg4oCUIGhpdHMgdGhlIHVucHJvdGVjdGVkIGVuZHBvaW50IHdlIGFkZGVkXG4gICAgICAgIC8vIHRvIG91aS1zZXJ2ZXIgKHdoaXRlbGlzdGVkIGluIFJlc291cmNlU2VydmVyQ29uZmlnKS4gVGhlXG4gICAgICAgIC8vIHJldHVybmVkIEpTT04gaXMgZGlzcGF0Y2hlZCB0aGUgc2FtZSB3YXkgUm91dGVBY3Rpb25IYW5kbGVyXG4gICAgICAgIC8vIGRvZXMgaXQ6IHNpbmdsZS1wYWdlIGB2aWV3YCDihpIgYWRkVmlldyArIG5hdmlnYXRlOyBtdWx0aS1zdGVwXG4gICAgICAgIC8vIGBncmFwaGAg4oaSIGxvYWRHcmFwaCAod2hpY2ggb3ducyBzdGVwcGVyIHN0YXRlICsgZmlyc3Qtbm9kZVxuICAgICAgICAvLyByb3V0aW5nKS4gTWl4aW5nIHRoZW0gdXAgcm91dGVzIGEgZ3JhcGggdGhyb3VnaCBhZGRWaWV3IGFuZFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIHdpemFyZCBub2RlcyB1bnJlYWNoYWJsZS5cbiAgICAgICAgc2VuZFJlcXVlc3QoXG4gICAgICAgICAgICBob3N0ICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3VpL2FwaS92MS92aWV3L3B1YmxpYy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIHZpZXdQYXRoLFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzZW5kUmVxdWVzdCBhdXRvLWRlY29kZXMgdGhlIHtfY2R1aV96fSB3aXJlIHdyYXAgZm9yXG4gICAgICAgICAgICAgICAgLy8gL3VpL2FwaS92Ki8gVVJMcyDigJQgZGF0YSBoZXJlIGlzIHRoZSByYXcgdmlldyBjb25maWcuXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCBlbXB0eSBwYXlsb2FkJyk7XG4gICAgICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ2dyYXBoJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBNaXJyb3IgUm91dGVBY3Rpb25IYW5kbGVyJ3MgZ3JhcGggYnJhbmNoOiBoYW5kIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyByYXcgY29uZmlnIHRvIGxvYWRHcmFwaCwgd2hpY2ggbWFuYWdlcyBpbnRlcm5hbFxuICAgICAgICAgICAgICAgICAgICAvLyBub2RlIG5hdmlnYXRpb24uIE5vIG1hbnVhbCBuYXZpZ2F0ZSBoZXJlIOKAlFxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkR3JhcGggcm91dGVzIHRvIHRoZSBmaXJzdCBub2RlIGl0c2VsZi5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS5pc1dpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubG9hZEdyYXBoKHRydWUsIGRhdGEsIFtdLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAndmlldycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2luZ2xlLXBhZ2UgdmlldzogYnVpbGQgdGhlIGVudmVsb3BlIGFuZCByZWdpc3RlclxuICAgICAgICAgICAgICAgICAgICAvLyBpdCBvbiB0aGUgJ21haW4nIGNvbnRleHQsIHRoZW4gbmF2aWdhdGUgdG8gdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIHR5cGUtc2NvcGVkIHJlZ2lzdGVyIHJvdXRlIHNvIHRoZSBWaWV3UG9ydFxuICAgICAgICAgICAgICAgICAgICAvLyByZXNvbHZlcyBpdC4gTWlycm9ycyBSb3V0ZUFjdGlvbkhhbmRsZXIncyB2aWV3XG4gICAgICAgICAgICAgICAgICAgIC8vIGJyYW5jaCwgd2l0aCB0aGUgcmVnaXN0ZXItcG9ydGFsIFVSTCBwYXR0ZXJuXG4gICAgICAgICAgICAgICAgICAgIC8vICgvcmVnaXN0ZXIvOnR5cGUvOmlkKSBzdWJzdGl0dXRlZCBmb3IgL3ZpZXcvOmlkLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0TW9kZWwgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgaWQoKSB7IHJldHVybiBkYXRhLmlkOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgbW9kZWwoKSB7IHJldHVybiBkZWZhdWx0TW9kZWw7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaWxkOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbDogKHZhbHVlcykgPT4geyBVdGlscy51cGRhdGVNb2RlbCh2YWx1ZXMsIGRlZmF1bHRNb2RlbCk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1vZGVsVmFsdWU6IChrZXksIHZhbHVlKSA9PiB7IGRlZmF1bHRNb2RlbFtrZXldID0gdmFsdWU7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vZGVsVmFsdWU6IChrZXkpID0+IGRlZmF1bHRNb2RlbFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkVmlldyh2aWV3LCBkYXRhLmlkLCB0cnVlLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubmF2aWdhdGUoJy9yZWdpc3Rlci8nICsgdHlwZSArICcvJyArIGRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCB1bmV4cGVjdGVkIHR5cGUnLCBkYXRhLnR5cGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZWdpc3RyYXRpb24gdmlldycsIGUpO1xuICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgfSwgZmFsc2UsIHRydWVcbiAgICAgICAgKTtcbiAgICB9LCBbdHlwZSwgdmlld1BhdGhdKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCIgc3R5bGU9e3tkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7bWF4V2lkdGg6IDQyMCwgcGFkZGluZzogMzIsIHRleHRBbGlnbjogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgbWFyZ2luOiAnMCAwIDEycHgnfX0+Tm90IGF2YWlsYWJsZTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7Y29sb3I6ICcjNmI3Nzg1JywgbWFyZ2luOiAnMCAwIDE2cHgnfX0+e2Vycm9yfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi9sb2dpblwiIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX0+QmFjayB0byBsb2dpbjwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFdoaWxlIHRoZSBwdWJsaWMgQ0RVSSBmZXRjaCBpcyBpbiBmbGlnaHQsIHNob3cgYSBicmFuZGVkIGxvYWRpbmcgc2NyZWVuXG4gICAgLy8gYW5kIGtlZXAgdGhlIFZpZXdQb3J0IHVubW91bnRlZCDigJQgaXQgaGFzIG5vdGhpbmcgdG8gcmVzb2x2ZSB1bnRpbCB0aGVcbiAgICAvLyB3aXphcmQgdmlldyBKU09OIGlzIGZldGNoZWQgYW5kIHJlZ2lzdGVyZWQgKHRoZSB2aWV3TG9hZGVkIGdhdGUgdGhlXG4gICAgLy8gaGVhZGVyIGNvbW1lbnQgZGVzY3JpYmVzKS4gQ29sb3VycyBmYWxsIGJhY2sgdG8gdGhlIENPSiBwYWxldHRlIHdoZW5cbiAgICAvLyBpbXBsQ29uZmlnIGhhc24ndCBiZWVuIHBsdW1iZWQgdGhyb3VnaCB5ZXQuXG4gICAgaWYgKCF2aWV3TG9hZGVkKSB7XG4gICAgICAgIGNvbnN0IHByaW1hcnkgPSAocHJvcHMuaW1wbENvbmZpZyAmJiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcikgfHwgJyMxYTNjNWUnO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1haW4gdy0xMDAgaC0xMDAgZC1pbmxpbmUtYmxvY2sgY29qLXNraW5cIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICcxMDB2aCcsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzFhM2M1ZScsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGAjZjFmMWYxYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHsvKiBDYXB0aW9uIHNpdHMgaW4gdGhlIHVwcGVyIGFyZWE7IHRoZSBzcGlubmVyIGlzIHBpbm5lZCBkZWFkLWNlbnRyZS4gKi99XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJywgdG9wOiAnMzAlJywgbGVmdDogJzUwJScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtNTAlLCAtNTAlKScsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICcxMHB4JyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJywgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxoMSBzdHlsZT17e21hcmdpbjogMCwgZm9udFNpemU6ICc0MnB4JywgZm9udFdlaWdodDogNzAwLCBsZXR0ZXJTcGFjaW5nOiAnMC4xMGVtJywgdGV4dFNoYWRvdzogJzAgMnB4IDEycHggcmdiYSgwLDAsMCwwLjI1KSd9fT5cbiAgICAgICAgICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3ttYXJnaW46IDAsIGZvbnRTaXplOiAnMTVweCcsIGxldHRlclNwYWNpbmc6ICcwLjAyZW0nLCBvcGFjaXR5OiAwLjgyfX0+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7cG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzUwJScsIGxlZnQ6ICc1MCUnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknfX0+XG4gICAgICAgICAgICAgICAgICAgIDxPdmFsXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIiNmZmZmZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCJyZ2JhKDI1NSwyNTUsMjU1LDAuMylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezN9XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw9XCJyZWdpc3RyYXRpb24tbG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUZW5hbnQgY29kZSB0aGF0IHNjb3BlcyB0aGUgYWdyZWVtZW50LWFzc2V0IHBhdGguIERlZmF1bHQgdG8gJ2NvaidcbiAgICAvLyB1bnRpbCBpbXBsQ29uZmlnLm9yZ0NvZGUgaXMgcGx1bWJlZCB0aHJvdWdoIGZyb20gdGhlIHBvcnRhbCBjb25maWdcbiAgICAvLyBlbmRwb2ludCDigJQgdGhlIGV4aXN0aW5nIHBhZ2VzIGxpdmUgdW5kZXIgL2FncmVlbWVudHMvY29qLy5cbiAgICBjb25zdCBvcmdDb2RlID0gKHByb3BzLmltcGxDb25maWcgJiYgcHJvcHMuaW1wbENvbmZpZy5vcmdDb2RlXG4gICAgICAgID8gU3RyaW5nKHByb3BzLmltcGxDb25maWcub3JnQ29kZSlcbiAgICAgICAgOiAnY29qJykudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBhZ3JlZW1lbnRCYXNlID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvYWdyZWVtZW50cy8nICsgb3JnQ29kZTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1haW4gdy0xMDAgaC0xMDAgZC1pbmxpbmUtYmxvY2sgY29qLXNraW5cIlxuICAgICAgICAgICAgc3R5bGU9e3tkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nfX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17e2ZsZXg6ICcxIDEgYXV0bycsIG1pbkhlaWdodDogJ2NhbGMoMTAwdmggLSA3MnB4KScsIHBvc2l0aW9uOiAncmVsYXRpdmUnfX0+XG4gICAgICAgICAgICAgICAgPEVtb3Rpb25UaGVtZVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnNlY29uZGFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGVtZT17Y3JlYXRlVGhlbWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbjogcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbjogcHJvcHMuaW1wbENvbmZpZy5zZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVpQ3NzQmFzZWxpbmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlT3ZlcnJpZGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhckNvbG9yOiAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpIHRyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyV2lkdGg6ICd0aGluJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlYktpdCBicm93c2Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10cmFjayc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAwLjNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNiknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENzc0Jhc2VsaW5lLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxWaWV3UG9ydCB3aW5kb3dQaW5uZWQ9e2ZhbHNlfSBtZW51T2Zmc2V0PXswfSBsYW5kaW5nUGFnZT17XCJOT05FXCJ9IHN0eWxlPXt7d2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnY2FsYygxMDAlIC0gNzJweCknLCBwb3NpdGlvbjogJ2ZpeGVkJ319Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvRW1vdGlvblRoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmb290ZXJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTZweCAyNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJyNmZmZmZmYnLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXJUb3A6ICcxcHggc29saWQgI2U2ZWFmMCcsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTNweCcsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzZiNzc4NScsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcidcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJzI0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzZweCdcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtGT09URVJfTElOS1MubWFwKChsaW5rKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17bGluay5maWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e2FncmVlbWVudEJhc2UgKyAnLycgKyBsaW5rLmZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIHRleHREZWNvcmF0aW9uOiAnbm9uZScsIGZvbnRXZWlnaHQ6IDUwMH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2xpbmsubGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICZjb3B5OyB7bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpfSBDaXR5IG9mIEpvaGFubmVzYnVyZy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9vdGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVnaXN0ZXJJbnRlcmFjdGlvblBvcnRhbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sbUJBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFPLFNBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLG1CQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFB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