PluginProbe
Booking Calendar / 11.5
Booking Calendar v11.5
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
booking / includes / page-settings-messages / _out / settings_messages_page.js

settings_messages_page.js in Booking Calendar 11.5, at includes/page-settings-messages/_out/settings_messages_page.js

114 lines 19.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";
2
3 /* global jQuery, wpbc_settings_messages_page */
4 (function ($, w) {
5 'use strict';
6
7 var config = w.wpbc_settings_messages_page || {};
8 function trimText(value) {
9 return String(value || '').trim();
10 }
11 function showMessage(message, type, delay) {
12 if (typeof w.wpbc_admin_show_message === 'function') {
13 w.wpbc_admin_show_message(message, type || 'info', delay || 4000, false);
14 }
15 }
16 $(function () {
17 var $form = $('#wpbc_settings_messages_form');
18 function switchRightPanel($tab) {
19 var panelId = $tab.attr('aria-controls');
20 var panel = panelId ? document.getElementById(panelId) : null;
21 var $tabs = $tab.closest('.wpbc_messages_rightbar_tabs').find('[role="tab"]');
22 var $panels = $('.wpbc_messages_rightbar_panels [role="tabpanel"]');
23 if (!panel) {
24 return;
25 }
26 $tabs.attr('aria-selected', 'false');
27 $tab.attr('aria-selected', 'true');
28 $panels.attr('hidden', 'hidden').attr('aria-hidden', 'true');
29 $(panel).removeAttr('hidden').attr('aria-hidden', 'false');
30 }
31 function applyDefaultsToForm() {
32 $form.find('textarea[data-default-message]').each(function () {
33 var $textarea = $(this);
34 $textarea.val($textarea.attr('data-default-message') || '');
35 });
36 $form.find('.wpbc_message_enabled input[type="checkbox"]').prop('checked', true);
37 }
38 function saveSettings() {
39 var $button = $('[data-wpbc-messages-save="1"]');
40 var originalHtml = $button.data('wpbc-original-text');
41 var isResetAll = '1' === $form.find('[data-wpbc-messages-reset-input="1"]').val();
42 if ($button.hasClass('disabled')) {
43 return;
44 }
45 if (!originalHtml) {
46 originalHtml = $button.html();
47 $button.data('wpbc-original-text', originalHtml);
48 }
49 $button.addClass('disabled').attr('aria-disabled', 'true');
50 $button.find('.in-button-text').html('  ' + trimText(config.i18n && config.i18n.saving ? config.i18n.saving : 'Saving') + '...');
51 $.ajax({
52 url: config.ajax_url,
53 method: 'POST',
54 data: $form.serialize(),
55 dataType: 'json'
56 }).done(function (response) {
57 if (response && response.success) {
58 if (isResetAll) {
59 applyDefaultsToForm();
60 }
61 showMessage(response.data && response.data.message ? response.data.message : config.i18n && config.i18n.saved ? config.i18n.saved : 'Saved', 'success', 3000);
62 return;
63 }
64 showMessage(response && response.data && response.data.message ? response.data.message : config.i18n && config.i18n.save_failed ? config.i18n.save_failed : 'Unable to save form messages.', 'error', 10000);
65 }).fail(function (xhr) {
66 var message = xhr && xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.message ? xhr.responseJSON.data.message : config.i18n && config.i18n.save_failed ? config.i18n.save_failed : 'Unable to save form messages.';
67 showMessage(message, 'error', 10000);
68 }).always(function () {
69 $form.find('[data-wpbc-messages-reset-input="1"]').val('0');
70 $button.removeClass('disabled').removeAttr('aria-disabled').html(originalHtml);
71 });
72 }
73 $form.on('submit', function (event) {
74 event.preventDefault();
75 saveSettings();
76 });
77 $(document).on('click', '[data-wpbc-messages-save="1"]', function (event) {
78 event.preventDefault();
79 saveSettings();
80 });
81 $(document).on('click', '[data-reset-message="1"]', function () {
82 var $row = $(this).closest('.wpbc_settings_message_row');
83 var $textarea = $row.find('textarea');
84 $textarea.val($textarea.attr('data-default-message') || '').trigger('focus');
85 $row.find('.wpbc_message_enabled input[type="checkbox"]').prop('checked', true);
86 });
87 $(document).on('click', '.wpbc_messages_rightbar_tabs [role="tab"]', function (event) {
88 event.preventDefault();
89 switchRightPanel($(this));
90 });
91 $(document).on('click', '.wpbc_messages_section_nav a', function (event) {
92 var targetId = String($(this).attr('href') || '').replace(/^#/, '');
93 var target = targetId ? document.getElementById(targetId) : null;
94 if (!target) {
95 return;
96 }
97 event.preventDefault();
98 $('html, body').stop(true).animate({
99 scrollTop: $(target).offset().top - 24
100 }, 250, function () {
101 $(target).attr('tabindex', '-1').trigger('focus');
102 });
103 });
104 $(document).on('click', '[data-wpbc-messages-reset-all="1"]', function () {
105 if (!w.confirm(config.i18n && config.i18n.reset_confirm ? config.i18n.reset_confirm : 'Restore every form message to its plugin default?')) {
106 return;
107 }
108 $form.find('[data-wpbc-messages-reset-input="1"]').val('1');
109 saveSettings();
110 });
111 });
112 })(jQuery, window);
113 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcGFnZS1zZXR0aW5ncy1tZXNzYWdlcy9fb3V0L3NldHRpbmdzX21lc3NhZ2VzX3BhZ2UuanMiLCJuYW1lcyI6WyIkIiwidyIsImNvbmZpZyIsIndwYmNfc2V0dGluZ3NfbWVzc2FnZXNfcGFnZSIsInRyaW1UZXh0IiwidmFsdWUiLCJTdHJpbmciLCJ0cmltIiwic2hvd01lc3NhZ2UiLCJtZXNzYWdlIiwidHlwZSIsImRlbGF5Iiwid3BiY19hZG1pbl9zaG93X21lc3NhZ2UiLCIkZm9ybSIsInN3aXRjaFJpZ2h0UGFuZWwiLCIkdGFiIiwicGFuZWxJZCIsImF0dHIiLCJwYW5lbCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCIkdGFicyIsImNsb3Nlc3QiLCJmaW5kIiwiJHBhbmVscyIsInJlbW92ZUF0dHIiLCJhcHBseURlZmF1bHRzVG9Gb3JtIiwiZWFjaCIsIiR0ZXh0YXJlYSIsInZhbCIsInByb3AiLCJzYXZlU2V0dGluZ3MiLCIkYnV0dG9uIiwib3JpZ2luYWxIdG1sIiwiZGF0YSIsImlzUmVzZXRBbGwiLCJoYXNDbGFzcyIsImh0bWwiLCJhZGRDbGFzcyIsImkxOG4iLCJzYXZpbmciLCJhamF4IiwidXJsIiwiYWpheF91cmwiLCJtZXRob2QiLCJzZXJpYWxpemUiLCJkYXRhVHlwZSIsImRvbmUiLCJyZXNwb25zZSIsInN1Y2Nlc3MiLCJzYXZlZCIsInNhdmVfZmFpbGVkIiwiZmFpbCIsInhociIsInJlc3BvbnNlSlNPTiIsImFsd2F5cyIsInJlbW92ZUNsYXNzIiwib24iLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiJHJvdyIsInRyaWdnZXIiLCJ0YXJnZXRJZCIsInJlcGxhY2UiLCJ0YXJnZXQiLCJzdG9wIiwiYW5pbWF0ZSIsInNjcm9sbFRvcCIsIm9mZnNldCIsInRvcCIsImNvbmZpcm0iLCJyZXNldF9jb25maXJtIiwialF1ZXJ5Iiwid2luZG93Il0sInNvdXJjZXMiOlsiaW5jbHVkZXMvcGFnZS1zZXR0aW5ncy1tZXNzYWdlcy9fc3JjL3NldHRpbmdzX21lc3NhZ2VzX3BhZ2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGpRdWVyeSwgd3BiY19zZXR0aW5nc19tZXNzYWdlc19wYWdlICovXG4oZnVuY3Rpb24gKCQsIHcpIHtcblx0J3VzZSBzdHJpY3QnO1xuXG5cdHZhciBjb25maWcgPSB3LndwYmNfc2V0dGluZ3NfbWVzc2FnZXNfcGFnZSB8fCB7fTtcblxuXHRmdW5jdGlvbiB0cmltVGV4dCh2YWx1ZSkge1xuXHRcdHJldHVybiBTdHJpbmcodmFsdWUgfHwgJycpLnRyaW0oKTtcblx0fVxuXG5cdGZ1bmN0aW9uIHNob3dNZXNzYWdlKG1lc3NhZ2UsIHR5cGUsIGRlbGF5KSB7XG5cdFx0aWYgKHR5cGVvZiB3LndwYmNfYWRtaW5fc2hvd19tZXNzYWdlID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHR3LndwYmNfYWRtaW5fc2hvd19tZXNzYWdlKG1lc3NhZ2UsIHR5cGUgfHwgJ2luZm8nLCBkZWxheSB8fCA0MDAwLCBmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0JChmdW5jdGlvbiAoKSB7XG5cdFx0dmFyICRmb3JtID0gJCgnI3dwYmNfc2V0dGluZ3NfbWVzc2FnZXNfZm9ybScpO1xuXG5cdFx0ZnVuY3Rpb24gc3dpdGNoUmlnaHRQYW5lbCgkdGFiKSB7XG5cdFx0XHR2YXIgcGFuZWxJZCA9ICR0YWIuYXR0cignYXJpYS1jb250cm9scycpO1xuXHRcdFx0dmFyIHBhbmVsID0gcGFuZWxJZCA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBhbmVsSWQpIDogbnVsbDtcblx0XHRcdHZhciAkdGFicyA9ICR0YWIuY2xvc2VzdCgnLndwYmNfbWVzc2FnZXNfcmlnaHRiYXJfdGFicycpLmZpbmQoJ1tyb2xlPVwidGFiXCJdJyk7XG5cdFx0XHR2YXIgJHBhbmVscyA9ICQoJy53cGJjX21lc3NhZ2VzX3JpZ2h0YmFyX3BhbmVscyBbcm9sZT1cInRhYnBhbmVsXCJdJyk7XG5cblx0XHRcdGlmICghcGFuZWwpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0JHRhYnMuYXR0cignYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuXHRcdFx0JHRhYi5hdHRyKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcblx0XHRcdCRwYW5lbHMuYXR0cignaGlkZGVuJywgJ2hpZGRlbicpLmF0dHIoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcblx0XHRcdCQocGFuZWwpLnJlbW92ZUF0dHIoJ2hpZGRlbicpLmF0dHIoJ2FyaWEtaGlkZGVuJywgJ2ZhbHNlJyk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gYXBwbHlEZWZhdWx0c1RvRm9ybSgpIHtcblx0XHRcdCRmb3JtLmZpbmQoJ3RleHRhcmVhW2RhdGEtZGVmYXVsdC1tZXNzYWdlXScpLmVhY2goZnVuY3Rpb24gKCkge1xuXHRcdFx0XHR2YXIgJHRleHRhcmVhID0gJCh0aGlzKTtcblx0XHRcdFx0JHRleHRhcmVhLnZhbCgkdGV4dGFyZWEuYXR0cignZGF0YS1kZWZhdWx0LW1lc3NhZ2UnKSB8fCAnJyk7XG5cdFx0XHR9KTtcblx0XHRcdCRmb3JtLmZpbmQoJy53cGJjX21lc3NhZ2VfZW5hYmxlZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5wcm9wKCdjaGVja2VkJywgdHJ1ZSk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gc2F2ZVNldHRpbmdzKCkge1xuXHRcdFx0dmFyICRidXR0b24gPSAkKCdbZGF0YS13cGJjLW1lc3NhZ2VzLXNhdmU9XCIxXCJdJyk7XG5cdFx0XHR2YXIgb3JpZ2luYWxIdG1sID0gJGJ1dHRvbi5kYXRhKCd3cGJjLW9yaWdpbmFsLXRleHQnKTtcblx0XHRcdHZhciBpc1Jlc2V0QWxsID0gJzEnID09PSAkZm9ybS5maW5kKCdbZGF0YS13cGJjLW1lc3NhZ2VzLXJlc2V0LWlucHV0PVwiMVwiXScpLnZhbCgpO1xuXG5cdFx0XHRpZiAoJGJ1dHRvbi5oYXNDbGFzcygnZGlzYWJsZWQnKSkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAoIW9yaWdpbmFsSHRtbCkge1xuXHRcdFx0XHRvcmlnaW5hbEh0bWwgPSAkYnV0dG9uLmh0bWwoKTtcblx0XHRcdFx0JGJ1dHRvbi5kYXRhKCd3cGJjLW9yaWdpbmFsLXRleHQnLCBvcmlnaW5hbEh0bWwpO1xuXHRcdFx0fVxuXG5cdFx0XHQkYnV0dG9uLmFkZENsYXNzKCdkaXNhYmxlZCcpLmF0dHIoJ2FyaWEtZGlzYWJsZWQnLCAndHJ1ZScpO1xuXHRcdFx0JGJ1dHRvbi5maW5kKCcuaW4tYnV0dG9uLXRleHQnKS5odG1sKCcmbmJzcDsmbmJzcDsnICsgdHJpbVRleHQoY29uZmlnLmkxOG4gJiYgY29uZmlnLmkxOG4uc2F2aW5nID8gY29uZmlnLmkxOG4uc2F2aW5nIDogJ1NhdmluZycpICsgJy4uLicpO1xuXG5cdFx0XHQkLmFqYXgoe1xuXHRcdFx0XHR1cmw6IGNvbmZpZy5hamF4X3VybCxcblx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXG5cdFx0XHRcdGRhdGE6ICRmb3JtLnNlcmlhbGl6ZSgpLFxuXHRcdFx0XHRkYXRhVHlwZTogJ2pzb24nXG5cdFx0XHR9KS5kb25lKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuXHRcdFx0XHRpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2Uuc3VjY2Vzcykge1xuXHRcdFx0XHRcdGlmIChpc1Jlc2V0QWxsKSB7XG5cdFx0XHRcdFx0XHRhcHBseURlZmF1bHRzVG9Gb3JtKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHNob3dNZXNzYWdlKHJlc3BvbnNlLmRhdGEgJiYgcmVzcG9uc2UuZGF0YS5tZXNzYWdlID8gcmVzcG9uc2UuZGF0YS5tZXNzYWdlIDogKGNvbmZpZy5pMThuICYmIGNvbmZpZy5pMThuLnNhdmVkID8gY29uZmlnLmkxOG4uc2F2ZWQgOiAnU2F2ZWQnKSwgJ3N1Y2Nlc3MnLCAzMDAwKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0c2hvd01lc3NhZ2UocmVzcG9uc2UgJiYgcmVzcG9uc2UuZGF0YSAmJiByZXNwb25zZS5kYXRhLm1lc3NhZ2UgPyByZXNwb25zZS5kYXRhLm1lc3NhZ2UgOiAoY29uZmlnLmkxOG4gJiYgY29uZmlnLmkxOG4uc2F2ZV9mYWlsZWQgPyBjb25maWcuaTE4bi5zYXZlX2ZhaWxlZCA6ICdVbmFibGUgdG8gc2F2ZSBmb3JtIG1lc3NhZ2VzLicpLCAnZXJyb3InLCAxMDAwMCk7XG5cdFx0XHR9KS5mYWlsKGZ1bmN0aW9uICh4aHIpIHtcblx0XHRcdFx0dmFyIG1lc3NhZ2UgPSB4aHIgJiYgeGhyLnJlc3BvbnNlSlNPTiAmJiB4aHIucmVzcG9uc2VKU09OLmRhdGEgJiYgeGhyLnJlc3BvbnNlSlNPTi5kYXRhLm1lc3NhZ2Vcblx0XHRcdFx0XHQ/IHhoci5yZXNwb25zZUpTT04uZGF0YS5tZXNzYWdlXG5cdFx0XHRcdFx0OiAoY29uZmlnLmkxOG4gJiYgY29uZmlnLmkxOG4uc2F2ZV9mYWlsZWQgPyBjb25maWcuaTE4bi5zYXZlX2ZhaWxlZCA6ICdVbmFibGUgdG8gc2F2ZSBmb3JtIG1lc3NhZ2VzLicpO1xuXHRcdFx0XHRzaG93TWVzc2FnZShtZXNzYWdlLCAnZXJyb3InLCAxMDAwMCk7XG5cdFx0XHR9KS5hbHdheXMoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHQkZm9ybS5maW5kKCdbZGF0YS13cGJjLW1lc3NhZ2VzLXJlc2V0LWlucHV0PVwiMVwiXScpLnZhbCgnMCcpO1xuXHRcdFx0XHQkYnV0dG9uLnJlbW92ZUNsYXNzKCdkaXNhYmxlZCcpLnJlbW92ZUF0dHIoJ2FyaWEtZGlzYWJsZWQnKS5odG1sKG9yaWdpbmFsSHRtbCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHQkZm9ybS5vbignc3VibWl0JywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0c2F2ZVNldHRpbmdzKCk7XG5cdFx0fSk7XG5cblx0XHQkKGRvY3VtZW50KS5vbignY2xpY2snLCAnW2RhdGEtd3BiYy1tZXNzYWdlcy1zYXZlPVwiMVwiXScsIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHNhdmVTZXR0aW5ncygpO1xuXHRcdH0pO1xuXG5cdFx0JChkb2N1bWVudCkub24oJ2NsaWNrJywgJ1tkYXRhLXJlc2V0LW1lc3NhZ2U9XCIxXCJdJywgZnVuY3Rpb24gKCkge1xuXHRcdFx0dmFyICRyb3cgPSAkKHRoaXMpLmNsb3Nlc3QoJy53cGJjX3NldHRpbmdzX21lc3NhZ2Vfcm93Jyk7XG5cdFx0XHR2YXIgJHRleHRhcmVhID0gJHJvdy5maW5kKCd0ZXh0YXJlYScpO1xuXHRcdFx0JHRleHRhcmVhLnZhbCgkdGV4dGFyZWEuYXR0cignZGF0YS1kZWZhdWx0LW1lc3NhZ2UnKSB8fCAnJykudHJpZ2dlcignZm9jdXMnKTtcblx0XHRcdCRyb3cuZmluZCgnLndwYmNfbWVzc2FnZV9lbmFibGVkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKTtcblx0XHR9KTtcblxuXHRcdCQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcud3BiY19tZXNzYWdlc19yaWdodGJhcl90YWJzIFtyb2xlPVwidGFiXCJdJywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0c3dpdGNoUmlnaHRQYW5lbCgkKHRoaXMpKTtcblx0XHR9KTtcblxuXHRcdCQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcud3BiY19tZXNzYWdlc19zZWN0aW9uX25hdiBhJywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0XHR2YXIgdGFyZ2V0SWQgPSBTdHJpbmcoJCh0aGlzKS5hdHRyKCdocmVmJykgfHwgJycpLnJlcGxhY2UoL14jLywgJycpO1xuXHRcdFx0dmFyIHRhcmdldCA9IHRhcmdldElkID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpIDogbnVsbDtcblxuXHRcdFx0aWYgKCF0YXJnZXQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdCQoJ2h0bWwsIGJvZHknKS5zdG9wKHRydWUpLmFuaW1hdGUoe3Njcm9sbFRvcDogJCh0YXJnZXQpLm9mZnNldCgpLnRvcCAtIDI0fSwgMjUwLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdCQodGFyZ2V0KS5hdHRyKCd0YWJpbmRleCcsICctMScpLnRyaWdnZXIoJ2ZvY3VzJyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdCQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdbZGF0YS13cGJjLW1lc3NhZ2VzLXJlc2V0LWFsbD1cIjFcIl0nLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRpZiAoIXcuY29uZmlybShjb25maWcuaTE4biAmJiBjb25maWcuaTE4bi5yZXNldF9jb25maXJtID8gY29uZmlnLmkxOG4ucmVzZXRfY29uZmlybSA6ICdSZXN0b3JlIGV2ZXJ5IGZvcm0gbWVzc2FnZSB0byBpdHMgcGx1Z2luIGRlZmF1bHQ/JykpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0JGZvcm0uZmluZCgnW2RhdGEtd3BiYy1tZXNzYWdlcy1yZXNldC1pbnB1dD1cIjFcIl0nKS52YWwoJzEnKTtcblx0XHRcdHNhdmVTZXR0aW5ncygpO1xuXHRcdH0pO1xuXHR9KTtcbn0oalF1ZXJ5LCB3aW5kb3cpKTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNDLFdBQVVBLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2hCLFlBQVk7O0VBRVosSUFBSUMsTUFBTSxHQUFHRCxDQUFDLENBQUNFLDJCQUEyQixJQUFJLENBQUMsQ0FBQztFQUVoRCxTQUFTQyxRQUFRQSxDQUFDQyxLQUFLLEVBQUU7SUFDeEIsT0FBT0MsTUFBTSxDQUFDRCxLQUFLLElBQUksRUFBRSxDQUFDLENBQUNFLElBQUksQ0FBQyxDQUFDO0VBQ2xDO0VBRUEsU0FBU0MsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRTtJQUMxQyxJQUFJLE9BQU9WLENBQUMsQ0FB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
114