UNPKG

matrix-react-sdk

Version:
117 lines (114 loc) 18.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.VoiceBroadcastHeader = void 0; var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _close = _interopRequireDefault(require("@vector-im/compound-design-tokens/assets/web/icons/close")); var _micOnSolid = _interopRequireDefault(require("@vector-im/compound-design-tokens/assets/web/icons/mic-on-solid")); var _ = require("../.."); var _live16px = require("../../../../res/img/compound/live-16px.svg"); var _timer16px = require("../../../../res/img/compound/timer-16px.svg"); var _languageHandler = require("../../../languageHandler"); var _RoomAvatar = _interopRequireDefault(require("../../../components/views/avatars/RoomAvatar")); var _AccessibleButton = _interopRequireDefault(require("../../../components/views/elements/AccessibleButton")); var _Clock = _interopRequireDefault(require("../../../components/views/audio_messages/Clock")); var _DateUtils = require("../../../DateUtils"); var _Spinner = _interopRequireDefault(require("../../../components/views/elements/Spinner")); var _actions = require("../../../dispatcher/actions"); var _dispatcher = _interopRequireDefault(require("../../../dispatcher/dispatcher")); /* Copyright 2024 New Vector Ltd. Copyright 2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const VoiceBroadcastHeader = ({ linkToRoom = false, live = "not-live", liveBadgePosition = "right", onCloseClick = () => {}, onMicrophoneLineClick = null, room, microphoneLabel, showBroadcast = false, showBuffering = false, bufferingPosition = "line", showClose = false, timeLeft }) => { const broadcast = showBroadcast && /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader_line" }, /*#__PURE__*/_react.default.createElement(_live16px.Icon, { className: "mx_Icon mx_Icon_16" }), (0, _languageHandler._t)("voice_broadcast|action")); const liveBadge = live !== "not-live" && /*#__PURE__*/_react.default.createElement(_.LiveBadge, { grey: live === "grey" }); const closeButton = showClose && /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: onCloseClick }, /*#__PURE__*/_react.default.createElement(_close.default, { className: "mx_Icon mx_Icon_16" })); const timeLeftLine = timeLeft && /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader_line" }, /*#__PURE__*/_react.default.createElement(_timer16px.Icon, { className: "mx_Icon mx_Icon_16" }), /*#__PURE__*/_react.default.createElement(_Clock.default, { formatFn: _DateUtils.formatTimeLeft, seconds: timeLeft })); const bufferingLine = showBuffering && bufferingPosition === "line" && /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader_line" }, /*#__PURE__*/_react.default.createElement(_Spinner.default, { w: 14, h: 14 }), (0, _languageHandler._t)("voice_broadcast|buffering")); const microphoneLineClasses = (0, _classnames.default)({ mx_VoiceBroadcastHeader_line: true, ["mx_VoiceBroadcastHeader_mic--clickable"]: onMicrophoneLineClick }); const microphoneLine = microphoneLabel && /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { className: microphoneLineClasses, onClick: onMicrophoneLineClick, title: (0, _languageHandler._t)("voip|change_input_device") }, /*#__PURE__*/_react.default.createElement(_micOnSolid.default, { className: "mx_Icon mx_Icon_16" }), /*#__PURE__*/_react.default.createElement("span", null, microphoneLabel)); const onRoomAvatarOrNameClick = () => { _dispatcher.default.dispatch({ action: _actions.Action.ViewRoom, room_id: room.roomId, metricsTrigger: undefined // other }); }; let roomAvatar = /*#__PURE__*/_react.default.createElement(_RoomAvatar.default, { room: room, size: "32px" }); let roomName = /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader_room_wrapper" }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader_room" }, room.name), showBuffering && bufferingPosition === "title" && /*#__PURE__*/_react.default.createElement(_Spinner.default, { w: 12, h: 12 })); if (linkToRoom) { roomAvatar = /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: onRoomAvatarOrNameClick }, roomAvatar); roomName = /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: onRoomAvatarOrNameClick }, roomName); } return /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader" }, roomAvatar, /*#__PURE__*/_react.default.createElement("div", { className: "mx_VoiceBroadcastHeader_content" }, roomName, microphoneLine, timeLeftLine, broadcast, bufferingLine, liveBadgePosition === "middle" && liveBadge), liveBadgePosition === "right" && liveBadge, closeButton); }; exports.VoiceBroadcastHeader = VoiceBroadcastHeader; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2Nsb3NlIiwiX21pY09uU29saWQiLCJfIiwiX2xpdmUxNnB4IiwiX3RpbWVyMTZweCIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfUm9vbUF2YXRhciIsIl9BY2Nlc3NpYmxlQnV0dG9uIiwiX0Nsb2NrIiwiX0RhdGVVdGlscyIsIl9TcGlubmVyIiwiX2FjdGlvbnMiLCJfZGlzcGF0Y2hlciIsIlZvaWNlQnJvYWRjYXN0SGVhZGVyIiwibGlua1RvUm9vbSIsImxpdmUiLCJsaXZlQmFkZ2VQb3NpdGlvbiIsIm9uQ2xvc2VDbGljayIsIm9uTWljcm9waG9uZUxpbmVDbGljayIsInJvb20iLCJtaWNyb3Bob25lTGFiZWwiLCJzaG93QnJvYWRjYXN0Iiwic2hvd0J1ZmZlcmluZyIsImJ1ZmZlcmluZ1Bvc2l0aW9uIiwic2hvd0Nsb3NlIiwidGltZUxlZnQiLCJicm9hZGNhc3QiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkljb24iLCJfdCIsImxpdmVCYWRnZSIsIkxpdmVCYWRnZSIsImdyZXkiLCJjbG9zZUJ1dHRvbiIsIm9uQ2xpY2siLCJ0aW1lTGVmdExpbmUiLCJmb3JtYXRGbiIsImZvcm1hdFRpbWVMZWZ0Iiwic2Vjb25kcyIsImJ1ZmZlcmluZ0xpbmUiLCJ3IiwiaCIsIm1pY3JvcGhvbmVMaW5lQ2xhc3NlcyIsImNsYXNzTmFtZXMiLCJteF9Wb2ljZUJyb2FkY2FzdEhlYWRlcl9saW5lIiwibWljcm9waG9uZUxpbmUiLCJ0aXRsZSIsIm9uUm9vbUF2YXRhck9yTmFtZUNsaWNrIiwiZGlzIiwiZGlzcGF0Y2giLCJhY3Rpb24iLCJBY3Rpb24iLCJWaWV3Um9vbSIsInJvb21faWQiLCJyb29tSWQiLCJtZXRyaWNzVHJpZ2dlciIsInVuZGVmaW5lZCIsInJvb21BdmF0YXIiLCJzaXplIiwicm9vbU5hbWUiLCJuYW1lIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92b2ljZS1icm9hZGNhc3QvY29tcG9uZW50cy9hdG9tcy9Wb2ljZUJyb2FkY2FzdEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUm9vbSB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgQ2xvc2VJY29uIGZyb20gXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9pY29ucy9jbG9zZVwiO1xuaW1wb3J0IE1pY3JvcGhvbmVJY29uIGZyb20gXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9pY29ucy9taWMtb24tc29saWRcIjtcblxuaW1wb3J0IHsgTGl2ZUJhZGdlLCBWb2ljZUJyb2FkY2FzdExpdmVuZXNzIH0gZnJvbSBcIi4uLy4uXCI7XG5pbXBvcnQgeyBJY29uIGFzIExpdmVJY29uIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3Jlcy9pbWcvY29tcG91bmQvbGl2ZS0xNnB4LnN2Z1wiO1xuaW1wb3J0IHsgSWNvbiBhcyBUaW1lckljb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vcmVzL2ltZy9jb21wb3VuZC90aW1lci0xNnB4LnN2Z1wiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgUm9vbUF2YXRhciBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy92aWV3cy9hdmF0YXJzL1Jvb21BdmF0YXJcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uLCB7IEJ1dHRvbkV2ZW50IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuaW1wb3J0IENsb2NrIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL3ZpZXdzL2F1ZGlvX21lc3NhZ2VzL0Nsb2NrXCI7XG5pbXBvcnQgeyBmb3JtYXRUaW1lTGVmdCB9IGZyb20gXCIuLi8uLi8uLi9EYXRlVXRpbHNcIjtcbmltcG9ydCBTcGlubmVyIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL1NwaW5uZXJcIjtcbmltcG9ydCB7IFZpZXdSb29tUGF5bG9hZCB9IGZyb20gXCIuLi8uLi8uLi9kaXNwYXRjaGVyL3BheWxvYWRzL1ZpZXdSb29tUGF5bG9hZFwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2Rpc3BhdGNoZXIvYWN0aW9uc1wiO1xuaW1wb3J0IGRpcyBmcm9tIFwiLi4vLi4vLi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyXCI7XG5cbmludGVyZmFjZSBWb2ljZUJyb2FkY2FzdEhlYWRlclByb3BzIHtcbiAgICBsaW5rVG9Sb29tPzogYm9vbGVhbjtcbiAgICBsaXZlPzogVm9pY2VCcm9hZGNhc3RMaXZlbmVzcztcbiAgICBsaXZlQmFkZ2VQb3NpdGlvbj86IFwibWlkZGxlXCIgfCBcInJpZ2h0XCI7XG4gICAgb25DbG9zZUNsaWNrPzogKCkgPT4gdm9pZDtcbiAgICBvbk1pY3JvcGhvbmVMaW5lQ2xpY2s/OiAoKGU6IEJ1dHRvbkV2ZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPikgfCBudWxsO1xuICAgIHJvb206IFJvb207XG4gICAgbWljcm9waG9uZUxhYmVsPzogc3RyaW5nO1xuICAgIHNob3dCcm9hZGNhc3Q/OiBib29sZWFuO1xuICAgIHNob3dCdWZmZXJpbmc/OiBib29sZWFuO1xuICAgIGJ1ZmZlcmluZ1Bvc2l0aW9uPzogXCJsaW5lXCIgfCBcInRpdGxlXCI7XG4gICAgdGltZUxlZnQ/OiBudW1iZXI7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFZvaWNlQnJvYWRjYXN0SGVhZGVyOiBSZWFjdC5GQzxWb2ljZUJyb2FkY2FzdEhlYWRlclByb3BzPiA9ICh7XG4gICAgbGlua1RvUm9vbSA9IGZhbHNlLFxuICAgIGxpdmUgPSBcIm5vdC1saXZlXCIsXG4gICAgbGl2ZUJhZGdlUG9zaXRpb24gPSBcInJpZ2h0XCIsXG4gICAgb25DbG9zZUNsaWNrID0gKCk6IHZvaWQgPT4ge30sXG4gICAgb25NaWNyb3Bob25lTGluZUNsaWNrID0gbnVsbCxcbiAgICByb29tLFxuICAgIG1pY3JvcGhvbmVMYWJlbCxcbiAgICBzaG93QnJvYWRjYXN0ID0gZmFsc2UsXG4gICAgc2hvd0J1ZmZlcmluZyA9IGZhbHNlLFxuICAgIGJ1ZmZlcmluZ1Bvc2l0aW9uID0gXCJsaW5lXCIsXG4gICAgc2hvd0Nsb3NlID0gZmFsc2UsXG4gICAgdGltZUxlZnQsXG59KSA9PiB7XG4gICAgY29uc3QgYnJvYWRjYXN0ID0gc2hvd0Jyb2FkY2FzdCAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfVm9pY2VCcm9hZGNhc3RIZWFkZXJfbGluZVwiPlxuICAgICAgICAgICAgPExpdmVJY29uIGNsYXNzTmFtZT1cIm14X0ljb24gbXhfSWNvbl8xNlwiIC8+XG4gICAgICAgICAgICB7X3QoXCJ2b2ljZV9icm9hZGNhc3R8YWN0aW9uXCIpfVxuICAgICAgICA8L2Rpdj5cbiAgICApO1xuXG4gICAgY29uc3QgbGl2ZUJhZGdlID0gbGl2ZSAhPT0gXCJub3QtbGl2ZVwiICYmIDxMaXZlQmFkZ2UgZ3JleT17bGl2ZSA9PT0gXCJncmV5XCJ9IC8+O1xuXG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBzaG93Q2xvc2UgJiYgKFxuICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvbiBvbkNsaWNrPXtvbkNsb3NlQ2xpY2t9PlxuICAgICAgICAgICAgPENsb3NlSWNvbiBjbGFzc05hbWU9XCJteF9JY29uIG14X0ljb25fMTZcIiAvPlxuICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+XG4gICAgKTtcblxuICAgIGNvbnN0IHRpbWVMZWZ0TGluZSA9IHRpbWVMZWZ0ICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9Wb2ljZUJyb2FkY2FzdEhlYWRlcl9saW5lXCI+XG4gICAgICAgICAgICA8VGltZXJJY29uIGNsYXNzTmFtZT1cIm14X0ljb24gbXhfSWNvbl8xNlwiIC8+XG4gICAgICAgICAgICA8Q2xvY2sgZm9ybWF0Rm49e2Zvcm1hdFRpbWVMZWZ0fSBzZWNvbmRzPXt0aW1lTGVmdH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGNvbnN0IGJ1ZmZlcmluZ0xpbmUgPSBzaG93QnVmZmVyaW5nICYmIGJ1ZmZlcmluZ1Bvc2l0aW9uID09PSBcImxpbmVcIiAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfVm9pY2VCcm9hZGNhc3RIZWFkZXJfbGluZVwiPlxuICAgICAgICAgICAgPFNwaW5uZXIgdz17MTR9IGg9ezE0fSAvPlxuICAgICAgICAgICAge190KFwidm9pY2VfYnJvYWRjYXN0fGJ1ZmZlcmluZ1wiKX1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGNvbnN0IG1pY3JvcGhvbmVMaW5lQ2xhc3NlcyA9IGNsYXNzTmFtZXMoe1xuICAgICAgICBteF9Wb2ljZUJyb2FkY2FzdEhlYWRlcl9saW5lOiB0cnVlLFxuICAgICAgICBbXCJteF9Wb2ljZUJyb2FkY2FzdEhlYWRlcl9taWMtLWNsaWNrYWJsZVwiXTogb25NaWNyb3Bob25lTGluZUNsaWNrLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWljcm9waG9uZUxpbmUgPSBtaWNyb3Bob25lTGFiZWwgJiYgKFxuICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgY2xhc3NOYW1lPXttaWNyb3Bob25lTGluZUNsYXNzZXN9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbk1pY3JvcGhvbmVMaW5lQ2xpY2t9XG4gICAgICAgICAgICB0aXRsZT17X3QoXCJ2b2lwfGNoYW5nZV9pbnB1dF9kZXZpY2VcIil9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxNaWNyb3Bob25lSWNvbiBjbGFzc05hbWU9XCJteF9JY29uIG14X0ljb25fMTZcIiAvPlxuICAgICAgICAgICAgPHNwYW4+e21pY3JvcGhvbmVMYWJlbH08L3NwYW4+XG4gICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICApO1xuXG4gICAgY29uc3Qgb25Sb29tQXZhdGFyT3JOYW1lQ2xpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGRpcy5kaXNwYXRjaDxWaWV3Um9vbVBheWxvYWQ+KHtcbiAgICAgICAgICAgIGFjdGlvbjogQWN0aW9uLlZpZXdSb29tLFxuICAgICAgICAgICAgcm9vbV9pZDogcm9vbS5yb29tSWQsXG4gICAgICAgICAgICBtZXRyaWNzVHJpZ2dlcjogdW5kZWZpbmVkLCAvLyBvdGhlclxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgbGV0IHJvb21BdmF0YXIgPSA8Um9vbUF2YXRhciByb29tPXtyb29tfSBzaXplPVwiMzJweFwiIC8+O1xuICAgIGxldCByb29tTmFtZSA9IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9Wb2ljZUJyb2FkY2FzdEhlYWRlcl9yb29tX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfVm9pY2VCcm9hZGNhc3RIZWFkZXJfcm9vbVwiPntyb29tLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICB7c2hvd0J1ZmZlcmluZyAmJiBidWZmZXJpbmdQb3NpdGlvbiA9PT0gXCJ0aXRsZVwiICYmIDxTcGlubmVyIHc9ezEyfSBoPXsxMn0gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG5cbiAgICBpZiAobGlua1RvUm9vbSkge1xuICAgICAgICByb29tQXZhdGFyID0gPEFjY2Vzc2libGVCdXR0b24gb25DbGljaz17b25Sb29tQXZhdGFyT3JOYW1lQ2xpY2t9Pntyb29tQXZhdGFyfTwvQWNjZXNzaWJsZUJ1dHRvbj47XG5cbiAgICAgICAgcm9vbU5hbWUgPSA8QWNjZXNzaWJsZUJ1dHRvbiBvbkNsaWNrPXtvblJvb21BdmF0YXJPck5hbWVDbGlja30+e3Jvb21OYW1lfTwvQWNjZXNzaWJsZUJ1dHRvbj47XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9Wb2ljZUJyb2FkY2FzdEhlYWRlclwiPlxuICAgICAgICAgICAge3Jvb21BdmF0YXJ9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1ZvaWNlQnJvYWRjYXN0SGVhZGVyX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICB7cm9vbU5hbWV9XG4gICAgICAgICAgICAgICAge21pY3JvcGhvbmVMaW5lfVxuICAgICAgICAgICAgICAgIHt0aW1lTGVmdExpbmV9XG4gICAgICAgICAgICAgICAge2Jyb2FkY2FzdH1cbiAgICAgICAgICAgICAgICB7YnVmZmVyaW5nTGluZX1cbiAgICAgICAgICAgICAgICB7bGl2ZUJhZGdlUG9zaXRpb24gPT09IFwibWlkZGxlXCIgJiYgbGl2ZUJhZGdlfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7bGl2ZUJhZGdlUG9zaXRpb24gPT09IFwicmlnaHRcIiAmJiBsaXZlQmFkZ2V9XG4gICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFB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