matrix-react-sdk
Version:
SDK for matrix.org using React
123 lines (96 loc) • 13.6 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _QuestionDialog = _interopRequireDefault(require("./QuestionDialog"));
var _languageHandler = require("../../../languageHandler");
var _Field = _interopRequireDefault(require("../elements/Field"));
var _SdkConfig = _interopRequireDefault(require("../../../SdkConfig"));
var _SettingsStore = _interopRequireDefault(require("../../../settings/SettingsStore"));
var _submitRageshake = require("../../../rageshake/submit-rageshake");
var _StyledCheckbox = _interopRequireDefault(require("../elements/StyledCheckbox"));
var _Modal = _interopRequireDefault(require("../../../Modal"));
var _InfoDialog = _interopRequireDefault(require("./InfoDialog"));
var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton"));
var _dispatcher = _interopRequireDefault(require("../../../dispatcher/dispatcher"));
var _actions = require("../../../dispatcher/actions");
var _UserSettingsDialog = require("./UserSettingsDialog");
/*
Copyright 2021 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
const BetaFeedbackDialog
/*: React.FC<IProps>*/
= ({
featureId,
onFinished
}) => {
const info = _SettingsStore.default.getBetaInfo(featureId);
const [comment, setComment] = (0, _react.useState)("");
const [canContact, setCanContact] = (0, _react.useState)(false);
const sendFeedback = async (ok
/*: boolean*/
) => {
if (!ok) return onFinished(false);
(0, _submitRageshake.submitFeedback)(_SdkConfig.default.get().bug_report_endpoint_url, info.feedbackLabel, comment, canContact);
onFinished(true);
_Modal.default.createTrackedDialog("Beta Dialog Sent", featureId, _InfoDialog.default, {
title: (0, _languageHandler._t)("Beta feedback"),
description: (0, _languageHandler._t)("Thank you for your feedback, we really appreciate it."),
button: (0, _languageHandler._t)("Done"),
hasCloseButton: false,
fixedWidth: false
});
};
return /*#__PURE__*/_react.default.createElement(_QuestionDialog.default, {
className: "mx_BetaFeedbackDialog",
hasCancelButton: true,
title: (0, _languageHandler._t)("%(featureName)s beta feedback", {
featureName: info.title
}),
description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_BetaFeedbackDialog_subheading"
}, (0, _languageHandler._t)(info.feedbackSubheading), "\xA0", (0, _languageHandler._t)("Your platform and username will be noted to help us use your feedback as much as we can."), /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, {
kind: "link",
onClick: () => {
onFinished(false);
_dispatcher.default.dispatch({
action: _actions.Action.ViewUserSettings,
initialTabId: _UserSettingsDialog.USER_LABS_TAB
});
}
}, (0, _languageHandler._t)("To leave the beta, visit your settings."))), /*#__PURE__*/_react.default.createElement(_Field.default, {
id: "feedbackComment",
label: (0, _languageHandler._t)("Feedback"),
type: "text",
autoComplete: "off",
value: comment,
element: "textarea",
onChange: ev => {
setComment(ev.target.value);
},
autoFocus: true
}), /*#__PURE__*/_react.default.createElement(_StyledCheckbox.default, {
checked: canContact,
onClick: e => setCanContact(e.target.checked)
}, (0, _languageHandler._t)("You may contact me if you have any follow up questions"))),
button: (0, _languageHandler._t)("Send feedback"),
buttonDisabled: !comment,
onFinished: sendFeedback
});
};
var _default = BetaFeedbackDialog;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvQmV0YUZlZWRiYWNrRGlhbG9nLnRzeCJdLCJuYW1lcyI6WyJCZXRhRmVlZGJhY2tEaWFsb2ciLCJmZWF0dXJlSWQiLCJvbkZpbmlzaGVkIiwiaW5mbyIsIlNldHRpbmdzU3RvcmUiLCJnZXRCZXRhSW5mbyIsImNvbW1lbnQiLCJzZXRDb21tZW50IiwiY2FuQ29udGFjdCIsInNldENhbkNvbnRhY3QiLCJzZW5kRmVlZGJhY2siLCJvayIsIlNka0NvbmZpZyIsImdldCIsImJ1Z19yZXBvcnRfZW5kcG9pbnRfdXJsIiwiZmVlZGJhY2tMYWJlbCIsIk1vZGFsIiwiY3JlYXRlVHJhY2tlZERpYWxvZyIsIkluZm9EaWFsb2ciLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiYnV0dG9uIiwiaGFzQ2xvc2VCdXR0b24iLCJmaXhlZFdpZHRoIiwiZmVhdHVyZU5hbWUiLCJmZWVkYmFja1N1YmhlYWRpbmciLCJkZWZhdWx0RGlzcGF0Y2hlciIsImRpc3BhdGNoIiwiYWN0aW9uIiwiQWN0aW9uIiwiVmlld1VzZXJTZXR0aW5ncyIsImluaXRpYWxUYWJJZCIsIlVTRVJfTEFCU19UQUIiLCJldiIsInRhcmdldCIsInZhbHVlIiwiZSIsImNoZWNrZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBZ0JBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQS9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1QkEsTUFBTUE7QUFBb0M7QUFBQSxFQUFHLENBQUM7QUFBQ0MsRUFBQUEsU0FBRDtBQUFZQyxFQUFBQTtBQUFaLENBQUQsS0FBNkI7QUFDdEUsUUFBTUMsSUFBSSxHQUFHQyx1QkFBY0MsV0FBZCxDQUEwQkosU0FBMUIsQ0FBYjs7QUFFQSxRQUFNLENBQUNLLE9BQUQsRUFBVUMsVUFBVixJQUF3QixxQkFBUyxFQUFULENBQTlCO0FBQ0EsUUFBTSxDQUFDQyxVQUFELEVBQWFDLGFBQWIsSUFBOEIscUJBQVMsS0FBVCxDQUFwQzs7QUFFQSxRQUFNQyxZQUFZLEdBQUcsT0FBT0M7QUFBUDtBQUFBLE9BQXVCO0FBQ3hDLFFBQUksQ0FBQ0EsRUFBTCxFQUFTLE9BQU9ULFVBQVUsQ0FBQyxLQUFELENBQWpCO0FBRVQseUNBQWVVLG1CQUFVQyxHQUFWLEdBQWdCQyx1QkFBL0IsRUFBd0RYLElBQUksQ0FBQ1ksYUFBN0QsRUFBNEVULE9BQTVFLEVBQXFGRSxVQUFyRjtBQUNBTixJQUFBQSxVQUFVLENBQUMsSUFBRCxDQUFWOztBQUVBYyxtQkFBTUMsbUJBQU4sQ0FBMEIsa0JBQTFCLEVBQThDaEIsU0FBOUMsRUFBeURpQixtQkFBekQsRUFBcUU7QUFDakVDLE1BQUFBLEtBQUssRUFBRSx5QkFBRyxlQUFILENBRDBEO0FBRWpFQyxNQUFBQSxXQUFXLEVBQUUseUJBQUcsdURBQUgsQ0FGb0Q7QUFHakVDLE1BQUFBLE1BQU0sRUFBRSx5QkFBRyxNQUFILENBSHlEO0FBSWpFQyxNQUFBQSxjQUFjLEVBQUUsS0FKaUQ7QUFLakVDLE1BQUFBLFVBQVUsRUFBRTtBQUxxRCxLQUFyRTtBQU9ILEdBYkQ7O0FBZUEsc0JBQVEsNkJBQUMsdUJBQUQ7QUFDSixJQUFBLFNBQVMsRUFBQyx1QkFETjtBQUVKLElBQUEsZUFBZSxFQUFFLElBRmI7QUFHSixJQUFBLEtBQUssRUFBRSx5QkFBRywrQkFBSCxFQUFvQztBQUFFQyxNQUFBQSxXQUFXLEVBQUVyQixJQUFJLENBQUNnQjtBQUFwQixLQUFwQyxDQUhIO0FBSUosSUFBQSxXQUFXLGVBQUUsNkJBQUMsY0FBRCxDQUFPLFFBQVAscUJBQ1Q7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE9BQ00seUJBQUdoQixJQUFJLENBQUNzQixrQkFBUixDQUROLFVBR00seUJBQUcsMEZBQUgsQ0FITixlQUtJLDZCQUFDLHlCQUFEO0FBQWtCLE1BQUEsSUFBSSxFQUFDLE1BQXZCO0FBQThCLE1BQUEsT0FBTyxFQUFFLE1BQU07QUFDekN2QixRQUFBQSxVQUFVLENBQUMsS0FBRCxDQUFWOztBQUNBd0IsNEJBQWtCQyxRQUFsQixDQUEyQjtBQUN2QkMsVUFBQUEsTUFBTSxFQUFFQyxnQkFBT0MsZ0JBRFE7QUFFdkJDLFVBQUFBLFlBQVksRUFBRUM7QUFGUyxTQUEzQjtBQUlIO0FBTkQsT0FPTSx5QkFBRyx5Q0FBSCxDQVBOLENBTEosQ0FEUyxlQWlCVCw2QkFBQyxjQUFEO0FBQ0ksTUFBQSxFQUFFLEVBQUMsaUJBRFA7QUFFSSxNQUFBLEtBQUssRUFBRSx5QkFBRyxVQUFILENBRlg7QUFHSSxNQUFBLElBQUksRUFBQyxNQUhUO0FBSUksTUFBQSxZQUFZLEVBQUMsS0FKakI7QUFLSSxNQUFBLEtBQUssRUFBRTFCLE9BTFg7QUFNSSxNQUFBLE9BQU8sRUFBQyxVQU5aO0FBT0ksTUFBQSxRQUFRLEVBQUcyQixFQUFELElBQVE7QUFDZDFCLFFBQUFBLFVBQVUsQ0FBQzBCLEVBQUUsQ0FBQ0MsTUFBSCxDQUFVQyxLQUFYLENBQVY7QUFDSCxPQVRMO0FBVUksTUFBQSxTQUFTLEVBQUU7QUFWZixNQWpCUyxlQThCVCw2QkFBQyx1QkFBRDtBQUNJLE1BQUEsT0FBTyxFQUFFM0IsVUFEYjtBQUVJLE1BQUEsT0FBTyxFQUFFNEIsQ0FBQyxJQUFJM0IsYUFBYSxDQUFFMkIsQ0FBQyxDQUFDRixNQUFILENBQStCRyxPQUFoQztBQUYvQixPQUlNLHlCQUFHLHdEQUFILENBSk4sQ0E5QlMsQ0FKVDtBQXlDSixJQUFBLE1BQU0sRUFBRSx5QkFBRyxlQUFILENBekNKO0FBMENKLElBQUEsY0FBYyxFQUFFLENBQUMvQixPQTFDYjtBQTJDSixJQUFBLFVBQVUsRUFBRUk7QUEzQ1IsSUFBUjtBQTZDSCxDQWxFRDs7ZUFvRWVWLGtCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgUXVlc3Rpb25EaWFsb2cgZnJvbSAnLi9RdWVzdGlvbkRpYWxvZyc7XG5pbXBvcnQgeyBfdCB9IGZyb20gJy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlcic7XG5pbXBvcnQgRmllbGQgZnJvbSBcIi4uL2VsZW1lbnRzL0ZpZWxkXCI7XG5pbXBvcnQgU2RrQ29uZmlnIGZyb20gXCIuLi8uLi8uLi9TZGtDb25maWdcIjtcbmltcG9ydCB7SURpYWxvZ1Byb3BzfSBmcm9tIFwiLi9JRGlhbG9nUHJvcHNcIjtcbmltcG9ydCBTZXR0aW5nc1N0b3JlIGZyb20gXCIuLi8uLi8uLi9zZXR0aW5ncy9TZXR0aW5nc1N0b3JlXCI7XG5pbXBvcnQge3N1Ym1pdEZlZWRiYWNrfSBmcm9tIFwiLi4vLi4vLi4vcmFnZXNoYWtlL3N1Ym1pdC1yYWdlc2hha2VcIjtcbmltcG9ydCBTdHlsZWRDaGVja2JveCBmcm9tIFwiLi4vZWxlbWVudHMvU3R5bGVkQ2hlY2tib3hcIjtcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vLi4vTW9kYWxcIjtcbmltcG9ydCBJbmZvRGlhbG9nIGZyb20gXCIuL0luZm9EaWFsb2dcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuLi9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5pbXBvcnQgZGVmYXVsdERpc3BhdGNoZXIgZnJvbSBcIi4uLy4uLy4uL2Rpc3BhdGNoZXIvZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi8uLi8uLi9kaXNwYXRjaGVyL2FjdGlvbnNcIjtcbmltcG9ydCB7VVNFUl9MQUJTX1RBQn0gZnJvbSBcIi4vVXNlclNldHRpbmdzRGlhbG9nXCI7XG5cbmludGVyZmFjZSBJUHJvcHMgZXh0ZW5kcyBJRGlhbG9nUHJvcHMge1xuICAgIGZlYXR1cmVJZDogc3RyaW5nO1xufVxuXG5jb25zdCBCZXRhRmVlZGJhY2tEaWFsb2c6IFJlYWN0LkZDPElQcm9wcz4gPSAoe2ZlYXR1cmVJZCwgb25GaW5pc2hlZH0pID0+IHtcbiAgICBjb25zdCBpbmZvID0gU2V0dGluZ3NTdG9yZS5nZXRCZXRhSW5mbyhmZWF0dXJlSWQpO1xuXG4gICAgY29uc3QgW2NvbW1lbnQsIHNldENvbW1lbnRdID0gdXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW2NhbkNvbnRhY3QsIHNldENhbkNvbnRhY3RdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3Qgc2VuZEZlZWRiYWNrID0gYXN5bmMgKG9rOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICghb2spIHJldHVybiBvbkZpbmlzaGVkKGZhbHNlKTtcblxuICAgICAgICBzdWJtaXRGZWVkYmFjayhTZGtDb25maWcuZ2V0KCkuYnVnX3JlcG9ydF9lbmRwb2ludF91cmwsIGluZm8uZmVlZGJhY2tMYWJlbCwgY29tbWVudCwgY2FuQ29udGFjdCk7XG4gICAgICAgIG9uRmluaXNoZWQodHJ1ZSk7XG5cbiAgICAgICAgTW9kYWwuY3JlYXRlVHJhY2tlZERpYWxvZyhcIkJldGEgRGlhbG9nIFNlbnRcIiwgZmVhdHVyZUlkLCBJbmZvRGlhbG9nLCB7XG4gICAgICAgICAgICB0aXRsZTogX3QoXCJCZXRhIGZlZWRiYWNrXCIpLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IF90KFwiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLCB3ZSByZWFsbHkgYXBwcmVjaWF0ZSBpdC5cIiksXG4gICAgICAgICAgICBidXR0b246IF90KFwiRG9uZVwiKSxcbiAgICAgICAgICAgIGhhc0Nsb3NlQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGZpeGVkV2lkdGg6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuICg8UXVlc3Rpb25EaWFsb2dcbiAgICAgICAgY2xhc3NOYW1lPVwibXhfQmV0YUZlZWRiYWNrRGlhbG9nXCJcbiAgICAgICAgaGFzQ2FuY2VsQnV0dG9uPXt0cnVlfVxuICAgICAgICB0aXRsZT17X3QoXCIlKGZlYXR1cmVOYW1lKXMgYmV0YSBmZWVkYmFja1wiLCB7IGZlYXR1cmVOYW1lOiBpbmZvLnRpdGxlIH0pfVxuICAgICAgICBkZXNjcmlwdGlvbj17PFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9CZXRhRmVlZGJhY2tEaWFsb2dfc3ViaGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIHsgX3QoaW5mby5mZWVkYmFja1N1YmhlYWRpbmcpIH1cbiAgICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgICAgICB7IF90KFwiWW91ciBwbGF0Zm9ybSBhbmQgdXNlcm5hbWUgd2lsbCBiZSBub3RlZCB0byBoZWxwIHVzIHVzZSB5b3VyIGZlZWRiYWNrIGFzIG11Y2ggYXMgd2UgY2FuLlwiKX1cblxuICAgICAgICAgICAgICAgIDxBY2Nlc3NpYmxlQnV0dG9uIGtpbmQ9XCJsaW5rXCIgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvbkZpbmlzaGVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdERpc3BhdGNoZXIuZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBY3Rpb24uVmlld1VzZXJTZXR0aW5ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxUYWJJZDogVVNFUl9MQUJTX1RBQixcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgIHsgX3QoXCJUbyBsZWF2ZSB0aGUgYmV0YSwgdmlzaXQgeW91ciBzZXR0aW5ncy5cIikgfVxuICAgICAgICAgICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICBpZD1cImZlZWRiYWNrQ29tbWVudFwiXG4gICAgICAgICAgICAgICAgbGFiZWw9e190KFwiRmVlZGJhY2tcIil9XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e2NvbW1lbnR9XG4gICAgICAgICAgICAgICAgZWxlbWVudD1cInRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGV2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldENvbW1lbnQoZXYudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxTdHlsZWRDaGVja2JveFxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2NhbkNvbnRhY3R9XG4gICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBzZXRDYW5Db250YWN0KChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7IF90KFwiWW91IG1heSBjb250YWN0IG1lIGlmIHlvdSBoYXZlIGFueSBmb2xsb3cgdXAgcXVlc3Rpb25zXCIpIH1cbiAgICAgICAgICAgIDwvU3R5bGVkQ2hlY2tib3g+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+fVxuICAgICAgICBidXR0b249e190KFwiU2VuZCBmZWVkYmFja1wiKX1cbiAgICAgICAgYnV0dG9uRGlzYWJsZWQ9eyFjb21tZW50fVxuICAgICAgICBvbkZpbmlzaGVkPXtzZW5kRmVlZGJhY2t9XG4gICAgLz4pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmV0YUZlZWRiYWNrRGlhbG9nO1xuIl19