UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

272 lines (244 loc) 33.8 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _ActionsArea = _interopRequireDefault(require("./ActionsArea")); var _CheckArea = _interopRequireDefault(require("./CheckArea")); var _SaveArea = _interopRequireDefault(require("./SaveArea")); var _DialogComponent = _interopRequireDefault(require("./DialogComponent")); var _IconIndicators = _interopRequireDefault(require("./IconIndicators")); require("./VerseCheck.styles.css"); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } var VerseCheck = /*#__PURE__*/function (_Component) { (0, _inherits2["default"])(VerseCheck, _Component); var _super = _createSuper(VerseCheck); function VerseCheck() { (0, _classCallCheck2["default"])(this, VerseCheck); return _super.apply(this, arguments); } (0, _createClass2["default"])(VerseCheck, [{ key: "render", value: function render() { var _this$props = this.props, translate = _this$props.translate, alignedGLText = _this$props.alignedGLText, verseText = _this$props.verseText, unfilteredVerseText = _this$props.unfilteredVerseText, mode = _this$props.mode, dialogModalVisibility = _this$props.dialogModalVisibility, isCommentChanged = _this$props.isCommentChanged, tags = _this$props.tags, isVerseChanged = _this$props.isVerseChanged, saveSelection = _this$props.saveSelection, cancelSelection = _this$props.cancelSelection, clearSelection = _this$props.clearSelection, handleSkip = _this$props.handleSkip, toggleNothingToSelect = _this$props.toggleNothingToSelect, localNothingToSelect = _this$props.localNothingToSelect, maximumSelections = _this$props.maximumSelections, selections = _this$props.selections, newSelections = _this$props.newSelections, nothingToSelect = _this$props.nothingToSelect, isVerseEdited = _this$props.isVerseEdited, commentText = _this$props.commentText, bookmarkEnabled = _this$props.bookmarkEnabled, isVerseInvalidated = _this$props.isVerseInvalidated, contextId = _this$props.contextId, targetBible = _this$props.targetBible, toolsSettings = _this$props.toolsSettings, handleCloseDialog = _this$props.handleCloseDialog, handleGoToNext = _this$props.handleGoToNext, handleGoToPrevious = _this$props.handleGoToPrevious, handleOpenDialog = _this$props.handleOpenDialog, openAlertDialog = _this$props.openAlertDialog, changeSelectionsInLocalState = _this$props.changeSelectionsInLocalState, toggleBookmark = _this$props.toggleBookmark, changeMode = _this$props.changeMode, cancelEditVerse = _this$props.cancelEditVerse, saveEditVerse = _this$props.saveEditVerse, handleComment = _this$props.handleComment, cancelComment = _this$props.cancelComment, saveComment = _this$props.saveComment, bookDetails = _this$props.bookDetails, setToolSettings = _this$props.setToolSettings, targetLanguageDetails = _this$props.targetLanguageDetails, handleTagsCheckbox = _this$props.handleTagsCheckbox, handleEditVerse = _this$props.handleEditVerse, checkIfVerseChanged = _this$props.checkIfVerseChanged, checkIfCommentChanged = _this$props.checkIfCommentChanged, validateSelections = _this$props.validateSelections, manifest = _this$props.manifest; var targetLanguageFont = manifest && manifest.projectFont || ''; var titleText; var saveArea; switch (mode) { case 'edit': titleText = translate('edit_verse'); saveArea = /*#__PURE__*/_react["default"].createElement("div", null); break; case 'comment': titleText = translate('comment'); saveArea = /*#__PURE__*/_react["default"].createElement("div", null); break; case 'select': titleText = translate('select'); saveArea = /*#__PURE__*/_react["default"].createElement("div", null); break; default: titleText = translate('step2_check'); saveArea = /*#__PURE__*/_react["default"].createElement(_SaveArea["default"], { translate: translate, selections: selections, nothingToSelect: nothingToSelect, handleGoToNext: handleGoToNext, handleGoToPrevious: handleGoToPrevious, handleOpenDialog: handleOpenDialog }); } return /*#__PURE__*/_react["default"].createElement("div", { className: "verse-check" }, /*#__PURE__*/_react["default"].createElement("div", { className: "verse-check-flex" }, /*#__PURE__*/_react["default"].createElement("div", { className: "verse-check-card" }, /*#__PURE__*/_react["default"].createElement("div", { className: "title-bar" }, /*#__PURE__*/_react["default"].createElement("span", null, titleText), /*#__PURE__*/_react["default"].createElement(_IconIndicators["default"], { isVerseEdited: isVerseEdited, selections: selections, comment: commentText, bookmarkEnabled: bookmarkEnabled, translate: translate, nothingToSelect: nothingToSelect, invalidated: isVerseInvalidated })), /*#__PURE__*/_react["default"].createElement(_CheckArea["default"], { mode: mode, tags: tags, verseText: verseText, comment: commentText, translate: translate, contextId: contextId, selections: selections, bookDetails: bookDetails, targetBible: targetBible, toolsSettings: toolsSettings, newSelections: newSelections, alignedGLText: alignedGLText, handleComment: handleComment, isVerseChanged: isVerseChanged, invalidated: isVerseInvalidated, setToolSettings: setToolSettings, nothingToSelect: nothingToSelect, openAlertDialog: openAlertDialog, handleEditVerse: handleEditVerse, maximumSelections: maximumSelections, handleTagsCheckbox: handleTagsCheckbox, validateSelections: validateSelections, targetLanguageFont: targetLanguageFont, unfilteredVerseText: unfilteredVerseText, checkIfVerseChanged: checkIfVerseChanged, targetLanguageDetails: targetLanguageDetails, checkIfCommentChanged: checkIfCommentChanged, changeSelectionsInLocalState: changeSelectionsInLocalState }), /*#__PURE__*/_react["default"].createElement(_ActionsArea["default"], { mode: mode, tags: tags, toggleNothingToSelect: toggleNothingToSelect, localNothingToSelect: localNothingToSelect, nothingToSelect: nothingToSelect, isCommentChanged: isCommentChanged, selections: selections, newSelections: newSelections, translate: translate, bookmarkEnabled: bookmarkEnabled, saveSelection: saveSelection, cancelSelection: cancelSelection, clearSelection: clearSelection, toggleBookmark: toggleBookmark, changeMode: changeMode, cancelEditVerse: cancelEditVerse, saveEditVerse: saveEditVerse, cancelComment: cancelComment, saveComment: saveComment })), saveArea), /*#__PURE__*/_react["default"].createElement(_DialogComponent["default"], { handleSkip: handleSkip, dialogModalVisibility: dialogModalVisibility, handleClose: handleCloseDialog, translate: translate })); } }]); return VerseCheck; }(_react.Component); VerseCheck.propTypes = { tags: _propTypes["default"].array.isRequired, mode: _propTypes["default"].string.isRequired, translate: _propTypes["default"].func.isRequired, changeMode: _propTypes["default"].func.isRequired, selections: _propTypes["default"].array.isRequired, contextId: _propTypes["default"].object.isRequired, verseText: _propTypes["default"].string.isRequired, isVerseEdited: _propTypes["default"].bool.isRequired, commentText: _propTypes["default"].string.isRequired, targetBible: _propTypes["default"].object.isRequired, bookDetails: _propTypes["default"].object.isRequired, newSelections: _propTypes["default"].array.isRequired, isVerseChanged: _propTypes["default"].bool.isRequired, handleGoToNext: _propTypes["default"].func.isRequired, nothingToSelect: _propTypes["default"].bool.isRequired, bookmarkEnabled: _propTypes["default"].bool.isRequired, toolsSettings: _propTypes["default"].object.isRequired, alignedGLText: _propTypes["default"].string.isRequired, isCommentChanged: _propTypes["default"].bool.isRequired, isVerseInvalidated: _propTypes["default"].bool.isRequired, targetLanguageDetails: _propTypes["default"].object.isRequired, unfilteredVerseText: _propTypes["default"].string.isRequired, dialogModalVisibility: _propTypes["default"].bool.isRequired, localNothingToSelect: _propTypes["default"].bool.isRequired, maximumSelections: _propTypes["default"].number.isRequired, handleCloseDialog: _propTypes["default"].func.isRequired, handleGoToPrevious: _propTypes["default"].func.isRequired, handleOpenDialog: _propTypes["default"].func.isRequired, openAlertDialog: _propTypes["default"].func.isRequired, toggleBookmark: _propTypes["default"].func.isRequired, cancelEditVerse: _propTypes["default"].func.isRequired, saveEditVerse: _propTypes["default"].func.isRequired, handleComment: _propTypes["default"].func.isRequired, cancelComment: _propTypes["default"].func.isRequired, saveComment: _propTypes["default"].func.isRequired, toggleNothingToSelect: _propTypes["default"].func.isRequired, saveSelection: _propTypes["default"].func.isRequired, cancelSelection: _propTypes["default"].func.isRequired, clearSelection: _propTypes["default"].func.isRequired, handleSkip: _propTypes["default"].func.isRequired, setToolSettings: _propTypes["default"].func.isRequired, handleEditVerse: _propTypes["default"].func.isRequired, checkIfVerseChanged: _propTypes["default"].func.isRequired, checkIfCommentChanged: _propTypes["default"].func.isRequired, validateSelections: _propTypes["default"].func.isRequired, handleTagsCheckbox: _propTypes["default"].func.isRequired, changeSelectionsInLocalState: _propTypes["default"].func.isRequired, manifest: _propTypes["default"].object }; VerseCheck.defaultProps = { translate: function translate(key) { return key; }, verseText: '', unfilteredVerseText: '', commentText: '' }; var _default = VerseCheck; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WZXJzZUNoZWNrL1ZlcnNlQ2hlY2suanMiXSwibmFtZXMiOlsiVmVyc2VDaGVjayIsInByb3BzIiwidHJhbnNsYXRlIiwiYWxpZ25lZEdMVGV4dCIsInZlcnNlVGV4dCIsInVuZmlsdGVyZWRWZXJzZVRleHQiLCJtb2RlIiwiZGlhbG9nTW9kYWxWaXNpYmlsaXR5IiwiaXNDb21tZW50Q2hhbmdlZCIsInRhZ3MiLCJpc1ZlcnNlQ2hhbmdlZCIsInNhdmVTZWxlY3Rpb24iLCJjYW5jZWxTZWxlY3Rpb24iLCJjbGVhclNlbGVjdGlvbiIsImhhbmRsZVNraXAiLCJ0b2dnbGVOb3RoaW5nVG9TZWxlY3QiLCJsb2NhbE5vdGhpbmdUb1NlbGVjdCIsIm1heGltdW1TZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm5ld1NlbGVjdGlvbnMiLCJub3RoaW5nVG9TZWxlY3QiLCJpc1ZlcnNlRWRpdGVkIiwiY29tbWVudFRleHQiLCJib29rbWFya0VuYWJsZWQiLCJpc1ZlcnNlSW52YWxpZGF0ZWQiLCJjb250ZXh0SWQiLCJ0YXJnZXRCaWJsZSIsInRvb2xzU2V0dGluZ3MiLCJoYW5kbGVDbG9zZURpYWxvZyIsImhhbmRsZUdvVG9OZXh0IiwiaGFuZGxlR29Ub1ByZXZpb3VzIiwiaGFuZGxlT3BlbkRpYWxvZyIsIm9wZW5BbGVydERpYWxvZyIsImNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGUiLCJ0b2dnbGVCb29rbWFyayIsImNoYW5nZU1vZGUiLCJjYW5jZWxFZGl0VmVyc2UiLCJzYXZlRWRpdFZlcnNlIiwiaGFuZGxlQ29tbWVudCIsImNhbmNlbENvbW1lbnQiLCJzYXZlQ29tbWVudCIsImJvb2tEZXRhaWxzIiwic2V0VG9vbFNldHRpbmdzIiwidGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzIiwiaGFuZGxlVGFnc0NoZWNrYm94IiwiaGFuZGxlRWRpdFZlcnNlIiwiY2hlY2tJZlZlcnNlQ2hhbmdlZCIsImNoZWNrSWZDb21tZW50Q2hhbmdlZCIsInZhbGlkYXRlU2VsZWN0aW9ucyIsIm1hbmlmZXN0IiwidGFyZ2V0TGFuZ3VhZ2VGb250IiwicHJvamVjdEZvbnQiLCJ0aXRsZVRleHQiLCJzYXZlQXJlYSIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5IiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImZ1bmMiLCJvYmplY3QiLCJib29sIiwibnVtYmVyIiwiZGVmYXVsdFByb3BzIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7O0lBRU1BLFU7Ozs7Ozs7Ozs7Ozs2QkFDSztBQUFBLHdCQWtESCxLQUFLQyxLQWxERjtBQUFBLFVBRUxDLFNBRkssZUFFTEEsU0FGSztBQUFBLFVBR0xDLGFBSEssZUFHTEEsYUFISztBQUFBLFVBSUxDLFNBSkssZUFJTEEsU0FKSztBQUFBLFVBS0xDLG1CQUxLLGVBS0xBLG1CQUxLO0FBQUEsVUFNTEMsSUFOSyxlQU1MQSxJQU5LO0FBQUEsVUFPTEMscUJBUEssZUFPTEEscUJBUEs7QUFBQSxVQVFMQyxnQkFSSyxlQVFMQSxnQkFSSztBQUFBLFVBU0xDLElBVEssZUFTTEEsSUFUSztBQUFBLFVBVUxDLGNBVkssZUFVTEEsY0FWSztBQUFBLFVBV0xDLGFBWEssZUFXTEEsYUFYSztBQUFBLFVBWUxDLGVBWkssZUFZTEEsZUFaSztBQUFBLFVBYUxDLGNBYkssZUFhTEEsY0FiSztBQUFBLFVBY0xDLFVBZEssZUFjTEEsVUFkSztBQUFBLFVBZUxDLHFCQWZLLGVBZUxBLHFCQWZLO0FBQUEsVUFnQkxDLG9CQWhCSyxlQWdCTEEsb0JBaEJLO0FBQUEsVUFpQkxDLGlCQWpCSyxlQWlCTEEsaUJBakJLO0FBQUEsVUFrQkxDLFVBbEJLLGVBa0JMQSxVQWxCSztBQUFBLFVBbUJMQyxhQW5CSyxlQW1CTEEsYUFuQks7QUFBQSxVQW9CTEMsZUFwQkssZUFvQkxBLGVBcEJLO0FBQUEsVUFxQkxDLGFBckJL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QSxhQUFhLEVBQUU2QyxzQkFBVUksSUFBVixDQUFlRixVQXJDVDtBQXNDckI5QyxFQUFBQSxlQUFlLEVBQUU0QyxzQkFBVUksSUFBVixDQUFlRixVQXRDWDtBQXVDckI3QyxFQUFBQSxjQUFjLEVBQUUyQyxzQkFBVUksSUFBVixDQUFlRixVQXZDVjtBQXdDckI1QyxFQUFBQSxVQUFVLEVBQUUwQyxzQkFBVUksSUFBVixDQUFlRixVQXhDTjtBQXlDckJoQixFQUFBQSxlQUFlLEVBQUVjLHNCQUFVSSxJQUFWLENBQWVGLFVBekNYO0FBMENyQmIsRUFBQUEsZUFBZSxFQUFFVyxzQkFBVUksSUFBVixDQUFlRixVQTFDWDtBQTJDckJaLEVBQUFBLG1CQUFtQixFQUFFVSxzQkFBVUksSUFBVixDQUFlRixVQTNDZjtBQTRDckJYLEVBQUFBLHFCQUFxQixFQUFFUyxzQkFBVUksSUFBVixDQUFlRixVQTVDakI7QUE2Q3JCVixFQUFBQSxrQkFBa0IsRUFBRVEsc0JBQVVJLElBQVYsQ0FBZUYsVUE3Q2Q7QUE4Q3JCZCxFQUFBQSxrQkFBa0IsRUFBRVksc0JBQVVJLElBQVYsQ0FBZUYsVUE5Q2Q7QUErQ3JCekIsRUFBQUEsNEJBQTRCLEVBQUV1QixzQkFBVUksSUFBVixDQUFlRixVQS9DeEI7QUFnRHJCVCxFQUFBQSxRQUFRLEVBQUVPLHNCQUFVSztBQWhEQyxDQUF2QjtBQW1EQTdELFVBQVUsQ0FBQ2dFLFlBQVgsR0FBMEI7QUFDeEI5RCxFQUFBQSxTQUFTLEVBQUUsbUJBQUErRCxHQUFHO0FBQUEsV0FBSUEsR0FBSjtBQUFBLEdBRFU7QUFFeEI3RCxFQUFBQSxTQUFTLEVBQUUsRUFGYTtBQUd4QkMsRUFBQUEsbUJBQW1CLEVBQUUsRUFIRztBQUl4QmlCLEVBQUFBLFdBQVcsRUFBRTtBQUpXLENBQTFCO2VBT2V0QixVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW5kZW50ICovXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBBY3Rpb25zQXJlYSBmcm9tICcuL0FjdGlvbnNBcmVhJztcbmltcG9ydCBDaGVja0FyZWEgZnJvbSAnLi9DaGVja0FyZWEnO1xuaW1wb3J0IFNhdmVBcmVhIGZyb20gJy4vU2F2ZUFyZWEnO1xuaW1wb3J0IERpYWxvZ0NvbXBvbmVudCBmcm9tICcuL0RpYWxvZ0NvbXBvbmVudCc7XG5pbXBvcnQgSWNvbkluZGljYXRvcnMgZnJvbSAnLi9JY29uSW5kaWNhdG9ycyc7XG5cbmltcG9ydCAnLi9WZXJzZUNoZWNrLnN0eWxlcy5jc3MnO1xuXG5jbGFzcyBWZXJzZUNoZWNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHRyYW5zbGF0ZSxcbiAgICAgIGFsaWduZWRHTFRleHQsXG4gICAgICB2ZXJzZVRleHQsXG4gICAgICB1bmZpbHRlcmVkVmVyc2VUZXh0LFxuICAgICAgbW9kZSxcbiAgICAgIGRpYWxvZ01vZGFsVmlzaWJpbGl0eSxcbiAgICAgIGlzQ29tbWVudENoYW5nZWQsXG4gICAgICB0YWdzLFxuICAgICAgaXNWZXJzZUNoYW5nZWQsXG4gICAgICBzYXZlU2VsZWN0aW9uLFxuICAgICAgY2FuY2VsU2VsZWN0aW9uLFxuICAgICAgY2xlYXJTZWxlY3Rpb24sXG4gICAgICBoYW5kbGVTa2lwLFxuICAgICAgdG9nZ2xlTm90aGluZ1RvU2VsZWN0LFxuICAgICAgbG9jYWxOb3RoaW5nVG9TZWxlY3QsXG4gICAgICBtYXhpbXVtU2VsZWN0aW9ucyxcbiAgICAgIHNlbGVjdGlvbnMsXG4gICAgICBuZXdTZWxlY3Rpb25zLFxuICAgICAgbm90aGluZ1RvU2VsZWN0LFxuICAgICAgaXNWZXJzZUVkaXRlZCxcbiAgICAgIGNvbW1lbnRUZXh0LFxuICAgICAgYm9va21hcmtFbmFibGVkLFxuICAgICAgaXNWZXJzZUludmFsaWRhdGVkLFxuICAgICAgY29udGV4dElkLFxuICAgICAgdGFyZ2V0QmlibGUsXG4gICAgICB0b29sc1NldHRpbmdzLFxuICAgICAgaGFuZGxlQ2xvc2VEaWFsb2csXG4gICAgICBoYW5kbGVHb1RvTmV4dCxcbiAgICAgIGhhbmRsZUdvVG9QcmV2aW91cyxcbiAgICAgIGhhbmRsZU9wZW5EaWFsb2csXG4gICAgICBvcGVuQWxlcnREaWFsb2csXG4gICAgICBjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlLFxuICAgICAgdG9nZ2xlQm9va21hcmssXG4gICAgICBjaGFuZ2VNb2RlLFxuICAgICAgY2FuY2VsRWRpdFZlcnNlLFxuICAgICAgc2F2ZUVkaXRWZXJzZSxcbiAgICAgIGhhbmRsZUNvbW1lbnQsXG4gICAgICBjYW5jZWxDb21tZW50LFxuICAgICAgc2F2ZUNvbW1lbnQsXG4gICAgICBib29rRGV0YWlscyxcbiAgICAgIHNldFRvb2xTZXR0aW5ncyxcbiAgICAgIHRhcmdldExhbmd1YWdlRGV0YWlscyxcbiAgICAgIGhhbmRsZVRhZ3NDaGVja2JveCxcbiAgICAgIGhhbmRsZUVkaXRWZXJzZSxcbiAgICAgIGNoZWNrSWZWZXJzZUNoYW5nZWQsXG4gICAgICBjaGVja0lmQ29tbWVudENoYW5nZWQsXG4gICAgICB2YWxpZGF0ZVNlbGVjdGlvbnMsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB0YXJnZXRMYW5ndWFnZUZvbnQgPSBtYW5pZmVzdCAmJiBtYW5pZmVzdC5wcm9qZWN0Rm9udCB8fCAnJztcbiAgICBsZXQgdGl0bGVUZXh0O1xuICAgIGxldCBzYXZlQXJlYTtcblxuICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgIHRpdGxlVGV4dCA9IHRyYW5zbGF0ZSgnZWRpdF92ZXJzZScpO1xuICAgICAgICBzYXZlQXJlYSA9IDxkaXYgLz47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgIHRpdGxlVGV4dCA9IHRyYW5zbGF0ZSgnY29tbWVudCcpO1xuICAgICAgICBzYXZlQXJlYSA9IDxkaXYgLz47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgdGl0bGVUZXh0ID0gdHJhbnNsYXRlKCdzZWxlY3QnKTtcbiAgICAgICAgc2F2ZUFyZWEgPSA8ZGl2IC8+O1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRpdGxlVGV4dCA9IHRyYW5zbGF0ZSgnc3RlcDJfY2hlY2snKTtcbiAgICAgICAgc2F2ZUFyZWEgPSAoXG4gICAgICAgICAgPFNhdmVBcmVhXG4gICAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICAgIHNlbGVjdGlvbnM9e3NlbGVjdGlvbnN9XG4gICAgICAgICAgICBub3RoaW5nVG9TZWxlY3Q9e25vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICAgIGhhbmRsZUdvVG9OZXh0PXtoYW5kbGVHb1RvTmV4dH1cbiAgICAgICAgICAgIGhhbmRsZUdvVG9QcmV2aW91cz17aGFuZGxlR29Ub1ByZXZpb3VzfVxuICAgICAgICAgICAgaGFuZGxlT3BlbkRpYWxvZz17aGFuZGxlT3BlbkRpYWxvZ31cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT0ndmVyc2UtY2hlY2snPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ndmVyc2UtY2hlY2stZmxleCc+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3ZlcnNlLWNoZWNrLWNhcmQnPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RpdGxlLWJhcic+XG4gICAgICAgICAgICAgIDxzcGFuPnt0aXRsZVRleHR9PC9zcGFuPlxuICAgICAgICAgICAgICA8SWNvbkluZGljYXRvcnNcbiAgICAgICAgICAgICAgICBpc1ZlcnNlRWRpdGVkPXtpc1ZlcnNlRWRpdGVkfVxuICAgICAgICAgICAgICAgIHNlbGVjdGlvbnM9e3NlbGVjdGlvbnN9XG4gICAgICAgICAgICAgICAgY29tbWVudD17Y29tbWVudFRleHR9XG4gICAgICAgICAgICAgICAgYm9va21hcmtFbmFibGVkPXtib29rbWFya0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICAgICAgbm90aGluZ1RvU2VsZWN0PXtub3RoaW5nVG9TZWxlY3R9XG4gICAgICAgICAgICAgICAgaW52YWxpZGF0ZWQ9e2lzVmVyc2VJbnZhbGlkYXRlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPENoZWNrQXJlYVxuICAgICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgICAgICB0YWdzPXt0YWdzfVxuICAgICAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICAgICAgY29tbWVudD17Y29tbWVudFRleHR9XG4gICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICBjb250ZXh0SWQ9e2NvbnRleHRJZH1cbiAgICAgICAgICAgICAgc2VsZWN0aW9ucz17c2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgYm9va0RldGFpbHM9e2Jvb2tEZXRhaWxzfVxuICAgICAgICAgICAgICB0YXJnZXRCaWJsZT17dGFyZ2V0QmlibGV9XG4gICAgICAgICAgICAgIHRvb2xzU2V0dGluZ3M9e3Rvb2xzU2V0dGluZ3N9XG4gICAgICAgICAgICAgIG5ld1NlbGVjdGlvbnM9e25ld1NlbGVjdGlvbnN9XG4gICAgICAgICAgICAgIGFsaWduZWRHTFRleHQ9e2FsaWduZWRHTFRleHR9XG4gICAgICAgICAgICAgIGhhbmRsZUNvbW1lbnQ9e2hhbmRsZUNvbW1lbnR9XG4gICAgICAgICAgICAgIGlzVmVyc2VDaGFuZ2VkPXtpc1ZlcnNlQ2hhbmdlZH1cbiAgICAgICAgICAgICAgaW52YWxpZGF0ZWQ9e2lzVmVyc2VJbnZhbGlkYXRlZH1cbiAgICAgICAgICAgICAgc2V0VG9vbFNldHRpbmdzPXtzZXRUb29sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIG5vdGhpbmdUb1NlbGVjdD17bm90aGluZ1RvU2VsZWN0fVxuICAgICAgICAgICAgICBvcGVuQWxlcnREaWFsb2c9e29wZW5BbGVydERpYWxvZ31cbiAgICAgICAgICAgICAgaGFuZGxlRWRpdFZlcnNlPXtoYW5kbGVFZGl0VmVyc2V9XG4gICAgICAgICAgICAgIG1heGltdW1TZWxlY3Rpb25zPXttYXhpbXVtU2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgaGFuZGxlVGFnc0NoZWNrYm94PXtoYW5kbGVUYWdzQ2hlY2tib3h9XG4gICAgICAgICAgICAgIHZhbGlkYXRlU2VsZWN0aW9ucz17dmFsaWRhdGVTZWxlY3Rpb25zfVxuICAgICAgICAgICAgICB0YXJnZXRMYW5ndWFnZUZvbnQ9e3RhcmdldExhbmd1YWdlRm9udH1cbiAgICAgICAgICAgICAgdW5maWx0ZXJlZFZlcnNlVGV4dD17dW5maWx0ZXJlZFZlcnNlVGV4dH1cbiAgICAgICAgICAgICAgY2hlY2tJZlZlcnNlQ2hhbmdlZD17Y2hlY2tJZlZlcnNlQ2hhbmdlZH1cbiAgICAgICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzPXt0YXJnZXRMYW5ndWFnZURldGFpbHN9XG4gICAgICAgICAgICAgIGNoZWNrSWZDb21tZW50Q2hhbmdlZD17Y2hlY2tJZkNvbW1lbnRDaGFuZ2VkfVxuICAgICAgICAgICAgICBjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlPXtjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxBY3Rpb25zQXJlYVxuICAgICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgICAgICB0YWdzPXt0YWdzfVxuICAgICAgICAgICAgICB0b2dnbGVOb3RoaW5nVG9TZWxlY3Q9e3RvZ2dsZU5vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICAgICAgbG9jYWxOb3RoaW5nVG9TZWxlY3Q9e2xvY2FsTm90aGluZ1RvU2VsZWN0fVxuICAgICAgICAgICAgICBub3RoaW5nVG9TZWxlY3Q9e25vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICAgICAgaXNDb21tZW50Q2hhbmdlZD17aXNDb21tZW50Q2hhbmdlZH1cbiAgICAgICAgICAgICAgc2VsZWN0aW9ucz17c2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgbmV3U2VsZWN0aW9ucz17bmV3U2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICAgIGJvb2ttYXJrRW5hYmxlZD17Ym9va21hcmtFbmFibGVkfVxuICAgICAgICAgICAgICBzYXZlU2VsZWN0aW9uPXtzYXZlU2VsZWN0aW9ufVxuICAgICAgICAgICAgICBjYW5jZWxTZWxlY3Rpb249e2NhbmNlbFNlbGVjdGlvbn1cbiAgICAgICAgICAgICAgY2xlYXJTZWxlY3Rpb249e2NsZWFyU2VsZWN0aW9ufVxuICAgICAgICAgICAgICB0b2dnbGVCb29rbWFyaz17dG9nZ2xlQm9va21hcmt9XG4gICAgICAgICAgICAgIGNoYW5nZU1vZGU9e2NoYW5nZU1vZGV9XG4gICAgICAgICAgICAgIGNhbmNlbEVkaXRWZXJzZT17Y2FuY2VsRWRpdFZlcnNlfVxuICAgICAgICAgICAgICBzYXZlRWRpdFZlcnNlPXtzYXZlRWRpdFZlcnNlfVxuICAgICAgICAgICAgICBjYW5jZWxDb21tZW50PXtjYW5jZWxDb21tZW50fVxuICAgICAgICAgICAgICBzYXZlQ29tbWVudD17c2F2ZUNvbW1lbnR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzYXZlQXJlYX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxEaWFsb2dDb21wb25lbnRcbiAgICAgICAgICBoYW5kbGVTa2lwPXtoYW5kbGVTa2lwfVxuICAgICAgICAgIGRpYWxvZ01vZGFsVmlzaWJpbGl0eT17ZGlhbG9nTW9kYWxWaXNpYmlsaXR5fVxuICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZURpYWxvZ31cbiAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuXG5WZXJzZUNoZWNrLnByb3BUeXBlcyA9IHtcbiAgdGFnczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgdHJhbnNsYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjaGFuZ2VNb2RlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzZWxlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgY29udGV4dElkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHZlcnNlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBpc1ZlcnNlRWRpdGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBjb21tZW50VGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB0YXJnZXRCaWJsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBib29rRGV0YWlsczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBuZXdTZWxlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgaXNWZXJzZUNoYW5nZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUdvVG9OZXh0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBub3RoaW5nVG9TZWxlY3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGJvb2ttYXJrRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgdG9vbHNTZXR0aW5nczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBhbGlnbmVkR0xUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlzQ29tbWVudENoYW5nZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGlzVmVyc2VJbnZhbGlkYXRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHVuZmlsdGVyZWRWZXJzZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZGlhbG9nTW9kYWxWaXNpYmlsaXR5OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBsb2NhbE5vdGhpbmdUb1NlbGVjdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgbWF4aW11bVNlbGVjdGlvbnM6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgaGFuZGxlQ2xvc2VEaWFsb2c6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUdvVG9QcmV2aW91czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgaGFuZGxlT3BlbkRpYWxvZzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb3BlbkFsZXJ0RGlhbG9nOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB0b2dnbGVCb29rbWFyazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2FuY2VsRWRpdFZlcnNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlRWRpdFZlcnNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBoYW5kbGVDb21tZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjYW5jZWxDb21tZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlQ29tbWVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdG9nZ2xlTm90aGluZ1RvU2VsZWN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlU2VsZWN0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjYW5jZWxTZWxlY3Rpb246IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGNsZWFyU2VsZWN0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBoYW5kbGVTa2lwOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzZXRUb29sU2V0dGluZ3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUVkaXRWZXJzZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZlZlcnNlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZkNvbW1lbnRDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB2YWxpZGF0ZVNlbGVjdGlvbnM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZVRhZ3NDaGVja2JveDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbWFuaWZlc3Q6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5WZXJzZUNoZWNrLmRlZmF1bHRQcm9wcyA9IHtcbiAgdHJhbnNsYXRlOiBrZXkgPT4ga2V5LFxuICB2ZXJzZVRleHQ6ICcnLFxuICB1bmZpbHRlcmVkVmVyc2VUZXh0OiAnJyxcbiAgY29tbWVudFRleHQ6ICcnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVmVyc2VDaGVjaztcbiJdfQ==