INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(766, 0x7075626c6963, 0x636f6e74656e745f69705f76696577, 0, '<xf:title>{{ phrase(\'ip_address_information_for_content_by_x\', {\'name\': $ip.User.username ?: phrase(\'guest\')}) }}</xf:title>\n\n<xf:breadcrumb source=\"{$breadcrumbs}\" />\n\n<xf:macro id=\"helper_ip::ip_block\" arg-ip=\"{$ip.ip}\" arg-user=\"{$ip.User}\" />', 0x[encoded data, 5452 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057),
(767, 0x7075626c6963, 0x636f6e74656e745f766f74655f636f6e6669726d, 0, '<xf:title>{{ phrase(\'vote_for_content\') }}</xf:title>\n\n<xf:form action=\"{$confirmUrl}\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:inforow rowtype=\"confirm\">\n				<xf:if is=\"$vote == $voteType\">\n					{{ phrase(\'you_sure_you_want_to_remove_your_vote_for_this_content\') }}\n				<xf:elseif is=\"$voteType == \'up\'\" />\n					{{ phrase(\'you_sure_you_want_to_upvote_this_content\') }}\n				<xf:else />\n					{{ phrase(\'you_sure_you_want_to_downvote_this_content\') }}\n				</xf:if>\n			</xf:inforow>\n		</div>\n		<xf:submitrow icon=\"confirm\" rowtype=\"simple\" />\n	</div>\n	<xf:hiddenval name=\"type\">{$voteType}</xf:hiddenval>\n</xf:form>', 0x[encoded data, 10168 characters], 0x5846, 2020010, '2.2.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(768, 0x7075626c6963, 0x636f6e74656e745f766f74655f6d6163726f73, 0, '<xf:macro id=\"vote_control\"\n	arg-link=\"!\"\n	arg-content=\"!\"\n	arg-extraClass=\"\"\n	arg-includeMicrodata=\"{{ false }}\">\n\n	<xf:set var=\"$currentVote\" value=\"{{ $content.getVisitorContentVote() }}\" />\n	<xf:set var=\"$canVote\" value=\"{{ $content.canVoteOnContent() }}\" />\n	<div class=\"contentVote {{ $currentVote ? \'is-voted\' : \'\' }} js-contentVote {$extraClass}\" data-xf-init=\"content-vote\" data-content-id=\"{{ $content.getEntityContentTypeId() }}\">\n		<xf:if is=\"$includeMicrodata\">\n			<meta itemprop=\"upvoteCount\" content=\"{$content.vote_score}\" />\n		</xf:if>\n\n		<a href=\"{{ $canVote ? link($link, $content, {\'type\' : \'up\'}) : \'javascript:\' }}\"\n			class=\"contentVote-vote {{ $canVote ? \'\' : \'is-disabled\' }} contentVote-vote--up {{ ($currentVote == \'up\') ? \'is-voted\' : \'\' }}\"\n			data-vote=\"up\"><span class=\"u-srOnly\">{{ phrase(\'upvote\') }}</span></a>\n\n		<span class=\"contentVote-score {{ $content.vote_score > 0 ? \'is-positive\' : \'\'  }} {{ $content.vote_score < 0 ? \'is-negative\' : \'\'  }} js-voteCount\"\n			data-score=\"{$content.vote_score}\">{$content.vote_score_short}</span>\n\n		<xf:if is=\"$content.isContentDownvoteSupported()\">\n			<a href=\"{{ $canVote ? link($link, $content, {\'type\' : \'down\'}) : \'javascript:\' }}\"\n				class=\"contentVote-vote {{ ($canVote AND $content.canDownvoteContent()) ? \'\' : \'is-disabled\' }} contentVote-vote--down {{ ($currentVote == \'down\') ? \'is-voted\' : \'\' }}\"\n				data-vote=\"down\"><span class=\"u-srOnly\">{{ phrase(\'downvote\') }}</span></a>\n		</xf:if>\n	</div>\n\n</xf:macro>\n\n<xf:macro id=\"vote_display\" arg-content=\"!\" arg-extraClass=\"\" arg-includeMicrodata=\"{{ false }}\">\n\n	<div class=\"contentVote js-contentVote contentVote--display {{ $content.getVisitorContentVote() ? \'is-voted\' : \'\' }} {$extraClass}\" data-content-id=\"{{ $content.getEntityContentTypeId() }}\">\n		<xf:if is=\"$includeMicrodata\">\n			<meta itemprop=\"upvoteCount\" content=\"{$content.vote_score}\" />\n		</xf:if>\n\n		<span class=\"contentVote-score {{ $content.vote_score > 0 ? \'is-positive\' : \'\'  }} {{ $content.vote_score < 0 ? \'is-negative\' : \'\'  }} js-voteCount\" data-score=\"{$content.vote_score}\">{$content.vote_score_short}</span>\n		<span class=\"contentVote-description\">{{ $content.vote_score == 1 ? phrase(\'vote_noun\') : phrase(\'votes\') }}</span>\n	</div>\n\n</xf:macro>\n\n<xf:macro id=\"vote_display_placeholder\" arg-extraClass=\"\">\n\n	<div class=\"contentVote contentVote--display contentVote--placeholder {$extraClass}\">\n		<span class=\"contentVote-score\">-</span>\n		<span class=\"contentVote-description\">{{ phrase(\'votes\') }}</span>\n	</div>\n\n</xf:macro>', 0x[encoded data, 49132 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(769, 0x7075626c6963, 0x636f6e766572736174696f6e5f616464, 0, '<xf:title>{{ phrase(\'send_direct_message\') }}</xf:title>\n\n<xf:breadcrumb href=\"{{ link(\'direct-messages\') }}\">{{ phrase(\'direct_messages\') }}</xf:breadcrumb>\n\n<xf:if contentcheck=\"true\">\n	<div class=\"blockMessage blockMessage--error blockMessage--iconic\">\n		<xf:contentcheck>\n			<xf:if is=\"$errorUsernames is not empty\">\n				<div>{{ phrase(\'you_can_not_send_direct_message_to_following_users_because_of_privacy\', {\'usernames\': $errorUsernames|join(\', \')}) }}</div>\n			</xf:if>\n\n			<xf:if is=\"$notFoundUsernames is not empty\">\n				<div>{{ phrase(\'following_users_not_found_x\', {\'usernames\': $notFoundUsernames|join(\', \')}) }}</div>\n			</xf:if>\n\n			<xf:if is=\"$recipientLimit\">\n				<div>{{ phrase(\'you_have_exceeded_allowed_number_of_recipients_x_for\', {\'limit\': $recipientLimit}) }}</div>\n			</xf:if>\n		</xf:contentcheck>\n	</div>\n</xf:if>\n\n<xf:form action=\"{{ link(\'direct-messages/add\') }}\" ajax=\"true\" draft=\"{{ link(\'direct-messages/draft\') }}\" class=\"block\" data-xf-init=\"attachment-manager\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:tokeninputrow name=\"recipients\" value=\"{$to}\" href=\"{{ link(\'members/find\') }}\"\n				rowtype=\"fullWidth\"\n				label=\"{{ ($maxRecipients == -1 OR $maxRecipients > 1) ? phrase(\'recipients\') : phrase(\'recipient\') }}\"\n				min-length=\"1\"\n				max-tokens=\"{{ ($maxRecipients > -1) ? $maxRecipients : null }}\"\n				explain=\"{{ ($maxRecipients == -1 OR $maxRecipients > 1) ? phrase(\'separate_names_with_comma\') : null }}\" />\n\n			<xf:textboxrow name=\"title\" value=\"{$title}\" rowtype=\"fullWidth noLabel\" class=\"input--title\"\n				maxlength=\"{{ max_length(\'XF:ConversationMaster\', \'title\') }}\"\n				placeholder=\"{{ phrase(\'title...\') }}\"\n				label=\"{{ phrase(\'title\') }}\" />\n\n			<xf:editorrow name=\"message\"\n				value=\"{$message}\"\n				attachments=\"{{ $attachmentData ? $attachmentData.attachments : [] }}\"\n				rowtype=\"fullWidth noLabel mergePrev\"\n				data-preview-url=\"{{ link(\'direct-messages/add-preview\') }}\" />\n\n			<xf:formrow>\n				<xf:if is=\"$attachmentData\">\n					<xf:macro id=\"helper_attach_upload::upload_block\"\n						arg-attachmentData=\"{$attachmentData}\"\n						arg-forceHash=\"{$draft.attachment_hash}\" />\n				</xf:if>\n\n				<xf:if is=\"$xf.options.multiQuote\">\n					<xf:macro id=\"multi_quote_macros::button\"\n						arg-href=\"{{ link(\'direct-messages/multi-quote\', $conversation) }}\"\n						arg-messageSelector=\".js-message\"\n						arg-storageKey=\"multiQuoteConversation\" />\n				</xf:if>\n			</xf:formrow>\n\n			<xf:checkboxrow>\n				<xf:option name=\"open_invite\" checked=\"{{ ($draft.open_invite OR $conversation.open_invite) ? \'checked\' : \'\' }}\">\n					{{ phrase(\'allow_anyone_in_direct_message_to_invite_others\') }}\n				</xf:option>\n\n				<xf:option name=\"conversation_locked\" checked=\"{{ ($draft.conversation_open OR $conversation.conversation_open) ? \'\' : \'checked\' }}\">\n					{{ phrase(\'lock_direct_message_no_responses_will_be_allowed\') }}\n				</xf:option>\n			</xf:checkboxrow>\n		</div>\n		<xf:submitrow submit=\"{{ phrase(\'send_direct_message\') }}\" sticky=\"true\" icon=\"conversation\" />\n	</div>\n</xf:form>', 0x[encoded data, 52474 characters], 0x5846, 2030038, '2.3.0 Beta 8', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(770, 0x7075626c6963, 0x636f6e766572736174696f6e5f65646974, 0, '<xf:title>{{ phrase(\'edit_direct_message\') }}</xf:title>\n\n<xf:breadcrumb href=\"{{ link(\'direct-messages\') }}\">{{ phrase(\'direct_messages\') }}</xf:breadcrumb>\n<xf:breadcrumb href=\"{{ link(\'direct-messages\', $conversation) }}\">{$conversation.title}</xf:breadcrumb>\n\n<xf:form action=\"{{ link(\'direct-messages/edit\', $conversation) }}\" class=\"block\" ajax=\"true\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:textboxrow name=\"title\" value=\"{$conversation}\"\n				label=\"{{ phrase(\'title\') }}\" />\n\n			<xf:checkboxrow>\n				<xf:option name=\"open_invite\" checked=\"{{ $conversation.open_invite ? \'checked\' : \'\' }}\"\n					label=\"{{ phrase(\'allow_anyone_in_direct_message_to_invite_others\') }}\" />\n\n				<xf:option name=\"conversation_locked\" checked=\"{{ $conversation.conversation_open ? \'\' : \'checked\' }}\"\n					label=\"{{ phrase(\'lock_direct_message\') }}\"\n					hint=\"{{ phrase(\'no_responses_will_be_allowed\') }}\" />\n			</xf:checkboxrow>\n		</div>\n		<xf:submitrow icon=\"save\" />\n	</div>\n</xf:form>', 0x[encoded data, 16128 characters], 0x5846, 2030037, '2.3.0 Beta 7', 1748686057),
(771, 0x7075626c6963, 0x636f6e766572736174696f6e5f696e76697465, 0, '<xf:title>{{ phrase(\'invite_members_to_direct_message\') }}</xf:title>\n\n<xf:breadcrumb href=\"{{ link(\'direct-messages\') }}\">{{ phrase(\'direct_messages\') }}</xf:breadcrumb>\n<xf:breadcrumb href=\"{{ link(\'direct-messages\', $conversation) }}\">{$conversation.title}</xf:breadcrumb>\n\n<xf:form action=\"{{ link(\'direct-messages/invite\', $conversation) }}\" class=\"block\" ajax=\"true\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:tokeninputrow name=\"recipients\" href=\"{{ link(\'members/find\') }}\"\n				min-length=\"1\"\n				max-tokens=\"{{ ($remainingRecipients > -1) ? $remainingRecipients : null }}\"\n				label=\"{{ phrase(\'invite_members\') }}\">\n\n				<xf:explain>\n					<xf:if is=\"$remainingRecipients > 1\">{{ phrase(\'separate_names_with_comma\') }}</xf:if> {{ phrase(\'invited_members_see_entire_direct_message\') }}\n					<xf:if is=\"$remainingRecipients > 0\">{{ phrase(\'you_may_invite_up_to_x_members\', {\'number\': $remainingRecipients|number}) }}</xf:if>\n				</xf:explain>\n			</xf:tokeninputrow>\n		</div>\n		<xf:submitrow submit=\"{{ phrase(\'invite\') }}\" />\n	</div>\n</xf:form>', 0x[encoded data, 17716 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(772, 0x7075626c6963, 0x636f6e766572736174696f6e5f6c65617665, 0, '<xf:title>{{ phrase(\'leave_direct_message\') }}</xf:title>\n\n<xf:breadcrumb href=\"{{ link(\'direct-messages\') }}\">{{ phrase(\'direct_messages\') }}</xf:breadcrumb>\n<xf:breadcrumb href=\"{{ link(\'direct-messages\', $conversation) }}\">{$conversation.title}</xf:breadcrumb>\n\n<xf:form action=\"{{ link(\'direct-messages/leave\', $conversation) }}\" class=\"block\" ajax=\"true\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:inforow>\n				{{ phrase(\'leaving_direct_message_will_remove_it_from_your_direct_message_list\') }}\n			</xf:inforow>\n			<xf:radiorow name=\"recipient_state\"\n				label=\"{{ phrase(\'future_message_handling\') }}\">\n\n				<xf:option value=\"deleted\" checked=\"checked\"\n					label=\"{{ phrase(\'accept_future_messages\') }}\"\n					hint=\"{{ phrase(\'should_direct_message_receive_responses_restored_to_inbox\') }}\" />\n\n				<xf:option value=\"deleted_ignored\"\n					label=\"{{ phrase(\'ignore_future_messages\') }}\"\n					hint=\"{{ phrase(\'not_notified_of_responses_direct_message_remain_deleted\') }}\" />\n			</xf:radiorow>\n		</div>\n		<xf:submitrow submit=\"{{ phrase(\'leave\') }}\" />\n	</div>\n</xf:form>', 0x[encoded data, 15644 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(773, 0x7075626c6963, 0x636f6e766572736174696f6e5f6c697374, 0, '<xf:title page=\"{$page}\">{{ phrase(\'direct_messages\') }}</xf:title>\n\n<xf:js src=\"xf/inline_mod.js\" min=\"1\" />\n\n<xf:macro id=\"conversation_list_macros::conversation_page_options\" />\n\n<xf:pageaction if=\"$xf.visitor.canStartConversation()\">\n	<xf:button href=\"{{ link(\'direct-messages/add\') }}\" class=\"button--cta\" icon=\"write\">{{ phrase(\'send_direct_message\') }}</xf:button>\n</xf:pageaction>\n\n<div class=\"block\" data-xf-init=\"inline-mod\" data-type=\"conversation\" data-href=\"{{ link(\'inline-mod\') }}\">\n	<div class=\"block-outer\">\n		<xf:pagenav\n			page=\"{$page}\" perpage=\"{$perPage}\" total=\"{$total}\"\n			link=\"direct-messages\" params=\"{$filters}\"\n			wrapperclass=\"block-outer-main\" />\n		<div class=\"block-outer-opposite\">\n			<div class=\"buttonGroup\">\n				<xf:macro id=\"inline_mod_macros::button\"\n					arg-variant=\"inlineModButton--withLabel\"\n					arg-label=\"{{ phrase(\'selected\') }}\"\n					arg-tooltip=\"{{ false }}\" />\n			</div>\n		</div>\n	</div>\n\n	<div class=\"block-container\">\n		<div class=\"block-filterBar\">\n			<div class=\"filterBar\">\n				<xf:if contentcheck=\"true\">\n					<ul class=\"filterBar-filters\">\n					<xf:contentcheck>\n						<xf:if is=\"$filters.starter_id AND $starterFilter\">\n							<li><a href=\"{{ link(\'direct-messages\', null, $filters|replace(\'starter_id\', null)) }}\"\n								class=\"filterBar-filterToggle\" data-xf-init=\"tooltip\" title=\"{{ phrase(\'remove_this_filter\')|for_attr }}\">\n								{{ phrase(\'started_by_x\', {\'name\': $starterFilter.username}) }}</a></li>\n						</xf:if>\n						<xf:if is=\"$filters.receiver_id AND $receiverFilter\">\n							<li><a href=\"{{ link(\'direct-messages\', null, $filters|replace(\'receiver_id\', null)) }}\"\n								class=\"filterBar-filterToggle\" data-xf-init=\"tooltip\" title=\"{{ phrase(\'remove_this_filter\')|for_attr }}\">\n								{{ phrase(\'received_by_x\', {\'name\': $receiverFilter.username}) }}</a></li>\n						</xf:if>\n						<xf:if is=\"$filters.starred\">\n							<li><a href=\"{{ link(\'direct-messages\', null, $filters|replace(\'starred\', null)) }}\"\n								class=\"filterBar-filterToggle\" data-xf-init=\"tooltip\" title=\"{{ phrase(\'remove_this_filter\')|for_attr }}\">\n								<span class=\"filterBar-filterToggle-label\">{{ phrase(\'show_only:\') }}</span>\n								{{ phrase(\'starred\') }}</a></li>\n						</xf:if>\n						<xf:if is=\"$filters.unread\">\n							<li><a href=\"{{ link(\'direct-messages\', null, $filters|replace(\'unread\', null)) }}\"\n								class=\"filterBar-filterToggle\" data-xf-init=\"tooltip\" title=\"{{ phrase(\'remove_this_filter\')|for_attr }}\">\n								<span class=\"filterBar-filterToggle-label\">{{ phrase(\'show_only:\') }}</span>\n								{{ phrase(\'filter_unread\') }}</a></li>\n						</xf:if>\n					</xf:contentcheck>\n					</ul>\n				</xf:if>\n\n				<a class=\"filterBar-menuTrigger\" data-xf-click=\"menu\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-haspopup=\"true\">{{ phrase(\'filters\') }}</a>\n				<div class=\"menu\" data-menu=\"menu\" aria-hidden=\"true\">\n					<div class=\"menu-content\">\n						<h4 class=\"menu-header\">{{ phrase(\'show_only:\') }}</h4>\n						<xf:form action=\"{{ link(\'direct-messages/filters\') }}\">\n							<div class=\"menu-row menu-row--separated\">\n								<xf:radio name=\"filter_type\">\n									<xf:option value=\"\" selected=\"{{ !$starterFilter AND !$receiverFilter }}\">{{ phrase(\'show_all_direct_messages\') }}</xf:option>\n									<xf:option value=\"started\" selected=\"{{ $starterFilter ? true : false }}\" data-hide=\"true\"\n										label=\"{{ phrase(\'started_by...\') }}\">\n\n										<xf:textbox name=\"starter\" value=\"{{ $starterFilter ? $starterFilter.username : \'\' }}\" ac=\"single\"\n											maxlength=\"{{ max_length($xf.visitor, \'username\') }}\"/>\n									</xf:option>\n									<xf:option value=\"received\" selected=\"{{ $receiverFilter ? true : false }}\" data-hide=\"true\"\n										label=\"{{ phrase(\'received_by...\') }}\">\n\n										<xf:textbox name=\"receiver\" value=\"{{ $receiverFilter ? $receiverFilter.username : \'\' }}\" ac=\"single\"\n											maxlength=\"{{ max_length($xf.visitor, \'username\') }}\" />\n									</xf:option>\n								</xf:radio>\n							</div>\n							<div class=\"menu-row menu-row--separated\">\n								<xf:checkbox>\n									<xf:option name=\"starred\" selected=\"{$filters.starred}\" label=\"{{ phrase(\'starred_direct_messages\') }}\" />\n									<xf:option name=\"unread\" selected=\"{$filters.unread}\" label=\"{{ phrase(\'unread_direct_messages\') }}\" />\n								</xf:checkbox>\n							</div>\n\n							<div class=\"menu-footer\">\n								<span class=\"menu-footer-controls\">\n									<xf:button type=\"submit\" class=\"button--primary\">{{ phrase(\'filter\') }}</xf:button>\n								</span>\n							</div>\n							<xf:hiddenval name=\"apply\">1</xf:hiddenval>\n						</xf:form>\n					</div>\n				</div>\n			</div>\n		</div>\n\n		<div class=\"block-body\">\n			<xf:if is=\"$userConvs is not empty\">\n				<div class=\"structItemContainer\">\n					<xf:foreach loop=\"$userConvs\" value=\"$userConv\">\n						<xf:macro id=\"conversation_list_macros::item\" arg-userConv=\"{$userConv}\" />\n					</xf:foreach>\n				</div>\n			<xf:else />\n				<div class=\"block-row\">{{ phrase(\'there_no_direct_messages_to_display\') }}</div>\n			</xf:if>\n		</div>\n	</div>\n\n	<xf:pagenav page=\"{$page}\" perpage=\"{$perPage}\" total=\"{$total}\"\n		link=\"direct-messages\" params=\"{$filters}\"\n		wrapperclass=\"block-outer block-outer--after\" />\n</div>\n\n<xf:widgetpos id=\"conversation_list_sidebar\" position=\"sidebar\" />', 0x[encoded data, 71378 characters], 0x5846, 2030038, '2.3.0 Beta 8', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(774, 0x7075626c6963, 0x636f6e766572736174696f6e5f6c6973745f6d6163726f73, 0, '<xf:macro id=\"conversation_page_options\"\n	arg-conversation=\"{{ null }}\">\n\n	<xf:if is=\"{$conversation}\">\n		<xf:page option=\"searchConstraints\" value=\"{{ {\n			phrase(\'direct_messages\'): {\'search_type\': \'conversation_message\'},\n			phrase(\'this_direct_message\'): {\'search_type\': \'conversation_message\', \'c\': {\'conversation\': $conversation.conversation_id}}\n		} }}\" />\n	<xf:else />\n		<xf:page option=\"searchConstraints\" value=\"{{ {\n			phrase(\'direct_messages\'): {\'search_type\': \'conversation_message\'}\n		} }}\" />\n	</xf:if>\n</xf:macro>\n\n<xf:macro id=\"item\"\n	arg-userConv=\"!\"\n	arg-allowInlineMod=\"{{ true }}\">\n\n	<xf:css src=\"structured_list.less\" />\n\n	<div class=\"structItem structItem--conversation {{ $userConv.isUnread() ? \'is-unread\' : \'\' }} js-inlineModContainer\" data-author=\"{{ $userConv.Master.Starter.username ?: $userConv.Master.username }}\">\n		<div class=\"structItem-cell structItem-cell--icon\">\n			<div class=\"structItem-iconContainer\">\n				<xf:avatar user=\"$userConv.Master.Starter\" size=\"s\" defaultname=\"{$userConv.Master.username}\" />\n			</div>\n		</div>\n		<div class=\"structItem-cell structItem-cell--main\" data-xf-init=\"touch-proxy\">\n			<xf:if contentcheck=\"true\">\n				<ul class=\"structItem-statuses\">\n				<xf:contentcheck>\n					<xf:if is=\"$userConv.is_starred\">\n						<li>\n							<i class=\"structItem-status structItem-status--starred\" aria-hidden=\"true\" title=\"{{ phrase(\'starred\')|for_attr }}\"></i>\n							<span class=\"u-srOnly\">{{ phrase(\'starred\') }}</span>\n						</li>\n					</xf:if>\n					<xf:if is=\"!$userConv.Master.conversation_open\">\n						<li>\n							<i class=\"structItem-status structItem-status--locked\" aria-hidden=\"true\" title=\"{{ phrase(\'locked\')|for_attr }}\"></i>\n							<span class=\"u-srOnly\">{{ phrase(\'locked\') }}</span>\n						</li>\n					</xf:if>\n				</xf:contentcheck>\n				</ul>\n			</xf:if>\n\n			<a href=\"{{ link(\'direct-messages/unread\', $userConv) }}\" class=\"structItem-title\" data-tp-primary=\"on\">{$userConv.title}</a>\n\n			<div class=\"structItem-minor\">\n				<xf:if contentcheck=\"true\">\n					<ul class=\"structItem-extraInfo\">\n					<xf:contentcheck>\n						<xf:if is=\"$allowInlineMod\">\n							<li><xf:checkbox standalone=\"true\">\n								<xf:option value=\"{$userConv.conversation_id}\" class=\"js-inlineModToggle\" />\n							</xf:checkbox></li>\n						</xf:if>\n					</xf:contentcheck>\n					</ul>\n				</xf:if>\n\n				<ul class=\"structItem-parts\">\n					<li>\n						<ul class=\"listInline listInline--comma listInline--selfInline\">\n							<li><xf:username user=\"$userConv.Master.Starter\" defaultname=\"{$userConv.Master.username}\" title=\"{{ phrase(\'direct_message_starter\') }}\" /></li><xf:trim>\n							</xf:trim><xf:foreach loop=\"$userConv.Master.recipients\" value=\"$recipient\" if=\"{$recipient.user_id} != {$userConv.Master.user_id}\"><xf:trim>\n								<li><xf:username user=\"{$recipient}\" defaultname=\"{{ phrase(\'unknown_member\') }}\" /></li>\n							</xf:trim></xf:foreach>\n						</ul>\n					</li>\n					<li class=\"structItem-startDate\"><a href=\"{{ link(\'direct-messages\', $userConv) }}\" rel=\"nofollow\"><xf:date time=\"{$userConv.Master.start_date}\" /></a></li>\n				</ul>\n\n				<xf:if is=\"$userConv.reply_count >= $xf.options.messagesPerPage\">\n					<span class=\"structItem-pageJump\">\n					<xf:foreach loop=\"{{ last_pages($userConv.reply_count + 1, $xf.options.messagesPerPage, $xf.options.lastPageLinks) }}\" value=\"$p\">\n						<a href=\"{{ link(\'direct-messages\', $userConv, {\'page\': $p}) }}\">{$p}</a>\n					</xf:foreach>\n					</span>\n				</xf:if>\n			</div>\n		</div>\n		<div class=\"structItem-cell structItem-cell--meta\">\n			<dl class=\"pairs pairs--justified\">\n				<dt>{{ phrase(\'replies\') }}</dt>\n				<dd>{$userConv.reply_count|number}</dd>\n			</dl>\n			<dl class=\"pairs pairs--justified structItem-minor\">\n				<dt>{{ phrase(\'participants\') }}</dt>\n				<dd>{$userConv.Master.recipient_count|number}</dd>\n			</dl>\n		</div>\n		<div class=\"structItem-cell structItem-cell--latest\">\n			<a href=\"{{ link(\'direct-messages/latest\', $userConv) }}\" rel=\"nofollow\"><xf:date time=\"{$userConv.last_message_date}\" class=\"structItem-latestDate\" /></a>\n			<div class=\"structItem-minor\"><xf:username user=\"{$userConv.Master.last_message_cache}\" /></div>\n		</div>\n	</div>\n</xf:macro>', 0x[encoded data, 58068 characters], 0x5846, 2030032, '2.3.0 Beta 2', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(775, 0x7075626c6963, 0x636f6e766572736174696f6e5f6d61726b5f756e72656164, 0, '<xf:title>{{ $isUnread ? phrase(\'mark_read\') : phrase(\'mark_unread\') }}</xf:title>\n\n<xf:breadcrumb href=\"{{ link(\'direct-messages\') }}\">{{ phrase(\'direct_messages\') }}</xf:breadcrumb>\n<xf:breadcrumb href=\"{{ link(\'direct-messages\', $conversation) }}\">{$conversation.title}</xf:breadcrumb>\n\n<xf:form action=\"{{ link(\'direct-messages/mark-unread\', $userConv) }}\" ajax=\"true\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:inforow rowtype=\"confirm\">\n				<xf:if is=\"$isUnread\">\n					{{ phrase(\'please_confirm_that_you_wish_to_mark_following_direct_message_read:\') }}\n				<xf:else />\n					{{ phrase(\'please_confirm_that_you_wish_to_mark_following_direct_message_unread:\') }}\n				</xf:if>\n				<strong><a href=\"{{ link(\'direct-messages\', $conversation) }}\">{$conversation.title}</a></strong>\n			</xf:inforow>\n		</div>\n		<xf:submitrow submit=\"{{ $isUnread ? phrase(\'mark_read\') : phrase(\'mark_unread\') }}\" rowtype=\"simple\" />\n	</div>\n\n	<xf:redirect url=\"{$redirect}\" />\n</xf:form>', 0x[encoded data, 16900 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057),
(776, 0x7075626c6963, 0x636f6e766572736174696f6e5f6d6573736167655f65646974, 0, '<xf:title>{{ phrase(\'edit_message_in_direct_message:\') }} {$conversation.title}</xf:title>\n\n<xf:breadcrumb href=\"{{ link(\'direct-messages\') }}\">{{ phrase(\'direct_messages\') }}</xf:breadcrumb>\n<xf:breadcrumb href=\"{{ link(\'direct-messages\', $conversation) }}\">{$conversation.title}</xf:breadcrumb>\n\n<xf:form action=\"{{ link(\'direct-messages/replies/edit\', $message) }}\" ajax=\"true\" class=\"block\"\n	data-xf-init=\"attachment-manager\">\n\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:editorrow name=\"message\" value=\"{$message.message}\" attachments=\"{$attachmentData.attachments}\"\n				rowtype=\"{{ $quickEdit ? \'fullWidth noLabel\' : \'\' }}\"\n				label=\"{{ phrase(\'message\') }}\"\n				data-preview-url=\"{{ link(\'direct-messages/replies/preview\', $message) }}\" />\n\n			<xf:formrow rowtype=\"{{ $quickEdit ? \'fullWidth noLabel\' : \'\' }}\">\n				<xf:if is=\"$attachmentData\">\n					<xf:macro id=\"helper_attach_upload::upload_block\" arg-attachmentData=\"{$attachmentData}\" />\n				</xf:if>\n			</xf:formrow>\n		</div>\n		<xf:submitrow icon=\"save\" sticky=\"true\" rowtype=\"{{ $quickEdit ? \'simple\' : \'\' }}\">\n			<xf:html>\n				<xf:if is=\"$quickEdit\">\n					<xf:button class=\"js-cancelButton\" icon=\"cancel\">{{ phrase(\'button.cancel\') }}</xf:button>\n				</xf:if>\n			</xf:html>\n		</xf:submitrow>\n	</div>\n</xf:form>', 0x[encoded data, 21566 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057),
(777, 0x7075626c6963, 0x636f6e766572736174696f6e5f6d6573736167655f656469745f6e65775f6d657373616765, 0, '<xf:macro id=\"conversation_message_macros::message\" arg-message=\"{$message}\" arg-conversation=\"{$conversation}\" />', 0x4f3a32343a2258465c54656d706c6174655c436f6d70696c65725c417374223a313a7b733a383a226368696c6472656e223b613a313a7b693a303b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c546167223a373a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a353a226d6163726f223b733a31303a2261747472696275746573223b613a333a7b733a323a226964223b4f3a33313a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c537472223a323a7b733a343a226c696e65223b693a313b733a373a22636f6e74656e74223b733a33363a22636f6e766572736174696f6e5f6d6573736167655f6d6163726f733a3a6d657373616765223b7d733a31313a226172672d6d657373616765223b4f3a33363a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c5661726961626c65223a343a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a373a226d657373616765223b733a31303a2264696d656e73696f6e73223b613a303a7b7d733a373a2266696c74657273223b613a303a7b7d7d733a31363a226172672d636f6e766572736174696f6e223b4f3a33363a2258465c54656d706c6174655c436f6d70696c65725c53796e7461785c5661726961626c65223a343a7b733a343a226c696e65223b693a313b733a343a226e616d65223b733a31323a22636f6e766572736174696f6e223b733a31303a2264696d656e73696f6e73223b613a303a7b7d733a373a2266696c74657273223b613a303a7b7d7d7d733a383a226368696c6472656e223b613a303a7b7d733a31313a22697353656c66436c6f7365223b623a313b733a31303a22657874656e73696f6e73223b613a303a7b7d733a353a226465707468223b693a303b7d7d7d, 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(778, 0x7075626c6963, 0x636f6e766572736174696f6e5f6d6573736167655f6d6163726f73, 0, '<xf:macro id=\"message\" arg-message=\"!\" arg-conversation=\"!\" arg-position=\"\" arg-lastRead=\"{{ null }}\">\n	<xf:css src=\"message.less\" />\n	<article class=\"message message--conversationMessage {{ $message.isIgnored() ? \' is-ignored\' : \'\' }} {{ $message.isUnread($lastRead) ? \'is-unread\' : \'\' }} js-message\" data-author=\"{{ $message.User.username ?: $message.username }}\">\n		<span class=\"u-anchorTarget\" id=\"convMessage-{$message.message_id}\"></span>\n		<div class=\"message-inner\">\n			<div class=\"message-cell message-cell--user\">\n				<xf:macro id=\"message_macros::user_info\" arg-user=\"{$message.User}\" arg-fallbackName=\"{$message.username}\" />\n			</div>\n			<div class=\"message-cell message-cell--main\">\n				<div class=\"message-main js-quickEditTarget\">\n					<div class=\"message-content\">\n						<header class=\"message-attribution\">\n							<a href=\"{{ link(\'direct-messages/replies\', $message) }}\" class=\"message-attribution-main u-concealed\" rel=\"nofollow\">\n								<xf:date time=\"{$message.message_date}\" />\n							</a>\n							<span class=\"message-attribution-opposite\">\n								<xf:if is=\"$message.isUnread($lastRead)\">\n									<span class=\"message-newIndicator\">{{ phrase(\'new\') }}</span>\n								</xf:if>\n								<xf:if is=\"$position\">#{$position|number}</xf:if>\n							</span>\n						</header>\n\n						<xf:if is=\"$message.isIgnored()\">\n							<div class=\"messageNotice messageNotice--ignored\">\n								{{ phrase(\'you_are_ignoring_content_by_this_member\') }}\n							</div>\n						</xf:if>\n\n						<div class=\"message-userContent lbContainer js-lbContainer\"\n							data-lb-id=\"message-{$message.message_id}\"\n							data-lb-caption-title=\"{{ $message.User ? $message.User.username : $message.username }}\"\n							data-lb-caption-desc=\"{{ date_time($message.message_date) }}\">\n\n							<article class=\"message-body js-selectToQuote\">\n								{{ bb_code($message.message, \'conversation_message\', $message) }}\n								<div class=\"js-selectToQuoteEnd\">&nbsp;</div>\n							</article>\n\n							<xf:if is=\"$message.attach_count\">\n								<xf:macro id=\"message_macros::attachments\"\n									arg-attachments=\"{$message.Attachments}\"\n									arg-message=\"{$message}\"\n									arg-canView=\"{{ true }}\" />\n							</xf:if>\n						</div>\n\n						<xf:macro id=\"message_macros::signature\" arg-user=\"{$message.User}\" />\n					</div>\n\n					<footer class=\"message-footer\">\n						<xf:if contentcheck=\"true\">\n							<div class=\"message-actionBar actionBar\">\n								<xf:contentcheck>\n									<xf:if contentcheck=\"true\">\n										<div class=\"actionBar-set actionBar-set--external\">\n											<xf:contentcheck>\n												<xf:react content=\"{$message}\" link=\"direct-messages/replies/react\" list=\"< .js-message | .js-reactionsList\" />\n\n												<xf:if is=\"$conversation.canReply()\">\n													<xf:set var=\"$quoteLink\">{{ link(\'direct-messages/reply\', $conversation, {\'quote\': $message.message_id}) }}</xf:set>\n													<xf:if is=\"$xf.options.multiQuote\">\n														<a href=\"{$quoteLink}\"\n															class=\"actionBar-action actionBar-action--mq u-jsOnly js-multiQuote\"\n															title=\"{{ phrase(\'toggle_multi_quote_tooltip\')|for_attr }}\"\n															data-message-id=\"{$message.message_id}\"\n															data-mq-action=\"add\">\n															{{ phrase(\'quote\') }}\n														</a>\n													</xf:if>\n													<a href=\"{$quoteLink}\"\n														class=\"actionBar-action actionBar-action--reply\"\n														title=\"{{ phrase(\'reply_quoting_this_message\')|for_attr }}\"\n														data-xf-click=\"quote\"\n														data-quote-href=\"{{ link(\'direct-messages/replies/quote\', $message) }}\">{{ phrase(\'reply\') }}</a>\n\n												</xf:if>\n											</xf:contentcheck>\n										</div>\n									</xf:if>\n\n									<xf:if contentcheck=\"true\">\n										<div class=\"actionBar-set actionBar-set--internal\">\n											<xf:contentcheck>\n												<xf:if is=\"$message.canReport()\">\n													<a href=\"{{ link(\'direct-messages/replies/report\', $message) }}\" class=\"actionBar-action actionBar-action--report\" data-xf-click=\"overlay\" data-cache=\"false\">{{ phrase(\'report_verb\') }}</a>\n												</xf:if>\n\n												<xf:if is=\"$message.canEdit()\">\n													<xf:js src=\"xf/action.js, xf/message.js\" min=\"1\" />\n													<a href=\"{{ link(\'direct-messages/replies/edit\', $message) }}\"\n														class=\"actionBar-action actionBar-action--edit\"\n														data-xf-click=\"quick-edit\"\n														data-editor-target=\"< .js-quickEditTarget\">{{ phrase(\'edit\') }}</a>\n												</xf:if>\n\n												<xf:if is=\"$message.canCleanSpam()\">\n													<a href=\"{{ link(\'spam-cleaner\', $message) }}\"\n														class=\"actionBar-action actionBar-action--spam actionBar-action--menuItem\"\n														data-xf-click=\"overlay\">{{ phrase(\'spam\') }}</a>\n												</xf:if>\n\n												<xf:if is=\"$xf.visitor.canViewIps() && $message.ip_id\">\n													<a href=\"{{ link(\'direct-messages/replies/ip\', $message) }}\"\n														class=\"actionBar-action actionBar-action--ip\"\n														data-xf-click=\"overlay\">{{ phrase(\'ip\') }}</a>\n												</xf:if>\n											</xf:contentcheck>\n										</div>\n									</xf:if>\n								</xf:contentcheck>\n							</div>\n						</xf:if>\n\n						<div class=\"reactionsBar js-reactionsList {{ $message.reactions ? \'is-active\' : \'\' }}\">\n							<xf:reactions content=\"{$message}\" link=\"direct-messages/replies/reactions\" />\n						</div>\n					</footer>\n				</div>\n			</div>\n		</div>\n	</article>\n</xf:macro>', 0x[encoded data, 64030 characters], 0x5846, 2030370, '2.3.3', 1748686057);
