diff --git a/CTFd/themes/admin/assets/js/pages/team.js b/CTFd/themes/admin/assets/js/pages/team.js
index 57268023..1c3a1211 100644
--- a/CTFd/themes/admin/assets/js/pages/team.js
+++ b/CTFd/themes/admin/assets/js/pages/team.js
@@ -2,7 +2,7 @@ import "./main";
import $ from "jquery";
import CTFd from "core/CTFd";
import { htmlEntities } from "core/utils";
-import { ezQuery, ezBadge } from "core/ezq";
+import { ezAlert, ezQuery, ezBadge } from "core/ezq";
import { createGraph, updateGraph } from "core/graphs";
function createTeam(event) {
@@ -84,16 +84,16 @@ function deleteSelectedSubmissions(event, target) {
let submissions;
let type;
let title;
- switch(target){
+ switch (target) {
case "solves":
submissions = $("input[data-submission-type=correct]:checked");
type = "solve";
- title = "Solves"
+ title = "Solves";
break;
case "fails":
submissions = $("input[data-submission-type=incorrect]:checked");
type = "fail";
- title = "Fails"
+ title = "Fails";
break;
default:
break;
@@ -102,11 +102,13 @@ function deleteSelectedSubmissions(event, target) {
let submissionIDs = submissions.map(function() {
return $(this).data("submission-id");
});
- let target_string = submissionIDs.length === 1 ? type : (type + "s");
+ let target_string = submissionIDs.length === 1 ? type : type + "s";
ezQuery({
title: `Delete ${title}`,
- body: `Are you sure you want to delete ${submissionIDs.length} ${target_string}?`,
+ body: `Are you sure you want to delete ${
+ submissionIDs.length
+ } ${target_string}?`,
success: function() {
const reqs = [];
for (var subId of submissionIDs) {
@@ -148,6 +150,62 @@ function deleteSelectedAwards(event) {
});
}
+function solveSelectedMissingChallenges(event) {
+ event.preventDefault();
+ let challengeIDs = $("input[data-missing-challenge-id]:checked").map(
+ function() {
+ return $(this).data("missing-challenge-id");
+ }
+ );
+ let target = challengeIDs.length === 1 ? "challenge" : "challenges";
+
+ ezQuery({
+ title: `Mark Correct`,
+ body: `Are you sure you want to mark ${
+ challengeIDs.length
+ } correct for ${htmlEntities(TEAM_NAME)}?`,
+ success: function() {
+ ezAlert({
+ title: `User Attribution`,
+ body: `
+ Which user on ${htmlEntities(TEAM_NAME)} solved these challenges?
+
+ ${$("#team-member-select").html()}
+
+ `,
+ button: "Mark Correct",
+ success: function() {
+ const USER_ID = $("#query-team-member-solve > select").val();
+ const reqs = [];
+ for (var challengeID of challengeIDs) {
+ let params = {
+ provided: "MARKED AS SOLVED BY ADMIN",
+ user_id: USER_ID,
+ team_id: TEAM_ID,
+ challenge_id: challengeID,
+ type: "correct"
+ };
+
+ let req = CTFd.fetch("/api/v1/submissions", {
+ method: "POST",
+ credentials: "same-origin",
+ headers: {
+ Accept: "application/json",
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify(params)
+ });
+ reqs.push(req);
+ }
+ Promise.all(reqs).then(responses => {
+ window.location.reload();
+ });
+ }
+ });
+ }
+ });
+}
+
const api_funcs = {
team: [
x => CTFd.api.get_team_solves({ teamId: x }),
@@ -403,18 +461,22 @@ $(() => {
});
});
- $("#solves-delete-button").click(function(e){
- deleteSelectedSubmissions(e, "solves")
+ $("#solves-delete-button").click(function(e) {
+ deleteSelectedSubmissions(e, "solves");
});
- $("#fails-delete-button").click(function(e){
- deleteSelectedSubmissions(e, "fails")
+ $("#fails-delete-button").click(function(e) {
+ deleteSelectedSubmissions(e, "fails");
});
- $("#awards-delete-button").click(function(e){
+ $("#awards-delete-button").click(function(e) {
deleteSelectedAwards(e);
});
+ $("#missing-solve-button").click(function(e) {
+ solveSelectedMissingChallenges(e);
+ });
+
$("#team-info-create-form").submit(createTeam);
$("#team-info-edit-form").submit(updateTeam);
diff --git a/CTFd/themes/admin/assets/js/pages/user.js b/CTFd/themes/admin/assets/js/pages/user.js
index 3c094aae..b2c837cb 100644
--- a/CTFd/themes/admin/assets/js/pages/user.js
+++ b/CTFd/themes/admin/assets/js/pages/user.js
@@ -193,16 +193,16 @@ function deleteSelectedSubmissions(event, target) {
let submissions;
let type;
let title;
- switch(target){
+ switch (target) {
case "solves":
submissions = $("input[data-submission-type=correct]:checked");
type = "solve";
- title = "Solves"
+ title = "Solves";
break;
case "fails":
submissions = $("input[data-submission-type=incorrect]:checked");
type = "fail";
- title = "Fails"
+ title = "Fails";
break;
default:
break;
@@ -211,11 +211,13 @@ function deleteSelectedSubmissions(event, target) {
let submissionIDs = submissions.map(function() {
return $(this).data("submission-id");
});
- let target_string = submissionIDs.length === 1 ? type : (type + "s");
+ let target_string = submissionIDs.length === 1 ? type : type + "s";
ezQuery({
title: `Delete ${title}`,
- body: `Are you sure you want to delete ${submissionIDs.length} ${target_string}?`,
+ body: `Are you sure you want to delete ${
+ submissionIDs.length
+ } ${target_string}?`,
success: function() {
const reqs = [];
for (var subId of submissionIDs) {
@@ -259,14 +261,18 @@ function deleteSelectedAwards(event) {
function solveSelectedMissingChallenges(event) {
event.preventDefault();
- let challengeIDs = $("input[data-missing-challenge-id]:checked").map(function() {
- return $(this).data("missing-challenge-id");
- });
+ let challengeIDs = $("input[data-missing-challenge-id]:checked").map(
+ function() {
+ return $(this).data("missing-challenge-id");
+ }
+ );
let target = challengeIDs.length === 1 ? "challenge" : "challenges";
ezQuery({
title: `Mark Correct`,
- body: `Are you sure you want to mark ${challengeIDs.length} correct for ${htmlEntities(USER_NAME)}?`,
+ body: `Are you sure you want to mark ${
+ challengeIDs.length
+ } correct for ${htmlEntities(USER_NAME)}?`,
success: function() {
const reqs = [];
for (var challengeID of challengeIDs) {
@@ -286,7 +292,7 @@ function solveSelectedMissingChallenges(event) {
"Content-Type": "application/json"
},
body: JSON.stringify(params)
- })
+ });
reqs.push(req);
}
Promise.all(reqs).then(responses => {
@@ -406,19 +412,19 @@ $(() => {
$("#user-mail-form").submit(emailUser);
- $("#solves-delete-button").click(function(e){
- deleteSelectedSubmissions(e, "solves")
+ $("#solves-delete-button").click(function(e) {
+ deleteSelectedSubmissions(e, "solves");
});
- $("#fails-delete-button").click(function(e){
- deleteSelectedSubmissions(e, "fails")
+ $("#fails-delete-button").click(function(e) {
+ deleteSelectedSubmissions(e, "fails");
});
- $("#awards-delete-button").click(function(e){
+ $("#awards-delete-button").click(function(e) {
deleteSelectedAwards(e);
});
- $("#missing-solve-button").click(function(e){
+ $("#missing-solve-button").click(function(e) {
solveSelectedMissingChallenges(e);
});
diff --git a/CTFd/themes/admin/static/js/pages/team.dev.js b/CTFd/themes/admin/static/js/pages/team.dev.js
index 38aabb26..40bf1fcb 100644
--- a/CTFd/themes/admin/static/js/pages/team.dev.js
+++ b/CTFd/themes/admin/static/js/pages/team.dev.js
@@ -162,7 +162,7 @@
/***/ (function(module, exports, __webpack_require__) {
;
-eval("\n\n__webpack_require__(/*! ./main */ \"./CTFd/themes/admin/assets/js/pages/main.js\");\n\nvar _jquery = _interopRequireDefault(__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"));\n\nvar _CTFd = _interopRequireDefault(__webpack_require__(/*! core/CTFd */ \"./CTFd/themes/core/assets/js/CTFd.js\"));\n\nvar _utils = __webpack_require__(/*! core/utils */ \"./CTFd/themes/core/assets/js/utils.js\");\n\nvar _ezq = __webpack_require__(/*! core/ezq */ \"./CTFd/themes/core/assets/js/ezq.js\");\n\nvar _graphs = __webpack_require__(/*! core/graphs */ \"./CTFd/themes/core/assets/js/graphs.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createTeam(event) {\n event.preventDefault();\n var params = (0, _jquery.default)(\"#team-info-create-form\").serializeJSON(true);\n\n _CTFd.default.fetch(\"/api/v1/teams\", {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n var team_id = response.data.id;\n window.location = _CTFd.default.config.urlRoot + \"/admin/teams/\" + team_id;\n } else {\n (0, _jquery.default)(\"#team-info-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#team-info-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#team-info-form\").find(\"input[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n}\n\nfunction updateTeam(event) {\n event.preventDefault();\n var params = (0, _jquery.default)(\"#team-info-edit-form\").serializeJSON(true);\n\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID, {\n method: \"PATCH\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location.reload();\n } else {\n (0, _jquery.default)(\"#team-info-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#team-info-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#team-info-form\").find(\"input[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n}\n\nfunction deleteSelectedSubmissions(event, target) {\n var submissions;\n var type;\n var title;\n\n switch (target) {\n case \"solves\":\n submissions = (0, _jquery.default)(\"input[data-submission-type=correct]:checked\");\n type = \"solve\";\n title = \"Solves\";\n break;\n\n case \"fails\":\n submissions = (0, _jquery.default)(\"input[data-submission-type=incorrect]:checked\");\n type = \"fail\";\n title = \"Fails\";\n break;\n\n default:\n break;\n }\n\n var submissionIDs = submissions.map(function () {\n return (0, _jquery.default)(this).data(\"submission-id\");\n });\n var target_string = submissionIDs.length === 1 ? type : type + \"s\";\n (0, _ezq.ezQuery)({\n title: \"Delete \".concat(title),\n body: \"Are you sure you want to delete \".concat(submissionIDs.length, \" \").concat(target_string, \"?\"),\n success: function success() {\n var reqs = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = submissionIDs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subId = _step.value;\n reqs.push(_CTFd.default.api.delete_submission({\n submissionId: subId\n }));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n Promise.all(reqs).then(function (responses) {\n window.location.reload();\n });\n }\n });\n}\n\nfunction deleteSelectedAwards(event) {\n var awardIDs = (0, _jquery.default)(\"input[data-award-id]:checked\").map(function () {\n return (0, _jquery.default)(this).data(\"award-id\");\n });\n var target = awardIDs.length === 1 ? \"award\" : \"awards\";\n (0, _ezq.ezQuery)({\n title: \"Delete Awards\",\n body: \"Are you sure you want to delete \".concat(awardIDs.length, \" \").concat(target, \"?\"),\n success: function success() {\n var reqs = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = awardIDs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var awardID = _step2.value;\n\n var req = _CTFd.default.fetch(\"/api/v1/awards/\" + awardID, {\n method: \"DELETE\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n }\n });\n\n reqs.push(req);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n Promise.all(reqs).then(function (responses) {\n window.location.reload();\n });\n }\n });\n}\n\nvar api_funcs = {\n team: [function (x) {\n return _CTFd.default.api.get_team_solves({\n teamId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_team_fails({\n teamId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_team_awards({\n teamId: x\n });\n }],\n user: [function (x) {\n return _CTFd.default.api.get_user_solves({\n userId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_user_fails({\n userId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_user_awards({\n userId: x\n });\n }]\n};\n\nvar createGraphs = function createGraphs(type, id, name, account_id) {\n var _api_funcs$type = _slicedToArray(api_funcs[type], 3),\n solves_func = _api_funcs$type[0],\n fails_func = _api_funcs$type[1],\n awards_func = _api_funcs$type[2];\n\n Promise.all([solves_func(account_id), fails_func(account_id), awards_func(account_id)]).then(function (responses) {\n (0, _graphs.createGraph)(\"score_graph\", \"#score-graph\", responses, type, id, name, account_id);\n (0, _graphs.createGraph)(\"category_breakdown\", \"#categories-pie-graph\", responses, type, id, name, account_id);\n (0, _graphs.createGraph)(\"solve_percentages\", \"#keys-pie-graph\", responses, type, id, name, account_id);\n });\n};\n\nvar updateGraphs = function updateGraphs(type, id, name, account_id) {\n var _api_funcs$type2 = _slicedToArray(api_funcs[type], 3),\n solves_func = _api_funcs$type2[0],\n fails_func = _api_funcs$type2[1],\n awards_func = _api_funcs$type2[2];\n\n Promise.all([solves_func(account_id), fails_func(account_id), awards_func(account_id)]).then(function (responses) {\n (0, _graphs.updateGraph)(\"score_graph\", \"#score-graph\", responses, type, id, name, account_id);\n (0, _graphs.updateGraph)(\"category_breakdown\", \"#categories-pie-graph\", responses, type, id, name, account_id);\n (0, _graphs.updateGraph)(\"solve_percentages\", \"#keys-pie-graph\", responses, type, id, name, account_id);\n });\n};\n\n(0, _jquery.default)(function () {\n (0, _jquery.default)(\"#team-captain-form\").submit(function (e) {\n e.preventDefault();\n var params = (0, _jquery.default)(\"#team-captain-form\").serializeJSON(true);\n\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID, {\n method: \"PATCH\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location.reload();\n } else {\n (0, _jquery.default)(\"#team-captain-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#team-captain-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#team-captain-form\").find(\"select[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n });\n (0, _jquery.default)(\".edit-team\").click(function (e) {\n (0, _jquery.default)(\"#team-info-edit-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\".edit-captain\").click(function (e) {\n (0, _jquery.default)(\"#team-captain-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\".award-team\").click(function (e) {\n (0, _jquery.default)(\"#team-award-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\".addresses-team\").click(function (event) {\n (0, _jquery.default)(\"#team-addresses-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\"#user-award-form\").submit(function (e) {\n e.preventDefault();\n var params = (0, _jquery.default)(\"#user-award-form\").serializeJSON(true);\n params[\"user_id\"] = (0, _jquery.default)(\"#award-member-input\").val();\n params[\"team_id\"] = TEAM_ID;\n (0, _jquery.default)(\"#user-award-form > #results\").empty();\n\n if (!params[\"user_id\"]) {\n (0, _jquery.default)(\"#user-award-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: \"Please select a team member\"\n }));\n return;\n }\n\n params[\"user_id\"] = parseInt(params[\"user_id\"]);\n\n _CTFd.default.fetch(\"/api/v1/awards\", {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location.reload();\n } else {\n (0, _jquery.default)(\"#user-award-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#user-award-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#user-award-form\").find(\"input[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n });\n (0, _jquery.default)(\".delete-member\").click(function (e) {\n e.preventDefault();\n var member_id = (0, _jquery.default)(this).attr(\"member-id\");\n var member_name = (0, _jquery.default)(this).attr(\"member-name\");\n var params = {\n user_id: member_id\n };\n var row = (0, _jquery.default)(this).parent().parent();\n (0, _ezq.ezQuery)({\n title: \"Remove Member\",\n body: \"Are you sure you want to remove {0} from {1}? All of their challenges solves, attempts, awards, and unlocked hints will also be deleted! \".format(\"\" + (0, _utils.htmlEntities)(member_name) + \" \", \"\" + (0, _utils.htmlEntities)(TEAM_NAME) + \" \"),\n success: function success() {\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID + \"/members\", {\n method: \"DELETE\",\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n row.remove();\n }\n });\n }\n });\n });\n (0, _jquery.default)(\".delete-team\").click(function (e) {\n (0, _ezq.ezQuery)({\n title: \"Delete Team\",\n body: \"Are you sure you want to delete {0}\".format(\"\" + (0, _utils.htmlEntities)(TEAM_NAME) + \" \"),\n success: function success() {\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID, {\n method: \"DELETE\"\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location = _CTFd.default.config.urlRoot + \"/admin/teams\";\n }\n });\n }\n });\n });\n (0, _jquery.default)(\"#solves-delete-button\").click(function (e) {\n deleteSelectedSubmissions(e, \"solves\");\n });\n (0, _jquery.default)(\"#fails-delete-button\").click(function (e) {\n deleteSelectedSubmissions(e, \"fails\");\n });\n (0, _jquery.default)(\"#awards-delete-button\").click(function (e) {\n deleteSelectedAwards(e);\n });\n (0, _jquery.default)(\"#team-info-create-form\").submit(createTeam);\n (0, _jquery.default)(\"#team-info-edit-form\").submit(updateTeam);\n var type, id, name, account_id;\n var _window$stats_data = window.stats_data;\n type = _window$stats_data.type;\n id = _window$stats_data.id;\n name = _window$stats_data.name;\n account_id = _window$stats_data.account_id;\n createGraphs(type, id, name, account_id);\n setInterval(function () {\n updateGraphs(type, id, name, account_id);\n }, 300000);\n});\n\n//# sourceURL=webpack:///./CTFd/themes/admin/assets/js/pages/team.js?");
+eval("\n\n__webpack_require__(/*! ./main */ \"./CTFd/themes/admin/assets/js/pages/main.js\");\n\nvar _jquery = _interopRequireDefault(__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\"));\n\nvar _CTFd = _interopRequireDefault(__webpack_require__(/*! core/CTFd */ \"./CTFd/themes/core/assets/js/CTFd.js\"));\n\nvar _utils = __webpack_require__(/*! core/utils */ \"./CTFd/themes/core/assets/js/utils.js\");\n\nvar _ezq = __webpack_require__(/*! core/ezq */ \"./CTFd/themes/core/assets/js/ezq.js\");\n\nvar _graphs = __webpack_require__(/*! core/graphs */ \"./CTFd/themes/core/assets/js/graphs.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createTeam(event) {\n event.preventDefault();\n var params = (0, _jquery.default)(\"#team-info-create-form\").serializeJSON(true);\n\n _CTFd.default.fetch(\"/api/v1/teams\", {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n var team_id = response.data.id;\n window.location = _CTFd.default.config.urlRoot + \"/admin/teams/\" + team_id;\n } else {\n (0, _jquery.default)(\"#team-info-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#team-info-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#team-info-form\").find(\"input[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n}\n\nfunction updateTeam(event) {\n event.preventDefault();\n var params = (0, _jquery.default)(\"#team-info-edit-form\").serializeJSON(true);\n\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID, {\n method: \"PATCH\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location.reload();\n } else {\n (0, _jquery.default)(\"#team-info-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#team-info-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#team-info-form\").find(\"input[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n}\n\nfunction deleteSelectedSubmissions(event, target) {\n var submissions;\n var type;\n var title;\n\n switch (target) {\n case \"solves\":\n submissions = (0, _jquery.default)(\"input[data-submission-type=correct]:checked\");\n type = \"solve\";\n title = \"Solves\";\n break;\n\n case \"fails\":\n submissions = (0, _jquery.default)(\"input[data-submission-type=incorrect]:checked\");\n type = \"fail\";\n title = \"Fails\";\n break;\n\n default:\n break;\n }\n\n var submissionIDs = submissions.map(function () {\n return (0, _jquery.default)(this).data(\"submission-id\");\n });\n var target_string = submissionIDs.length === 1 ? type : type + \"s\";\n (0, _ezq.ezQuery)({\n title: \"Delete \".concat(title),\n body: \"Are you sure you want to delete \".concat(submissionIDs.length, \" \").concat(target_string, \"?\"),\n success: function success() {\n var reqs = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = submissionIDs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subId = _step.value;\n reqs.push(_CTFd.default.api.delete_submission({\n submissionId: subId\n }));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n Promise.all(reqs).then(function (responses) {\n window.location.reload();\n });\n }\n });\n}\n\nfunction deleteSelectedAwards(event) {\n var awardIDs = (0, _jquery.default)(\"input[data-award-id]:checked\").map(function () {\n return (0, _jquery.default)(this).data(\"award-id\");\n });\n var target = awardIDs.length === 1 ? \"award\" : \"awards\";\n (0, _ezq.ezQuery)({\n title: \"Delete Awards\",\n body: \"Are you sure you want to delete \".concat(awardIDs.length, \" \").concat(target, \"?\"),\n success: function success() {\n var reqs = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = awardIDs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var awardID = _step2.value;\n\n var req = _CTFd.default.fetch(\"/api/v1/awards/\" + awardID, {\n method: \"DELETE\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n }\n });\n\n reqs.push(req);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n Promise.all(reqs).then(function (responses) {\n window.location.reload();\n });\n }\n });\n}\n\nfunction solveSelectedMissingChallenges(event) {\n event.preventDefault();\n var challengeIDs = (0, _jquery.default)(\"input[data-missing-challenge-id]:checked\").map(function () {\n return (0, _jquery.default)(this).data(\"missing-challenge-id\");\n });\n var target = challengeIDs.length === 1 ? \"challenge\" : \"challenges\";\n (0, _ezq.ezQuery)({\n title: \"Mark Correct\",\n body: \"Are you sure you want to mark \".concat(challengeIDs.length, \" correct for \").concat((0, _utils.htmlEntities)(TEAM_NAME), \"?\"),\n success: function success() {\n (0, _ezq.ezAlert)({\n title: \"User Attribution\",\n body: \"\\n Which user on \".concat((0, _utils.htmlEntities)(TEAM_NAME), \" solved these challenges?\\n \\n \").concat((0, _jquery.default)(\"#team-member-select\").html(), \"\\n
\\n \"),\n button: \"Mark Correct\",\n success: function success() {\n var USER_ID = (0, _jquery.default)(\"#query-team-member-solve > select\").val();\n var reqs = [];\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = challengeIDs[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var challengeID = _step3.value;\n var params = {\n provided: \"MARKED AS SOLVED BY ADMIN\",\n user_id: USER_ID,\n team_id: TEAM_ID,\n challenge_id: challengeID,\n type: \"correct\"\n };\n\n var req = _CTFd.default.fetch(\"/api/v1/submissions\", {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n });\n\n reqs.push(req);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n Promise.all(reqs).then(function (responses) {\n window.location.reload();\n });\n }\n });\n }\n });\n}\n\nvar api_funcs = {\n team: [function (x) {\n return _CTFd.default.api.get_team_solves({\n teamId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_team_fails({\n teamId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_team_awards({\n teamId: x\n });\n }],\n user: [function (x) {\n return _CTFd.default.api.get_user_solves({\n userId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_user_fails({\n userId: x\n });\n }, function (x) {\n return _CTFd.default.api.get_user_awards({\n userId: x\n });\n }]\n};\n\nvar createGraphs = function createGraphs(type, id, name, account_id) {\n var _api_funcs$type = _slicedToArray(api_funcs[type], 3),\n solves_func = _api_funcs$type[0],\n fails_func = _api_funcs$type[1],\n awards_func = _api_funcs$type[2];\n\n Promise.all([solves_func(account_id), fails_func(account_id), awards_func(account_id)]).then(function (responses) {\n (0, _graphs.createGraph)(\"score_graph\", \"#score-graph\", responses, type, id, name, account_id);\n (0, _graphs.createGraph)(\"category_breakdown\", \"#categories-pie-graph\", responses, type, id, name, account_id);\n (0, _graphs.createGraph)(\"solve_percentages\", \"#keys-pie-graph\", responses, type, id, name, account_id);\n });\n};\n\nvar updateGraphs = function updateGraphs(type, id, name, account_id) {\n var _api_funcs$type2 = _slicedToArray(api_funcs[type], 3),\n solves_func = _api_funcs$type2[0],\n fails_func = _api_funcs$type2[1],\n awards_func = _api_funcs$type2[2];\n\n Promise.all([solves_func(account_id), fails_func(account_id), awards_func(account_id)]).then(function (responses) {\n (0, _graphs.updateGraph)(\"score_graph\", \"#score-graph\", responses, type, id, name, account_id);\n (0, _graphs.updateGraph)(\"category_breakdown\", \"#categories-pie-graph\", responses, type, id, name, account_id);\n (0, _graphs.updateGraph)(\"solve_percentages\", \"#keys-pie-graph\", responses, type, id, name, account_id);\n });\n};\n\n(0, _jquery.default)(function () {\n (0, _jquery.default)(\"#team-captain-form\").submit(function (e) {\n e.preventDefault();\n var params = (0, _jquery.default)(\"#team-captain-form\").serializeJSON(true);\n\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID, {\n method: \"PATCH\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location.reload();\n } else {\n (0, _jquery.default)(\"#team-captain-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#team-captain-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#team-captain-form\").find(\"select[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n });\n (0, _jquery.default)(\".edit-team\").click(function (e) {\n (0, _jquery.default)(\"#team-info-edit-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\".edit-captain\").click(function (e) {\n (0, _jquery.default)(\"#team-captain-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\".award-team\").click(function (e) {\n (0, _jquery.default)(\"#team-award-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\".addresses-team\").click(function (event) {\n (0, _jquery.default)(\"#team-addresses-modal\").modal(\"toggle\");\n });\n (0, _jquery.default)(\"#user-award-form\").submit(function (e) {\n e.preventDefault();\n var params = (0, _jquery.default)(\"#user-award-form\").serializeJSON(true);\n params[\"user_id\"] = (0, _jquery.default)(\"#award-member-input\").val();\n params[\"team_id\"] = TEAM_ID;\n (0, _jquery.default)(\"#user-award-form > #results\").empty();\n\n if (!params[\"user_id\"]) {\n (0, _jquery.default)(\"#user-award-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: \"Please select a team member\"\n }));\n return;\n }\n\n params[\"user_id\"] = parseInt(params[\"user_id\"]);\n\n _CTFd.default.fetch(\"/api/v1/awards\", {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location.reload();\n } else {\n (0, _jquery.default)(\"#user-award-form > #results\").empty();\n Object.keys(response.errors).forEach(function (key, index) {\n (0, _jquery.default)(\"#user-award-form > #results\").append((0, _ezq.ezBadge)({\n type: \"error\",\n body: response.errors[key]\n }));\n var i = (0, _jquery.default)(\"#user-award-form\").find(\"input[name={0}]\".format(key));\n var input = (0, _jquery.default)(i);\n input.addClass(\"input-filled-invalid\");\n input.removeClass(\"input-filled-valid\");\n });\n }\n });\n });\n (0, _jquery.default)(\".delete-member\").click(function (e) {\n e.preventDefault();\n var member_id = (0, _jquery.default)(this).attr(\"member-id\");\n var member_name = (0, _jquery.default)(this).attr(\"member-name\");\n var params = {\n user_id: member_id\n };\n var row = (0, _jquery.default)(this).parent().parent();\n (0, _ezq.ezQuery)({\n title: \"Remove Member\",\n body: \"Are you sure you want to remove {0} from {1}? All of their challenges solves, attempts, awards, and unlocked hints will also be deleted! \".format(\"\" + (0, _utils.htmlEntities)(member_name) + \" \", \"\" + (0, _utils.htmlEntities)(TEAM_NAME) + \" \"),\n success: function success() {\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID + \"/members\", {\n method: \"DELETE\",\n body: JSON.stringify(params)\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n row.remove();\n }\n });\n }\n });\n });\n (0, _jquery.default)(\".delete-team\").click(function (e) {\n (0, _ezq.ezQuery)({\n title: \"Delete Team\",\n body: \"Are you sure you want to delete {0}\".format(\"\" + (0, _utils.htmlEntities)(TEAM_NAME) + \" \"),\n success: function success() {\n _CTFd.default.fetch(\"/api/v1/teams/\" + TEAM_ID, {\n method: \"DELETE\"\n }).then(function (response) {\n return response.json();\n }).then(function (response) {\n if (response.success) {\n window.location = _CTFd.default.config.urlRoot + \"/admin/teams\";\n }\n });\n }\n });\n });\n (0, _jquery.default)(\"#solves-delete-button\").click(function (e) {\n deleteSelectedSubmissions(e, \"solves\");\n });\n (0, _jquery.default)(\"#fails-delete-button\").click(function (e) {\n deleteSelectedSubmissions(e, \"fails\");\n });\n (0, _jquery.default)(\"#awards-delete-button\").click(function (e) {\n deleteSelectedAwards(e);\n });\n (0, _jquery.default)(\"#missing-solve-button\").click(function (e) {\n solveSelectedMissingChallenges(e);\n });\n (0, _jquery.default)(\"#team-info-create-form\").submit(createTeam);\n (0, _jquery.default)(\"#team-info-edit-form\").submit(updateTeam);\n var type, id, name, account_id;\n var _window$stats_data = window.stats_data;\n type = _window$stats_data.type;\n id = _window$stats_data.id;\n name = _window$stats_data.name;\n account_id = _window$stats_data.account_id;\n createGraphs(type, id, name, account_id);\n setInterval(function () {\n updateGraphs(type, id, name, account_id);\n }, 300000);\n});\n\n//# sourceURL=webpack:///./CTFd/themes/admin/assets/js/pages/team.js?");
/***/ })
diff --git a/CTFd/themes/admin/static/js/pages/team.min.js b/CTFd/themes/admin/static/js/pages/team.min.js
index fd9302c6..84ac14c9 100644
--- a/CTFd/themes/admin/static/js/pages/team.min.js
+++ b/CTFd/themes/admin/static/js/pages/team.min.js
@@ -1 +1 @@
-!function(l){function e(e){for(var t,o,n=e[0],s=e[1],a=e[2],i=0,r=[];i #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#team-info-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#team-info-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")})})}function m(e){e.preventDefault();var t=(0,i.default)("#team-info-edit-form").serializeJSON(!0);r.default.fetch("/api/v1/teams/"+TEAM_ID,{method:"PATCH",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#team-info-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#team-info-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#team-info-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}var p={team:[function(e){return r.default.api.get_team_solves({teamId:e})},function(e){return r.default.api.get_team_fails({teamId:e})},function(e){return r.default.api.get_team_awards({teamId:e})}],user:[function(e){return r.default.api.get_user_solves({userId:e})},function(e){return r.default.api.get_user_fails({userId:e})},function(e){return r.default.api.get_user_awards({userId:e})}]};(0,i.default)(function(){var e,t,o,n;(0,i.default)("#team-captain-form").submit(function(e){e.preventDefault();var t=(0,i.default)("#team-captain-form").serializeJSON(!0);r.default.fetch("/api/v1/teams/"+TEAM_ID,{method:"PATCH",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#team-captain-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#team-captain-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#team-captain-form").find("select[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}),(0,i.default)(".edit-team").click(function(e){(0,i.default)("#team-info-edit-modal").modal("toggle")}),(0,i.default)(".edit-captain").click(function(e){(0,i.default)("#team-captain-modal").modal("toggle")}),(0,i.default)(".award-team").click(function(e){(0,i.default)("#team-award-modal").modal("toggle")}),(0,i.default)(".addresses-team").click(function(e){(0,i.default)("#team-addresses-modal").modal("toggle")}),(0,i.default)("#user-award-form").submit(function(e){e.preventDefault();var t=(0,i.default)("#user-award-form").serializeJSON(!0);t.user_id=(0,i.default)("#award-member-input").val(),t.team_id=TEAM_ID,(0,i.default)("#user-award-form > #results").empty(),t.user_id?(t.user_id=parseInt(t.user_id),r.default.fetch("/api/v1/awards",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#user-award-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-award-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-award-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})):(0,i.default)("#user-award-form > #results").append((0,d.ezBadge)({type:"error",body:"Please select a team member"}))}),(0,i.default)(".delete-member").click(function(e){e.preventDefault();var t=(0,i.default)(this).attr("member-id"),o=(0,i.default)(this).attr("member-name"),n={user_id:t},s=(0,i.default)(this).parent().parent();(0,d.ezQuery)({title:"Remove Member",body:"Are you sure you want to remove {0} from {1}? All of their challenges solves, attempts, awards, and unlocked hints will also be deleted! ".format(""+(0,l.htmlEntities)(o)+" ",""+(0,l.htmlEntities)(TEAM_NAME)+" "),success:function(){r.default.fetch("/api/v1/teams/"+TEAM_ID+"/members",{method:"DELETE",body:JSON.stringify(n)}).then(function(e){return e.json()}).then(function(e){e.success&&s.remove()})}})}),(0,i.default)(".delete-team").click(function(e){(0,d.ezQuery)({title:"Delete Team",body:"Are you sure you want to delete {0}".format(""+(0,l.htmlEntities)(TEAM_NAME)+" "),success:function(){r.default.fetch("/api/v1/teams/"+TEAM_ID,{method:"DELETE"}).then(function(e){return e.json()}).then(function(e){e.success&&(window.location=r.default.config.urlRoot+"/admin/teams")})}})}),(0,i.default)(".delete-submission").click(function(e){e.preventDefault();var t=(0,i.default)(this).attr("submission-id"),o=(0,i.default)(this).attr("submission-type"),n=(0,i.default)(this).attr("submission-challenge"),s="Are you sure you want to delete {0} submission from {1} for {2} ? ".format((0,l.htmlEntities)(o),(0,l.htmlEntities)(TEAM_NAME),(0,l.htmlEntities)(n)),a=(0,i.default)(this).parent().parent();(0,d.ezQuery)({title:"Delete Submission",body:s,success:function(){r.default.fetch("/api/v1/submissions/"+t,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(e){return e.json()}).then(function(e){e.success&&a.remove()})}})}),(0,i.default)(".delete-award").click(function(e){e.preventDefault();var t=(0,i.default)(this).attr("award-id"),o=(0,i.default)(this).attr("award-name"),n="Are you sure you want to delete the {0} award from {1} ?".format((0,l.htmlEntities)(o),(0,l.htmlEntities)(TEAM_NAME)),s=(0,i.default)(this).parent().parent();(0,d.ezQuery)({title:"Delete Award",body:n,success:function(){r.default.fetch("/api/v1/awards/"+t,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(e){return e.json()}).then(function(e){e.success&&s.remove()})}})}),(0,i.default)("#team-info-create-form").submit(a),(0,i.default)("#team-info-edit-form").submit(m);var s=window.stats_data;e=s.type,t=s.id,o=s.name,n=s.account_id,function(t,o,n,s){var e=u(p[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,c.createGraph)("score_graph","#score-graph",e,t,o,n,s),(0,c.createGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,c.createGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n),setInterval(function(){!function(t,o,n,s){var e=u(p[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,c.updateGraph)("score_graph","#score-graph",e,t,o,n,s),(0,c.updateGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,c.updateGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n)},3e5)})},"./CTFd/themes/admin/assets/js/styles.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/bootstrap/dist/js/bootstrap.bundle.js");var n,s=o("./CTFd/themes/core/assets/js/utils.js"),a=(n=o("./node_modules/jquery/dist/jquery.js"))&&n.__esModule?n:{default:n};t.default=function(){(0,a.default)(":input").each(function(){(0,a.default)(this).data("initial",(0,a.default)(this).val())}),(0,a.default)(".form-control").bind({focus:function(){(0,a.default)(this).addClass("input-filled-valid")},blur:function(){""===(0,a.default)(this).val()&&(0,a.default)(this).removeClass("input-filled-valid")}}),(0,a.default)(".modal").on("show.bs.modal",function(e){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")})}),(0,a.default)(function(){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")}),(0,a.default)("tr[data-href]").click(function(){if(!getSelection().toString()){var e=(0,a.default)(this).attr("data-href");e&&(window.location=e)}return!1}),(0,a.default)("[data-checkbox]").click(function(e){(0,a.default)(e.target).is("input[type=checkbox]")?e.stopImmediatePropagation():((0,a.default)(this).find("input[type=checkbox]").click(),e.stopImmediatePropagation())}),(0,a.default)("[data-checkbox-all]").on("click change",function(e){var t=(0,a.default)(this).prop("checked"),o=(0,a.default)(this).index()+1;(0,a.default)(this).closest("table").find("tr td:nth-child(".concat(o,") input[type=checkbox]")).prop("checked",t),e.stopImmediatePropagation()}),(0,a.default)("tr[data-href] a, tr[data-href] button").click(function(e){(0,a.default)(this).attr("data-dismiss")||e.stopPropagation()}),(0,a.default)(".page-select").change(function(){var e=new URL(window.location);e.searchParams.set("page",this.value),window.location.href=e.toString()}),(0,s.makeSortableTables)(),(0,a.default)('[data-toggle="tooltip"]').tooltip()})}},"./CTFd/themes/core/assets/js/CTFd.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(o("./CTFd/themes/core/assets/js/fetch.js")),s=d(o("./CTFd/themes/core/assets/js/config.js")),a=o("./CTFd/themes/core/assets/js/api.js");o("./CTFd/themes/core/assets/js/patch.js");var i=d(o("./node_modules/markdown-it/index.js")),r=d(o("./node_modules/jquery/dist/jquery.js")),l=d(o("./CTFd/themes/core/assets/js/ezq.js"));function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var u=new a.API("/"),m={},p={ezq:l.default},f={$:r.default,markdown:function(e){var t=function(t){for(var e=1;e {1}
',i='',s='\n Error: \n {0}\n × \n
',d='\n Success! \n {0}\n × \n
',c='{0} ',u='No ',m='Yes ';function p(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(c.format(e.button));return e.success&&(0,r.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),o.modal("show"),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),o}function f(e){(0,r.default)("#ezq--notifications-toast-container").length||(0,r.default)("body").append((0,r.default)("
").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=l.format(e.title,e.body),o=(0,r.default)(t);if(e.onclose&&(0,r.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,r.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var s=!1!==e.autohide,a=!1!==e.animation,i=e.delay||1e4;return(0,r.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:s,delay:i,animation:a}),o.toast("show"),o}function j(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(m),s=(0,r.default)(u);return o.find(".modal-footer").append(s),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),(0,r.default)(n).click(function(){e.success()}),o.modal("show"),o}function h(e){if(e.target){var t=(0,r.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=a.format(e.title),s=(0,r.default)(n);return s.find(".modal-body").append((0,r.default)(o)),(0,r.default)("main").append(s),s.modal("show")}function _(e){var t={success:d,error:s}[e.type].format(e.body);return(0,r.default)(t)}var g={ezAlert:p,ezToast:f,ezQuery:j,ezProgressBar:h,ezBadge:_};t.default=g},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,s=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var a=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=s.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=s.default.csrfNonce,a(e,t)}},"./CTFd/themes/core/assets/js/graphs.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.createGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t);if(l.empty(),void 0===l[0])return void console.log("Couldn't find graph target: "+t);l[0].fn=r.fn(n,s,a,i);var d=r.format(n,s,a,i,o);u.default.newPlot(l[0],d,r.layout,j)},t.updateGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t),d=r.format(n,s,a,i,o);u.default.update(l[0],d,r.layout,j)};var c=n(o("./node_modules/jquery/dist/jquery.js")),u=n(o("./node_modules/plotly.js-basic-dist/plotly-basic.js")),m=n(o("./node_modules/moment/moment.js")),p=o("./CTFd/themes/core/assets/js/utils.js");function n(e){return e&&e.__esModule?e:{default:e}}var f={score_graph:{layout:{title:"Score over Time",paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",hovermode:"closest",xaxis:{showgrid:!1,showspikes:!0},yaxis:{showgrid:!1,showspikes:!0},legend:{orientation:"h"}},fn:function(e,t,o,n){return"CTFd_score_".concat(e,"_").concat(o,"_").concat(t,"_").concat((new Date).toISOString().slice(0,19))},format:function(e,t,o,n,s){var a=[],i=[],r=s[0].data,l=s[2].data,d=r.concat(l);d.sort(function(e,t){return new Date(e.date)-new Date(t.date)});for(var c=0;c>8*s&255).toString(16)).substr(-2)}return n},t.htmlEntities=function(e){return(0,i.default)("
").text(e).html()},t.cumulativeSum=function(e){for(var t=e.concat(),o=0;o'),(0,i.default)("th.sort-col").click(function(){var e=(0,i.default)(this).parents("table").eq(0),t=e.find("tr:gt(0)").toArray().sort(function(s){return function(e,t){var o=a(e,s),n=a(t,s);return i.default.isNumeric(o)&&i.default.isNumeric(n)?o-n:o.toString().localeCompare(n)}}((0,i.default)(this).index()));this.asc=!this.asc,this.asc||(t=t.reverse());for(var o=0;o #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,u.default)("#team-info-form > #results").append((0,i.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,u.default)("#team-info-form").find("input[name={0}]".format(e)),n=(0,u.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")})})}function c(e){e.preventDefault();var t=(0,u.default)("#team-info-edit-form").serializeJSON(!0);m.default.fetch("/api/v1/teams/"+TEAM_ID,{method:"PATCH",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,u.default)("#team-info-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,u.default)("#team-info-form > #results").append((0,i.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,u.default)("#team-info-form").find("input[name={0}]".format(e)),n=(0,u.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function p(e,t){var o,n,s;switch(t){case"solves":o=(0,u.default)("input[data-submission-type=correct]:checked"),n="solve",s="Solves";break;case"fails":o=(0,u.default)("input[data-submission-type=incorrect]:checked"),n="fail",s="Fails"}var r=o.map(function(){return(0,u.default)(this).data("submission-id")}),a=1===r.length?n:n+"s";(0,i.ezQuery)({title:"Delete ".concat(s),body:"Are you sure you want to delete ".concat(r.length," ").concat(a,"?"),success:function(){var e=[],t=!0,o=!1,n=void 0;try{for(var s,a=r[Symbol.iterator]();!(t=(s=a.next()).done);t=!0){var i=s.value;e.push(m.default.api.delete_submission({submissionId:i}))}}catch(e){o=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(o)throw n}}Promise.all(e).then(function(e){window.location.reload()})}})}var f={team:[function(e){return m.default.api.get_team_solves({teamId:e})},function(e){return m.default.api.get_team_fails({teamId:e})},function(e){return m.default.api.get_team_awards({teamId:e})}],user:[function(e){return m.default.api.get_user_solves({userId:e})},function(e){return m.default.api.get_user_fails({userId:e})},function(e){return m.default.api.get_user_awards({userId:e})}]};(0,u.default)(function(){var e,t,o,n;(0,u.default)("#team-captain-form").submit(function(e){e.preventDefault();var t=(0,u.default)("#team-captain-form").serializeJSON(!0);m.default.fetch("/api/v1/teams/"+TEAM_ID,{method:"PATCH",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,u.default)("#team-captain-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,u.default)("#team-captain-form > #results").append((0,i.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,u.default)("#team-captain-form").find("select[name={0}]".format(e)),n=(0,u.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}),(0,u.default)(".edit-team").click(function(e){(0,u.default)("#team-info-edit-modal").modal("toggle")}),(0,u.default)(".edit-captain").click(function(e){(0,u.default)("#team-captain-modal").modal("toggle")}),(0,u.default)(".award-team").click(function(e){(0,u.default)("#team-award-modal").modal("toggle")}),(0,u.default)(".addresses-team").click(function(e){(0,u.default)("#team-addresses-modal").modal("toggle")}),(0,u.default)("#user-award-form").submit(function(e){e.preventDefault();var t=(0,u.default)("#user-award-form").serializeJSON(!0);t.user_id=(0,u.default)("#award-member-input").val(),t.team_id=TEAM_ID,(0,u.default)("#user-award-form > #results").empty(),t.user_id?(t.user_id=parseInt(t.user_id),m.default.fetch("/api/v1/awards",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,u.default)("#user-award-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,u.default)("#user-award-form > #results").append((0,i.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,u.default)("#user-award-form").find("input[name={0}]".format(e)),n=(0,u.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})):(0,u.default)("#user-award-form > #results").append((0,i.ezBadge)({type:"error",body:"Please select a team member"}))}),(0,u.default)(".delete-member").click(function(e){e.preventDefault();var t=(0,u.default)(this).attr("member-id"),o=(0,u.default)(this).attr("member-name"),n={user_id:t},s=(0,u.default)(this).parent().parent();(0,i.ezQuery)({title:"Remove Member",body:"Are you sure you want to remove {0} from {1}? All of their challenges solves, attempts, awards, and unlocked hints will also be deleted! ".format(""+(0,a.htmlEntities)(o)+" ",""+(0,a.htmlEntities)(TEAM_NAME)+" "),success:function(){m.default.fetch("/api/v1/teams/"+TEAM_ID+"/members",{method:"DELETE",body:JSON.stringify(n)}).then(function(e){return e.json()}).then(function(e){e.success&&s.remove()})}})}),(0,u.default)(".delete-team").click(function(e){(0,i.ezQuery)({title:"Delete Team",body:"Are you sure you want to delete {0}".format(""+(0,a.htmlEntities)(TEAM_NAME)+" "),success:function(){m.default.fetch("/api/v1/teams/"+TEAM_ID,{method:"DELETE"}).then(function(e){return e.json()}).then(function(e){e.success&&(window.location=m.default.config.urlRoot+"/admin/teams")})}})}),(0,u.default)("#solves-delete-button").click(function(e){p(0,"solves")}),(0,u.default)("#fails-delete-button").click(function(e){p(0,"fails")}),(0,u.default)("#awards-delete-button").click(function(e){!function(){var l=(0,u.default)("input[data-award-id]:checked").map(function(){return(0,u.default)(this).data("award-id")}),e=1===l.length?"award":"awards";(0,i.ezQuery)({title:"Delete Awards",body:"Are you sure you want to delete ".concat(l.length," ").concat(e,"?"),success:function(){var e=[],t=!0,o=!1,n=void 0;try{for(var s,a=l[Symbol.iterator]();!(t=(s=a.next()).done);t=!0){var i=s.value,r=m.default.fetch("/api/v1/awards/"+i,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}});e.push(r)}}catch(e){o=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(o)throw n}}Promise.all(e).then(function(e){window.location.reload()})}})}()}),(0,u.default)("#missing-solve-button").click(function(e){!function(e){e.preventDefault();var c=(0,u.default)("input[data-missing-challenge-id]:checked").map(function(){return(0,u.default)(this).data("missing-challenge-id")});c.length,(0,i.ezQuery)({title:"Mark Correct",body:"Are you sure you want to mark ".concat(c.length," correct for ").concat((0,a.htmlEntities)(TEAM_NAME),"?"),success:function(){(0,i.ezAlert)({title:"User Attribution",body:"\n Which user on ".concat((0,a.htmlEntities)(TEAM_NAME),' solved these challenges?\n \n ').concat((0,u.default)("#team-member-select").html(),"\n
\n "),button:"Mark Correct",success:function(){var e=(0,u.default)("#query-team-member-solve > select").val(),t=[],o=!0,n=!1,s=void 0;try{for(var a,i=c[Symbol.iterator]();!(o=(a=i.next()).done);o=!0){var r=a.value,l={provided:"MARKED AS SOLVED BY ADMIN",user_id:e,team_id:TEAM_ID,challenge_id:r,type:"correct"},d=m.default.fetch("/api/v1/submissions",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l)});t.push(d)}}catch(e){n=!0,s=e}finally{try{o||null==i.return||i.return()}finally{if(n)throw s}}Promise.all(t).then(function(e){window.location.reload()})}})}})}(e)}),(0,u.default)("#team-info-create-form").submit(r),(0,u.default)("#team-info-edit-form").submit(c);var s=window.stats_data;e=s.type,t=s.id,o=s.name,n=s.account_id,function(t,o,n,s){var e=d(f[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,l.createGraph)("score_graph","#score-graph",e,t,o,n,s),(0,l.createGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,l.createGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n),setInterval(function(){!function(t,o,n,s){var e=d(f[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,l.updateGraph)("score_graph","#score-graph",e,t,o,n,s),(0,l.updateGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,l.updateGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n)},3e5)})},"./CTFd/themes/admin/assets/js/styles.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/bootstrap/dist/js/bootstrap.bundle.js");var n,s=o("./CTFd/themes/core/assets/js/utils.js"),a=(n=o("./node_modules/jquery/dist/jquery.js"))&&n.__esModule?n:{default:n};t.default=function(){(0,a.default)(":input").each(function(){(0,a.default)(this).data("initial",(0,a.default)(this).val())}),(0,a.default)(".form-control").bind({focus:function(){(0,a.default)(this).addClass("input-filled-valid")},blur:function(){""===(0,a.default)(this).val()&&(0,a.default)(this).removeClass("input-filled-valid")}}),(0,a.default)(".modal").on("show.bs.modal",function(e){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")})}),(0,a.default)(function(){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")}),(0,a.default)("tr[data-href]").click(function(){if(!getSelection().toString()){var e=(0,a.default)(this).attr("data-href");e&&(window.location=e)}return!1}),(0,a.default)("[data-checkbox]").click(function(e){(0,a.default)(e.target).is("input[type=checkbox]")?e.stopImmediatePropagation():((0,a.default)(this).find("input[type=checkbox]").click(),e.stopImmediatePropagation())}),(0,a.default)("[data-checkbox-all]").on("click change",function(e){var t=(0,a.default)(this).prop("checked"),o=(0,a.default)(this).index()+1;(0,a.default)(this).closest("table").find("tr td:nth-child(".concat(o,") input[type=checkbox]")).prop("checked",t),e.stopImmediatePropagation()}),(0,a.default)("tr[data-href] a, tr[data-href] button").click(function(e){(0,a.default)(this).attr("data-dismiss")||e.stopPropagation()}),(0,a.default)(".page-select").change(function(){var e=new URL(window.location);e.searchParams.set("page",this.value),window.location.href=e.toString()}),(0,s.makeSortableTables)(),(0,a.default)('[data-toggle="tooltip"]').tooltip()})}},"./CTFd/themes/core/assets/js/CTFd.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(o("./CTFd/themes/core/assets/js/fetch.js")),s=d(o("./CTFd/themes/core/assets/js/config.js")),a=o("./CTFd/themes/core/assets/js/api.js");o("./CTFd/themes/core/assets/js/patch.js");var i=d(o("./node_modules/markdown-it/index.js")),r=d(o("./node_modules/jquery/dist/jquery.js")),l=d(o("./CTFd/themes/core/assets/js/ezq.js"));function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var u=new a.API("/"),m={},p={ezq:l.default},f={$:r.default,markdown:function(e){var t=function(t){for(var e=1;e {1}
',i='',s='\n Error: \n {0}\n × \n
',d='\n Success! \n {0}\n × \n
',c='{0} ',u='No ',m='Yes ';function p(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(c.format(e.button));return e.success&&(0,r.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),o.modal("show"),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),o}function f(e){(0,r.default)("#ezq--notifications-toast-container").length||(0,r.default)("body").append((0,r.default)("
").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=l.format(e.title,e.body),o=(0,r.default)(t);if(e.onclose&&(0,r.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,r.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var s=!1!==e.autohide,a=!1!==e.animation,i=e.delay||1e4;return(0,r.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:s,delay:i,animation:a}),o.toast("show"),o}function j(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(m),s=(0,r.default)(u);return o.find(".modal-footer").append(s),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),(0,r.default)(n).click(function(){e.success()}),o.modal("show"),o}function h(e){if(e.target){var t=(0,r.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=a.format(e.title),s=(0,r.default)(n);return s.find(".modal-body").append((0,r.default)(o)),(0,r.default)("main").append(s),s.modal("show")}function _(e){var t={success:d,error:s}[e.type].format(e.body);return(0,r.default)(t)}var g={ezAlert:p,ezToast:f,ezQuery:j,ezProgressBar:h,ezBadge:_};t.default=g},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,s=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var a=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=s.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=s.default.csrfNonce,a(e,t)}},"./CTFd/themes/core/assets/js/graphs.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.createGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t);if(l.empty(),void 0===l[0])return void console.log("Couldn't find graph target: "+t);l[0].fn=r.fn(n,s,a,i);var d=r.format(n,s,a,i,o);u.default.newPlot(l[0],d,r.layout,j)},t.updateGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t),d=r.format(n,s,a,i,o);u.default.update(l[0],d,r.layout,j)};var c=n(o("./node_modules/jquery/dist/jquery.js")),u=n(o("./node_modules/plotly.js-basic-dist/plotly-basic.js")),m=n(o("./node_modules/moment/moment.js")),p=o("./CTFd/themes/core/assets/js/utils.js");function n(e){return e&&e.__esModule?e:{default:e}}var f={score_graph:{layout:{title:"Score over Time",paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",hovermode:"closest",xaxis:{showgrid:!1,showspikes:!0},yaxis:{showgrid:!1,showspikes:!0},legend:{orientation:"h"}},fn:function(e,t,o,n){return"CTFd_score_".concat(e,"_").concat(o,"_").concat(t,"_").concat((new Date).toISOString().slice(0,19))},format:function(e,t,o,n,s){var a=[],i=[],r=s[0].data,l=s[2].data,d=r.concat(l);d.sort(function(e,t){return new Date(e.date)-new Date(t.date)});for(var c=0;c>8*s&255).toString(16)).substr(-2)}return n},t.htmlEntities=function(e){return(0,i.default)("
").text(e).html()},t.cumulativeSum=function(e){for(var t=e.concat(),o=0;o'),(0,i.default)("th.sort-col").click(function(){var e=(0,i.default)(this).parents("table").eq(0),t=e.find("tr:gt(0)").toArray().sort(function(s){return function(e,t){var o=a(e,s),n=a(t,s);return i.default.isNumeric(o)&&i.default.isNumeric(n)?o-n:o.toString().localeCompare(n)}}((0,i.default)(this).index()));this.asc=!this.asc,this.asc||(t=t.reverse());for(var o=0;o #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-info-create-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-info-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")})})}function m(e){e.preventDefault();var t=(0,i.default)("#user-info-edit-form").serializeJSON(!0);r.default.fetch("/api/v1/users/"+USER_ID,{method:"PATCH",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#user-info-edit-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-info-edit-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-info-edit-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function p(e){e.preventDefault(),(0,d.ezQuery)({title:"Delete User",body:"Are you sure you want to delete {0}".format(""+(0,l.htmlEntities)(USER_NAME)+" "),success:function(){r.default.fetch("/api/v1/users/"+USER_ID,{method:"DELETE"}).then(function(e){return e.json()}).then(function(e){e.success&&(window.location=r.default.config.urlRoot+"/admin/users")})}})}function f(e){e.preventDefault();var t=(0,i.default)("#user-award-form").serializeJSON(!0);t.user_id=USER_ID,r.default.fetch("/api/v1/awards",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#user-award-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-award-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-award-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function j(e){e.preventDefault();var t=(0,i.default)("#user-mail-form").serializeJSON(!0);r.default.fetch("/api/v1/users/"+USER_ID+"/email",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?((0,i.default)("#user-mail-form > #results").append((0,d.ezBadge)({type:"success",body:"E-Mail sent successfully!"})),(0,i.default)("#user-mail-form").find("input[type=text], textarea").val("")):((0,i.default)("#user-mail-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-mail-form > #results").append((0,d.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-mail-form").find("input[name={0}], textarea[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function h(e){e.preventDefault();var t=(0,i.default)(this).attr("submission-id"),o=(0,i.default)(this).attr("submission-type"),n=(0,i.default)(this).attr("submission-challenge"),s="Are you sure you want to delete {0} submission from {1} for {2} ? ".format((0,l.htmlEntities)(o),(0,l.htmlEntities)(USER_NAME),(0,l.htmlEntities)(n)),a=(0,i.default)(this).parent().parent();(0,d.ezQuery)({title:"Delete Submission",body:s,success:function(){r.default.fetch("/api/v1/submissions/"+t,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(e){return e.json()}).then(function(e){e.success&&a.remove()})}})}function _(e){e.preventDefault();var t=(0,i.default)(this).attr("award-id"),o=(0,i.default)(this).attr("award-name"),n="Are you sure you want to delete the {0} award from {1} ?".format((0,l.htmlEntities)(o),(0,l.htmlEntities)(USER_NAME)),s=(0,i.default)(this).parent().parent();(0,d.ezQuery)({title:"Delete Award",body:n,success:function(){r.default.fetch("/api/v1/awards/"+t,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(e){return e.json()}).then(function(e){e.success&&s.remove()})}})}function g(e){e.preventDefault();var t=(0,i.default)(this).attr("challenge-id"),o=(0,i.default)(this).attr("challenge-name"),n=(0,i.default)(this).parent().parent(),s="Are you sure you want to mark {0} solved for from {1} ?".format((0,l.htmlEntities)(o),(0,l.htmlEntities)(USER_NAME)),a={provided:"MARKED AS SOLVED BY ADMIN",user_id:USER_ID,team_id:TEAM_ID,challenge_id:t,type:"correct"};(0,d.ezQuery)({title:"Mark Correct",body:s,success:function(){r.default.fetch("/api/v1/submissions",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).then(function(e){return e.json()}).then(function(e){e.success&&(n.remove(),window.location.reload())})}})}var v={team:[function(e){return r.default.api.get_team_solves({teamId:e})},function(e){return r.default.api.get_team_fails({teamId:e})},function(e){return r.default.api.get_team_awards({teamId:e})}],user:[function(e){return r.default.api.get_user_solves({userId:e})},function(e){return r.default.api.get_user_fails({userId:e})},function(e){return r.default.api.get_user_awards({userId:e})}]};(0,i.default)(function(){var e,t,o,n;(0,i.default)(".delete-user").click(p),(0,i.default)(".edit-user").click(function(e){(0,i.default)("#user-info-modal").modal("toggle")}),(0,i.default)(".award-user").click(function(e){(0,i.default)("#user-award-modal").modal("toggle")}),(0,i.default)(".email-user").click(function(e){(0,i.default)("#user-email-modal").modal("toggle")}),(0,i.default)(".addresses-user").click(function(e){(0,i.default)("#user-addresses-modal").modal("toggle")}),(0,i.default)("#user-mail-form").submit(j),(0,i.default)(".delete-submission").click(h),(0,i.default)(".delete-award").click(_),(0,i.default)(".correct-submission").click(g),(0,i.default)("#user-info-create-form").submit(a),(0,i.default)("#user-info-edit-form").submit(m),(0,i.default)("#user-award-form").submit(f);var s=window.stats_data;e=s.type,t=s.id,o=s.name,n=s.account_id,function(t,o,n,s){var e=u(v[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,c.createGraph)("score_graph","#score-graph",e,t,o,n,s),(0,c.createGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,c.createGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n),setInterval(function(){!function(t,o,n,s){var e=u(v[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,c.updateGraph)("score_graph","#score-graph",e,t,o,n,s),(0,c.updateGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,c.updateGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n)},3e5)})},"./CTFd/themes/admin/assets/js/styles.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/bootstrap/dist/js/bootstrap.bundle.js");var n,s=o("./CTFd/themes/core/assets/js/utils.js"),a=(n=o("./node_modules/jquery/dist/jquery.js"))&&n.__esModule?n:{default:n};t.default=function(){(0,a.default)(":input").each(function(){(0,a.default)(this).data("initial",(0,a.default)(this).val())}),(0,a.default)(".form-control").bind({focus:function(){(0,a.default)(this).addClass("input-filled-valid")},blur:function(){""===(0,a.default)(this).val()&&(0,a.default)(this).removeClass("input-filled-valid")}}),(0,a.default)(".modal").on("show.bs.modal",function(e){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")})}),(0,a.default)(function(){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")}),(0,a.default)("tr[data-href]").click(function(){if(!getSelection().toString()){var e=(0,a.default)(this).attr("data-href");e&&(window.location=e)}return!1}),(0,a.default)("[data-checkbox]").click(function(e){(0,a.default)(e.target).is("input[type=checkbox]")?e.stopImmediatePropagation():((0,a.default)(this).find("input[type=checkbox]").click(),e.stopImmediatePropagation())}),(0,a.default)("[data-checkbox-all]").on("click change",function(e){var t=(0,a.default)(this).prop("checked"),o=(0,a.default)(this).index()+1;(0,a.default)(this).closest("table").find("tr td:nth-child(".concat(o,") input[type=checkbox]")).prop("checked",t),e.stopImmediatePropagation()}),(0,a.default)("tr[data-href] a, tr[data-href] button").click(function(e){(0,a.default)(this).attr("data-dismiss")||e.stopPropagation()}),(0,a.default)(".page-select").change(function(){var e=new URL(window.location);e.searchParams.set("page",this.value),window.location.href=e.toString()}),(0,s.makeSortableTables)(),(0,a.default)('[data-toggle="tooltip"]').tooltip()})}},"./CTFd/themes/core/assets/js/CTFd.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(o("./CTFd/themes/core/assets/js/fetch.js")),s=d(o("./CTFd/themes/core/assets/js/config.js")),a=o("./CTFd/themes/core/assets/js/api.js");o("./CTFd/themes/core/assets/js/patch.js");var i=d(o("./node_modules/markdown-it/index.js")),r=d(o("./node_modules/jquery/dist/jquery.js")),l=d(o("./CTFd/themes/core/assets/js/ezq.js"));function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var u=new a.API("/"),m={},p={ezq:l.default},f={$:r.default,markdown:function(e){var t=function(t){for(var e=1;e {1}
',i='',s='\n Error: \n {0}\n × \n
',d='\n Success! \n {0}\n × \n
',c='{0} ',u='No ',m='Yes ';function p(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(c.format(e.button));return e.success&&(0,r.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),o.modal("show"),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),o}function f(e){(0,r.default)("#ezq--notifications-toast-container").length||(0,r.default)("body").append((0,r.default)("
").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=l.format(e.title,e.body),o=(0,r.default)(t);if(e.onclose&&(0,r.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,r.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var s=!1!==e.autohide,a=!1!==e.animation,i=e.delay||1e4;return(0,r.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:s,delay:i,animation:a}),o.toast("show"),o}function j(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(m),s=(0,r.default)(u);return o.find(".modal-footer").append(s),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),(0,r.default)(n).click(function(){e.success()}),o.modal("show"),o}function h(e){if(e.target){var t=(0,r.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=a.format(e.title),s=(0,r.default)(n);return s.find(".modal-body").append((0,r.default)(o)),(0,r.default)("main").append(s),s.modal("show")}function _(e){var t={success:d,error:s}[e.type].format(e.body);return(0,r.default)(t)}var g={ezAlert:p,ezToast:f,ezQuery:j,ezProgressBar:h,ezBadge:_};t.default=g},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,s=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var a=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=s.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=s.default.csrfNonce,a(e,t)}},"./CTFd/themes/core/assets/js/graphs.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.createGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t);if(l.empty(),void 0===l[0])return void console.log("Couldn't find graph target: "+t);l[0].fn=r.fn(n,s,a,i);var d=r.format(n,s,a,i,o);u.default.newPlot(l[0],d,r.layout,j)},t.updateGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t),d=r.format(n,s,a,i,o);u.default.update(l[0],d,r.layout,j)};var c=n(o("./node_modules/jquery/dist/jquery.js")),u=n(o("./node_modules/plotly.js-basic-dist/plotly-basic.js")),m=n(o("./node_modules/moment/moment.js")),p=o("./CTFd/themes/core/assets/js/utils.js");function n(e){return e&&e.__esModule?e:{default:e}}var f={score_graph:{layout:{title:"Score over Time",paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",hovermode:"closest",xaxis:{showgrid:!1,showspikes:!0},yaxis:{showgrid:!1,showspikes:!0},legend:{orientation:"h"}},fn:function(e,t,o,n){return"CTFd_score_".concat(e,"_").concat(o,"_").concat(t,"_").concat((new Date).toISOString().slice(0,19))},format:function(e,t,o,n,s){var a=[],i=[],r=s[0].data,l=s[2].data,d=r.concat(l);d.sort(function(e,t){return new Date(e.date)-new Date(t.date)});for(var c=0;c>8*s&255).toString(16)).substr(-2)}return n},t.htmlEntities=function(e){return(0,i.default)("
").text(e).html()},t.cumulativeSum=function(e){for(var t=e.concat(),o=0;o'),(0,i.default)("th.sort-col").click(function(){var e=(0,i.default)(this).parents("table").eq(0),t=e.find("tr:gt(0)").toArray().sort(function(s){return function(e,t){var o=a(e,s),n=a(t,s);return i.default.isNumeric(o)&&i.default.isNumeric(n)?o-n:o.toString().localeCompare(n)}}((0,i.default)(this).index()));this.asc=!this.asc,this.asc||(t=t.reverse());for(var o=0;o #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-info-create-form > #results").append((0,u.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-info-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")})})}function m(e){e.preventDefault();var t=(0,i.default)("#user-info-edit-form").serializeJSON(!0);c.default.fetch("/api/v1/users/"+USER_ID,{method:"PATCH",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#user-info-edit-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-info-edit-form > #results").append((0,u.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-info-edit-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function p(e){e.preventDefault(),(0,u.ezQuery)({title:"Delete User",body:"Are you sure you want to delete {0}".format(""+(0,a.htmlEntities)(USER_NAME)+" "),success:function(){c.default.fetch("/api/v1/users/"+USER_ID,{method:"DELETE"}).then(function(e){return e.json()}).then(function(e){e.success&&(window.location=c.default.config.urlRoot+"/admin/users")})}})}function f(e){e.preventDefault();var t=(0,i.default)("#user-award-form").serializeJSON(!0);t.user_id=USER_ID,c.default.fetch("/api/v1/awards",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?window.location.reload():((0,i.default)("#user-award-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-award-form > #results").append((0,u.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-award-form").find("input[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function j(e){e.preventDefault();var t=(0,i.default)("#user-mail-form").serializeJSON(!0);c.default.fetch("/api/v1/users/"+USER_ID+"/email",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(s){s.success?((0,i.default)("#user-mail-form > #results").append((0,u.ezBadge)({type:"success",body:"E-Mail sent successfully!"})),(0,i.default)("#user-mail-form").find("input[type=text], textarea").val("")):((0,i.default)("#user-mail-form > #results").empty(),Object.keys(s.errors).forEach(function(e,t){(0,i.default)("#user-mail-form > #results").append((0,u.ezBadge)({type:"error",body:s.errors[e]}));var o=(0,i.default)("#user-mail-form").find("input[name={0}], textarea[name={0}]".format(e)),n=(0,i.default)(o);n.addClass("input-filled-invalid"),n.removeClass("input-filled-valid")}))})}function h(e,t){var o,n,s;switch(t){case"solves":o=(0,i.default)("input[data-submission-type=correct]:checked"),n="solve",s="Solves";break;case"fails":o=(0,i.default)("input[data-submission-type=incorrect]:checked"),n="fail",s="Fails"}var r=o.map(function(){return(0,i.default)(this).data("submission-id")}),a=1===r.length?n:n+"s";(0,u.ezQuery)({title:"Delete ".concat(s),body:"Are you sure you want to delete ".concat(r.length," ").concat(a,"?"),success:function(){var e=[],t=!0,o=!1,n=void 0;try{for(var s,a=r[Symbol.iterator]();!(t=(s=a.next()).done);t=!0){var i=s.value;e.push(c.default.api.delete_submission({submissionId:i}))}}catch(e){o=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(o)throw n}}Promise.all(e).then(function(e){window.location.reload()})}})}var _={team:[function(e){return c.default.api.get_team_solves({teamId:e})},function(e){return c.default.api.get_team_fails({teamId:e})},function(e){return c.default.api.get_team_awards({teamId:e})}],user:[function(e){return c.default.api.get_user_solves({userId:e})},function(e){return c.default.api.get_user_fails({userId:e})},function(e){return c.default.api.get_user_awards({userId:e})}]};(0,i.default)(function(){var e,t,o,n;(0,i.default)(".delete-user").click(p),(0,i.default)(".edit-user").click(function(e){(0,i.default)("#user-info-modal").modal("toggle")}),(0,i.default)(".award-user").click(function(e){(0,i.default)("#user-award-modal").modal("toggle")}),(0,i.default)(".email-user").click(function(e){(0,i.default)("#user-email-modal").modal("toggle")}),(0,i.default)(".addresses-user").click(function(e){(0,i.default)("#user-addresses-modal").modal("toggle")}),(0,i.default)("#user-mail-form").submit(j),(0,i.default)("#solves-delete-button").click(function(e){h(0,"solves")}),(0,i.default)("#fails-delete-button").click(function(e){h(0,"fails")}),(0,i.default)("#awards-delete-button").click(function(e){!function(){var l=(0,i.default)("input[data-award-id]:checked").map(function(){return(0,i.default)(this).data("award-id")}),e=1===l.length?"award":"awards";(0,u.ezQuery)({title:"Delete Awards",body:"Are you sure you want to delete ".concat(l.length," ").concat(e,"?"),success:function(){var e=[],t=!0,o=!1,n=void 0;try{for(var s,a=l[Symbol.iterator]();!(t=(s=a.next()).done);t=!0){var i=s.value,r=c.default.fetch("/api/v1/awards/"+i,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}});e.push(r)}}catch(e){o=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(o)throw n}}Promise.all(e).then(function(e){window.location.reload()})}})}()}),(0,i.default)("#missing-solve-button").click(function(e){!function(e){e.preventDefault();var d=(0,i.default)("input[data-missing-challenge-id]:checked").map(function(){return(0,i.default)(this).data("missing-challenge-id")});d.length,(0,u.ezQuery)({title:"Mark Correct",body:"Are you sure you want to mark ".concat(d.length," correct for ").concat((0,a.htmlEntities)(USER_NAME),"?"),success:function(){var e=[],t=!0,o=!1,n=void 0;try{for(var s,a=d[Symbol.iterator]();!(t=(s=a.next()).done);t=!0){var i=s.value,r={provided:"MARKED AS SOLVED BY ADMIN",user_id:USER_ID,team_id:TEAM_ID,challenge_id:i,type:"correct"},l=c.default.fetch("/api/v1/submissions",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)});e.push(l)}}catch(e){o=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(o)throw n}}Promise.all(e).then(function(e){window.location.reload()})}})}(e)}),(0,i.default)("#user-info-create-form").submit(r),(0,i.default)("#user-info-edit-form").submit(m),(0,i.default)("#user-award-form").submit(f);var s=window.stats_data;e=s.type,t=s.id,o=s.name,n=s.account_id,function(t,o,n,s){var e=d(_[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,l.createGraph)("score_graph","#score-graph",e,t,o,n,s),(0,l.createGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,l.createGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n),setInterval(function(){!function(t,o,n,s){var e=d(_[t],3),a=e[0],i=e[1],r=e[2];Promise.all([a(s),i(s),r(s)]).then(function(e){(0,l.updateGraph)("score_graph","#score-graph",e,t,o,n,s),(0,l.updateGraph)("category_breakdown","#categories-pie-graph",e,t,o,n,s),(0,l.updateGraph)("solve_percentages","#keys-pie-graph",e,t,o,n,s)})}(e,t,o,n)},3e5)})},"./CTFd/themes/admin/assets/js/styles.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/bootstrap/dist/js/bootstrap.bundle.js");var n,s=o("./CTFd/themes/core/assets/js/utils.js"),a=(n=o("./node_modules/jquery/dist/jquery.js"))&&n.__esModule?n:{default:n};t.default=function(){(0,a.default)(":input").each(function(){(0,a.default)(this).data("initial",(0,a.default)(this).val())}),(0,a.default)(".form-control").bind({focus:function(){(0,a.default)(this).addClass("input-filled-valid")},blur:function(){""===(0,a.default)(this).val()&&(0,a.default)(this).removeClass("input-filled-valid")}}),(0,a.default)(".modal").on("show.bs.modal",function(e){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")})}),(0,a.default)(function(){(0,a.default)(".form-control").each(function(){(0,a.default)(this).val()&&(0,a.default)(this).addClass("input-filled-valid")}),(0,a.default)("tr[data-href]").click(function(){if(!getSelection().toString()){var e=(0,a.default)(this).attr("data-href");e&&(window.location=e)}return!1}),(0,a.default)("[data-checkbox]").click(function(e){(0,a.default)(e.target).is("input[type=checkbox]")?e.stopImmediatePropagation():((0,a.default)(this).find("input[type=checkbox]").click(),e.stopImmediatePropagation())}),(0,a.default)("[data-checkbox-all]").on("click change",function(e){var t=(0,a.default)(this).prop("checked"),o=(0,a.default)(this).index()+1;(0,a.default)(this).closest("table").find("tr td:nth-child(".concat(o,") input[type=checkbox]")).prop("checked",t),e.stopImmediatePropagation()}),(0,a.default)("tr[data-href] a, tr[data-href] button").click(function(e){(0,a.default)(this).attr("data-dismiss")||e.stopPropagation()}),(0,a.default)(".page-select").change(function(){var e=new URL(window.location);e.searchParams.set("page",this.value),window.location.href=e.toString()}),(0,s.makeSortableTables)(),(0,a.default)('[data-toggle="tooltip"]').tooltip()})}},"./CTFd/themes/core/assets/js/CTFd.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(o("./CTFd/themes/core/assets/js/fetch.js")),s=d(o("./CTFd/themes/core/assets/js/config.js")),a=o("./CTFd/themes/core/assets/js/api.js");o("./CTFd/themes/core/assets/js/patch.js");var i=d(o("./node_modules/markdown-it/index.js")),r=d(o("./node_modules/jquery/dist/jquery.js")),l=d(o("./CTFd/themes/core/assets/js/ezq.js"));function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var u=new a.API("/"),m={},p={ezq:l.default},f={$:r.default,markdown:function(e){var t=function(t){for(var e=1;e {1}
',i='',s='\n Error: \n {0}\n × \n
',d='\n Success! \n {0}\n × \n
',c='{0} ',u='No ',m='Yes ';function p(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(c.format(e.button));return e.success&&(0,r.default)(n).click(function(){e.success()}),e.large&&o.find(".modal-dialog").addClass("modal-lg"),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),o.modal("show"),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),o}function f(e){(0,r.default)("#ezq--notifications-toast-container").length||(0,r.default)("body").append((0,r.default)("
").attr({id:"ezq--notifications-toast-container"}).css({position:"fixed",bottom:"0",right:"0","min-width":"20%"}));var t=l.format(e.title,e.body),o=(0,r.default)(t);if(e.onclose&&(0,r.default)(o).find("button[data-dismiss=toast]").click(function(){e.onclose()}),e.onclick){var n=(0,r.default)(o).find(".toast-body");n.addClass("cursor-pointer"),n.click(function(){e.onclick()})}var s=!1!==e.autohide,a=!1!==e.animation,i=e.delay||1e4;return(0,r.default)("#ezq--notifications-toast-container").prepend(o),o.toast({autohide:s,delay:i,animation:a}),o.toast("show"),o}function j(e){var t=a.format(e.title),o=(0,r.default)(t);"string"==typeof e.body?o.find(".modal-body").append("".concat(e.body,"
")):o.find(".modal-body").append((0,r.default)(e.body));var n=(0,r.default)(m),s=(0,r.default)(u);return o.find(".modal-footer").append(s),o.find(".modal-footer").append(n),(0,r.default)("main").append(o),(0,r.default)(o).on("hidden.bs.modal",function(){(0,r.default)(this).modal("dispose")}),(0,r.default)(n).click(function(){e.success()}),o.modal("show"),o}function h(e){if(e.target){var t=(0,r.default)(e.target);return t.find(".progress-bar").css("width",e.width+"%"),t}var o=i.format(e.width),n=a.format(e.title),s=(0,r.default)(n);return s.find(".modal-body").append((0,r.default)(o)),(0,r.default)("main").append(s),s.modal("show")}function _(e){var t={success:d,error:s}[e.type].format(e.body);return(0,r.default)(t)}var g={ezAlert:p,ezToast:f,ezQuery:j,ezProgressBar:h,ezBadge:_};t.default=g},"./CTFd/themes/core/assets/js/fetch.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,o("./node_modules/whatwg-fetch/fetch.js");var n,s=(n=o("./CTFd/themes/core/assets/js/config.js"))&&n.__esModule?n:{default:n};var a=window.fetch;t.default=function(e,t){return void 0===t&&(t={method:"GET",credentials:"same-origin",headers:{}}),e=s.default.urlRoot+e,void 0===t.headers&&(t.headers={}),t.credentials="same-origin",t.headers.Accept="application/json",t.headers["Content-Type"]="application/json",t.headers["CSRF-Token"]=s.default.csrfNonce,a(e,t)}},"./CTFd/themes/core/assets/js/graphs.js":function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.createGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t);if(l.empty(),void 0===l[0])return void console.log("Couldn't find graph target: "+t);l[0].fn=r.fn(n,s,a,i);var d=r.format(n,s,a,i,o);u.default.newPlot(l[0],d,r.layout,j)},t.updateGraph=function(e,t,o,n,s,a,i){var r=f[e],l=(0,c.default)(t),d=r.format(n,s,a,i,o);u.default.update(l[0],d,r.layout,j)};var c=n(o("./node_modules/jquery/dist/jquery.js")),u=n(o("./node_modules/plotly.js-basic-dist/plotly-basic.js")),m=n(o("./node_modules/moment/moment.js")),p=o("./CTFd/themes/core/assets/js/utils.js");function n(e){return e&&e.__esModule?e:{default:e}}var f={score_graph:{layout:{title:"Score over Time",paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",hovermode:"closest",xaxis:{showgrid:!1,showspikes:!0},yaxis:{showgrid:!1,showspikes:!0},legend:{orientation:"h"}},fn:function(e,t,o,n){return"CTFd_score_".concat(e,"_").concat(o,"_").concat(t,"_").concat((new Date).toISOString().slice(0,19))},format:function(e,t,o,n,s){var a=[],i=[],r=s[0].data,l=s[2].data,d=r.concat(l);d.sort(function(e,t){return new Date(e.date)-new Date(t.date)});for(var c=0;c>8*s&255).toString(16)).substr(-2)}return n},t.htmlEntities=function(e){return(0,i.default)("
").text(e).html()},t.cumulativeSum=function(e){for(var t=e.concat(),o=0;o'),(0,i.default)("th.sort-col").click(function(){var e=(0,i.default)(this).parents("table").eq(0),t=e.find("tr:gt(0)").toArray().sort(function(s){return function(e,t){var o=a(e,s),n=a(t,s);return i.default.isNumeric(o)&&i.default.isNumeric(n)?o-n:o.toString().localeCompare(n)}}((0,i.default)(this).index()));this.asc=!this.asc,this.asc||(t=t.reverse());for(var o=0;o>10|55296,1023&n|56320))}function r(){L()}var e,f,g,i,a,m,p,h,v,c,l,L,A,s,k,_,u,M,b,w="sizzle"+1*new Date,y=n.document,T=0,o=0,z=ce(),S=ce(),O=ce(),x=ce(),D=function(e,t){return e===t&&(l=!0),0},N={}.hasOwnProperty,t=[],C=t.pop,E=t.push,Y=t.push,q=t.slice,W=function(e,t){for(var n=0,o=e.length;n+~]|"+B+")"+B+"*"),K=new RegExp(B+"|>"),V=new RegExp(P),G=new RegExp("^"+H+"$"),J={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),TAG:new RegExp("^("+H+"|[*])"),ATTR:new RegExp("^"+X),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+B+"*(even|odd|(([+-]|)(\\d*)n|)"+B+"*(?:([+-]|)"+B+"*(\\d+)|))"+B+"*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^"+B+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+B+"*((?:-\\d)?\\d*)"+B+"*\\)|)(?=[^-]|$)","i")},Q=/HTML$/i,$=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,ee=/^[^{]+\{\s*\[native \w/,te=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ne=/[+~]/,oe=new RegExp("\\\\[\\da-fA-F]{1,6}"+B+"?|\\\\([^\\r\\n\\f])","g"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=ge(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{Y.apply(t=q.call(y.childNodes),y.childNodes),t[y.childNodes.length].nodeType}catch(e){Y={apply:t.length?function(e,t){E.apply(e,q.call(t))}:function(e,t){for(var n=e.length,o=0;e[n++]=t[o++];);e.length=n-1}}}function se(t,e,n,o){var r,i,a,s,c,l,u,d=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!o&&(L(e),e=e||A,k)){if(11!==p&&(c=te.exec(t)))if(r=c[1]){if(9===p){if(!(a=e.getElementById(r)))return n;if(a.id===r)return n.push(a),n}else if(d&&(a=d.getElementById(r))&&b(e,a)&&a.id===r)return n.push(a),n}else{if(c[2])return Y.apply(n,e.getElementsByTagName(t)),n;if((r=c[3])&&f.getElementsByClassName&&e.getElementsByClassName)return Y.apply(n,e.getElementsByClassName(r)),n}if(f.qsa&&!x[t+" "]&&(!_||!_.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(u=t,d=e,1===p&&(K.test(t)||U.test(t))){for((d=ne.test(t)&&Me(e.parentNode)||e)===e&&f.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=w)),i=(l=m(t)).length;i--;)l[i]=(s?"#"+s:":scope")+" "+ye(l[i]);u=l.join(",")}try{return Y.apply(n,d.querySelectorAll(u)),n}catch(e){x(t,!0)}finally{s===w&&e.removeAttribute("id")}}}return h(t.replace(I,"$1"),e,n,o)}function ce(){var o=[];return function e(t,n){return o.push(t+" ")>g.cacheLength&&delete e[o.shift()],e[t+" "]=n}}function le(e){return e[w]=!0,e}function ue(e){var t=A.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),o=n.length;o--;)g.attrHandle[n[o]]=t}function pe(e,t){var n=t&&e,o=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(o)return o;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function me(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function he(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function _e(a){return le(function(i){return i=+i,le(function(e,t){for(var n,o=a([],e.length,i),r=o.length;r--;)e[n=o[r]]&&(e[n]=!(t[n]=e[n]))})})}function Me(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in f=se.support={},a=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Q.test(t||n&&n.nodeName||"HTML")},L=se.setDocument=function(e){var t,n,o=e?e.ownerDocument||e:y;return o!=A&&9===o.nodeType&&o.documentElement&&(s=(A=o).documentElement,k=!a(A),y!=A&&(n=A.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",r,!1):n.attachEvent&&n.attachEvent("onunload",r)),f.scope=ue(function(e){return s.appendChild(e).appendChild(A.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),f.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),f.getElementsByTagName=ue(function(e){return e.appendChild(A.createComment("")),!e.getElementsByTagName("*").length}),f.getElementsByClassName=ee.test(A.getElementsByClassName),f.getById=ue(function(e){return s.appendChild(e).id=w,!A.getElementsByName||!A.getElementsByName(w).length}),f.getById?(g.filter.ID=function(e){var t=e.replace(oe,d);return function(e){return e.getAttribute("id")===t}},g.find.ID=function(e,t){if(void 0!==t.getElementById&&k){var n=t.getElementById(e);return n?[n]:[]}}):(g.filter.ID=function(e){var n=e.replace(oe,d);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},g.find.ID=function(e,t){if(void 0!==t.getElementById&&k){var n,o,r,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(r=t.getElementsByName(e),o=0;i=r[o++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),g.find.TAG=f.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):f.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,o=[],r=0,i=t.getElementsByTagName(e);if("*"!==e)return i;for(;n=i[r++];)1===n.nodeType&&o.push(n);return o},g.find.CLASS=f.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&k)return t.getElementsByClassName(e)},u=[],_=[],(f.qsa=ee.test(A.querySelectorAll))&&(ue(function(e){var t;s.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&_.push("[*^$]="+B+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||_.push("\\["+B+"*(?:value|"+j+")"),e.querySelectorAll("[id~="+w+"-]").length||_.push("~="),(t=A.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||_.push("\\["+B+"*name"+B+"*="+B+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||_.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||_.push(".#.+[+~]"),e.querySelectorAll("\\\f"),_.push("[\\r\\n\\f]")}),ue(function(e){e.innerHTML=" ";var t=A.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&_.push("name"+B+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&_.push(":enabled",":disabled"),s.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&_.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),_.push(",.*:")})),(f.matchesSelector=ee.test(M=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&ue(function(e){f.disconnectedMatch=M.call(e,"*"),M.call(e,"[s!='']:x"),u.push("!=",P)}),_=_.length&&new RegExp(_.join("|")),u=u.length&&new RegExp(u.join("|")),t=ee.test(s.compareDocumentPosition),b=t||ee.test(s.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,o=t&&t.parentNode;return e===o||!(!o||1!==o.nodeType||!(n.contains?n.contains(o):e.compareDocumentPosition&&16&e.compareDocumentPosition(o)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!f.sortDetached&&t.compareDocumentPosition(e)===n?e==A||e.ownerDocument==y&&b(y,e)?-1:t==A||t.ownerDocument==y&&b(y,t)?1:c?W(c,e)-W(c,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,o=0,r=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!r||!i)return e==A?-1:t==A?1:r?-1:i?1:c?W(c,e)-W(c,t):0;if(r===i)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[o]===s[o];)o++;return o?pe(a[o],s[o]):a[o]==y?-1:s[o]==y?1:0}),A},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(L(e),f.matchesSelector&&k&&!x[t+" "]&&(!u||!u.test(t))&&(!_||!_.test(t)))try{var n=M.call(e,t);if(n||f.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){x(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(oe,d),e[3]=(e[3]||e[4]||e[5]||"").replace(oe,d),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return J.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=m(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(oe,d).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=z[e+" "];return t||(t=new RegExp("(^|"+B+")"+e+"("+B+"|$)"))&&z(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,o,r){return function(e){var t=se.attr(e,n);return null==t?"!="===o:!o||(t+="","="===o?t===r:"!="===o?t!==r:"^="===o?r&&0===t.indexOf(r):"*="===o?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function S(e,n,o){return y(n)?w.grep(e,function(e,t){return!!n.call(e,t,e)!==o}):n.nodeType?w.grep(e,function(e){return e===n!==o}):"string"!=typeof n?w.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var o,r;if(!e)return this;if(n=n||O,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this);if(!(o="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:x.exec(e))||!o[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(o[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:k,!0)),z.test(o[1])&&w.isPlainObject(t))for(o in t)y(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(r=k.getElementById(o[2]))&&(this[0]=r,this.length=1),this}).prototype=w.fn,O=w(k);var D=/^(?:parents|prev(?:Until|All))/,N={children:!0,contents:!0,next:!0,prev:!0};function C(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,fe=/^$|^module$|\/(?:java|ecma)script/i;le=k.createDocumentFragment().appendChild(k.createElement("div")),(ue=k.createElement("input")).setAttribute("type","radio"),ue.setAttribute("checked","checked"),ue.setAttribute("name","t"),le.appendChild(ue),b.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="",b.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML=" ",b.option=!!le.lastChild;var me={thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function he(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&T(e,t)?w.merge([e],n):n}function _e(e,t){for(var n=0,o=e.length;n",""]);var Me=/<|?\w+;/;function be(e,t,n,o,r){for(var i,a,s,c,l,u,d=t.createDocumentFragment(),p=[],f=0,m=e.length;f\s*$/g;function xe(e,t){return T(e,"table")&&T(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ne(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ce(e,t){var n,o,r,i,a,s;if(1===t.nodeType){if(V.hasData(e)&&(s=V.get(e).events))for(r in V.remove(t,"handle events"),s)for(n=0,o=s[r].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",r=function(e){o.remove(),r=null,e&&t("error"===e.type?404:200,e.type)}),k.head.appendChild(o[0])},abort:function(){r&&r()}}});var en,tn=[],nn=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=tn.pop()||w.expando+"_"+Nt.guid++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(e,t,n){var o,r,i,a=!1!==e.jsonp&&(nn.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&nn.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=y(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(nn,"$1"+o):!1!==e.jsonp&&(e.url+=(Ct.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return i||w.error(o+" was not called"),i[0]},e.dataTypes[0]="json",r=A[o],A[o]=function(){i=arguments},n.always(function(){void 0===r?w(A).removeProp(o):A[o]=r,e[o]&&(e.jsonpCallback=t.jsonpCallback,tn.push(o)),i&&y(r)&&r(i[0]),i=r=void 0}),"script"}),b.createHTMLDocument=((en=k.implementation.createHTMLDocument("").body).innerHTML="",2===en.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(b.createHTMLDocument?((o=(t=k.implementation.createHTMLDocument("")).createElement("base")).href=k.location.href,t.head.appendChild(o)):t=k),i=!n&&[],(r=z.exec(e))?[t.createElement(r[1])]:(r=be([e],t,i),i&&i.length&&w(i).remove(),w.merge([],r.childNodes)));var o,r,i},w.fn.load=function(e,t,n){var o,r,i,a=this,s=e.indexOf(" ");return-1").append(w.parseHTML(e)).find(o):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},w.expr.pseudos.animated=function(t){return w.grep(w.timers,function(e){return t===e.elem}).length},w.offset={setOffset:function(e,t,n){var o,r,i,a,s,c,l=w.css(e,"position"),u=w(e),d={};"static"===l&&(e.style.position="relative"),s=u.offset(),i=w.css(e,"top"),c=w.css(e,"left"),r=("absolute"===l||"fixed"===l)&&-1<(i+c).indexOf("auto")?(a=(o=u.position()).top,o.left):(a=parseFloat(i)||0,parseFloat(c)||0),y(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+r),"using"in t?t.using.call(e,d):("number"==typeof d.top&&(d.top+="px"),"number"==typeof d.left&&(d.left+="px"),u.css(d))}},w.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){w.offset.setOffset(this,t,e)});var e,n,o=this[0];return o?o.getClientRects().length?(e=o.getBoundingClientRect(),n=o.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,o=this[0],r={top:0,left:0};if("fixed"===w.css(o,"position"))t=o.getBoundingClientRect();else{for(t=this.offset(),n=o.ownerDocument,e=o.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==o&&1===e.nodeType&&((r=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),r.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-r.top-w.css(o,"marginTop",!0),left:t.left-r.left-w.css(o,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||ne})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,r){var i="pageYOffset"===r;w.fn[t]=function(e){return X(this,function(e,t,n){var o;if(h(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===n)return o?o[r]:e[t];o?o.scrollTo(i?o.pageXOffset:n,i?n:o.pageYOffset):e[t]=n},t,e,arguments.length)}}),w.each(["top","left"],function(e,n){w.cssHooks[n]=Qe(b.pixelPosition,function(e,t){if(t)return t=Je(e,n),Fe.test(t)?w(e).position()[n]+"px":t})}),w.each({Height:"height",Width:"width"},function(a,s){w.each({padding:"inner"+a,content:s,"":"outer"+a},function(o,i){w.fn[i]=function(e,t){var n=arguments.length&&(o||"boolean"!=typeof e),r=o||(!0===e||!0===t?"margin":"border");return X(this,function(e,t,n){var o;return h(e)?0===i.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+a],o["scroll"+a],e.body["offset"+a],o["offset"+a],o["client"+a])):void 0===n?w.css(e,t,r):w.style(e,t,n,r)},s,n?e:void 0,n)}})}),w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,o){return this.on(t,e,n,o)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){w.fn[n]=function(e,t){return 0<|]|"+t.src_ZPCc+"))("+a+")","i"),o.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),o.re.pretest=RegExp("("+o.re.schema_test.source+")|("+o.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(o)}function p(e,t){var n=e.__index__,o=e.__last_index__,r=e.__text_cache__.slice(n,o);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=o+t,this.raw=r,this.text=r,this.url=r}function f(e,t){var n=new p(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function m(e,t){if(!(this instanceof m))return new m(e,t);t||!function(e){return Object.keys(e||{}).reduce(function(e,t){return e||o.hasOwnProperty(t)},!1)}(e)||(t=e,e={}),this.__opts__=n({},o,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=n({},r,e),this.__compiled__={},this.__tlds__=i,this.__tlds_replaced__=!1,this.re={},a(this)}m.prototype.add=function(e,t){return this.__schemas__[e]=t,a(this),this},m.prototype.set=function(e){return this.__opts__=n(this.__opts__,e),this},m.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,o,r,i,a,s,c;if(this.re.schema_test.test(e))for((s=this.re.schema_search).lastIndex=0;null!==(t=s.exec(e));)if(r=this.testSchemaAt(e,t[2],s.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+r;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&0<=(c=e.search(this.re.host_fuzzy_test))&&(this.__index__<0||cthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=a)),0<=this.__index__},m.prototype.pretest=function(e){return this.re.pretest.test(e)},m.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},m.prototype.match=function(e){var t=0,n=[];0<=this.__index__&&this.__text_cache__===e&&(n.push(f(this,t)),t=this.__last_index__);for(var o=t?e.slice(t):e;this.test(o);)n.push(f(this,t)),o=o.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},m.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,t,n){return e!==n[t-1]}).reverse():(this.__tlds__=e.slice(),this.__tlds_replaced__=!0),a(this),this},m.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},m.prototype.onCompile=function(){},e.exports=m},"./node_modules/linkify-it/lib/re.js":function(e,t,o){e.exports=function(e){var t={};t.src_Any=o("./node_modules/uc.micro/properties/Any/regex.js").source,t.src_Cc=o("./node_modules/uc.micro/categories/Cc/regex.js").source,t.src_Z=o("./node_modules/uc.micro/categories/Z/regex.js").source,t.src_P=o("./node_modules/uc.micro/categories/P/regex.js").source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");var n="[><|]";return t.src_pseudo_letter="(?:(?![><|]|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|[><|]|"+t.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|"+n+"|[()[\\]{}.,\"'?!\\-]).|\\[(?:(?!"+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-]).|\\.{2,3}[a-zA-Z0-9%/]|\\.(?!"+t.src_ZCc+"|[.]).|"+(e&&e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+"\\,(?!"+t.src_ZCc+").|\\!(?!"+t.src_ZCc+"|[!]).|\\?(?!"+t.src_ZCc+"|[?]).)+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]+',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy="(^|[><|]|\\(|"+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}},"./node_modules/markdown-it/index.js":function(e,t,n){e.exports=n("./node_modules/markdown-it/lib/index.js")},"./node_modules/markdown-it/lib/common/entities.js":function(e,t,n){e.exports=n("./node_modules/entities/lib/maps/entities.json")},"./node_modules/markdown-it/lib/common/html_blocks.js":function(e,t,n){e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},"./node_modules/markdown-it/lib/common/html_re.js":function(e,t,n){var o="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",r="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",i=new RegExp("^(?:"+o+"|"+r+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)"),a=new RegExp("^(?:"+o+"|"+r+")");e.exports.HTML_TAG_RE=i,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},"./node_modules/markdown-it/lib/common/utils.js":function(e,t,n){function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function a(e){return!(55296<=e&&e<=57343)&&(!(64976<=e&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(0<=e&&e<=8)&&(11!==e&&(!(14<=e&&e<=31)&&(!(127<=e&&e<=159)&&!(1114111>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var c=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,l=new RegExp(c.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),u=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,d=n("./node_modules/markdown-it/lib/common/entities.js");var p=/[&<>"]/,f=/[&<>"]/g,m={"&":"&","<":"<",">":">",'"':"""};function h(e){return m[e]}var _=/[.?*+^$[\]\\(){}|-]/g;var M=n("./node_modules/uc.micro/categories/P/regex.js");t.lib={},t.lib.mdurl=n("./node_modules/mdurl/index.js"),t.lib.ucmicro=n("./node_modules/uc.micro/index.js"),t.assign=function(n){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if("object"!==o(t))throw new TypeError(t+"must be object");Object.keys(t).forEach(function(e){n[e]=t[e]})}}),n},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(c,"$1")},t.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(l,function(e,t,n){return t||function(e,t){var n=0;return i(d,t)?d[t]:35===t.charCodeAt(0)&&u.test(t)&&a(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?s(n):e}(e,n)})},t.isValidEntityCode=a,t.fromCodePoint=s,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(8192<=e&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return M.test(e)},t.escapeRE=function(e){return e.replace(_,"\\$&")},t.normalizeReference=function(e){return e=e.trim().replace(/\s+/g," "),"Ṿ"==="ẞ".toLowerCase()&&(e=e.replace(/ẞ/g,"ß")),e.toLowerCase().toUpperCase()}},"./node_modules/markdown-it/lib/index.js":function(e,t,n){var o=n("./node_modules/markdown-it/lib/common/utils.js"),r=n("./node_modules/markdown-it/lib/helpers/index.js"),i=n("./node_modules/markdown-it/lib/renderer.js"),a=n("./node_modules/markdown-it/lib/parser_core.js"),s=n("./node_modules/markdown-it/lib/parser_block.js"),c=n("./node_modules/markdown-it/lib/parser_inline.js"),l=n("./node_modules/linkify-it/index.js"),u=n("./node_modules/mdurl/index.js"),d=n("./node_modules/punycode/punycode.js"),p={default:n("./node_modules/markdown-it/lib/presets/default.js"),zero:n("./node_modules/markdown-it/lib/presets/zero.js"),commonmark:n("./node_modules/markdown-it/lib/presets/commonmark.js")},f=/^(vbscript|javascript|file|data):/,m=/^data:image\/(gif|png|jpeg|webp);/;function h(e){var t=e.trim().toLowerCase();return!f.test(t)||!!m.test(t)}var _=["http:","https:","mailto:"];function M(e){var t=u.parse(e,!0);if(t.hostname&&(!t.protocol||0<=_.indexOf(t.protocol)))try{t.hostname=d.toASCII(t.hostname)}catch(e){}return u.encode(u.format(t))}function b(e){var t=u.parse(e,!0);if(t.hostname&&(!t.protocol||0<=_.indexOf(t.protocol)))try{t.hostname=d.toUnicode(t.hostname)}catch(e){}return u.decode(u.format(t))}function y(e,t){if(!(this instanceof y))return new y(e,t);t||o.isString(e)||(t=e||{},e="default"),this.inline=new c,this.block=new s,this.core=new a,this.renderer=new i,this.linkify=new l,this.validateLink=h,this.normalizeLink=M,this.normalizeLinkText=b,this.utils=o,this.helpers=o.assign({},r),this.options={},this.configure(e),t&&this.set(t)}y.prototype.set=function(e){return o.assign(this.options,e),this},y.prototype.configure=function(t){var e,n=this;if(o.isString(t)&&!(t=p[e=t]))throw new Error('Wrong `markdown-it` preset "'+e+'", check name');if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");return t.options&&n.set(t.options),t.components&&Object.keys(t.components).forEach(function(e){t.components[e].rules&&n[e].ruler.enableOnly(t.components[e].rules),t.components[e].rules2&&n[e].ruler2.enableOnly(t.components[e].rules2)}),this},y.prototype.enable=function(t,e){var n=[];Array.isArray(t)||(t=[t]),["core","block","inline"].forEach(function(e){n=n.concat(this[e].ruler.enable(t,!0))},this),n=n.concat(this.inline.ruler2.enable(t,!0));var o=t.filter(function(e){return n.indexOf(e)<0});if(o.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+o);return this},y.prototype.disable=function(t,e){var n=[];Array.isArray(t)||(t=[t]),["core","block","inline"].forEach(function(e){n=n.concat(this[e].ruler.disable(t,!0))},this),n=n.concat(this.inline.ruler2.disable(t,!0));var o=t.filter(function(e){return n.indexOf(e)<0});if(o.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+o);return this},y.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},y.prototype.parse=function(e,t){if("string"!=typeof e)throw new Error("Input data should be a String");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens},y.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},y.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens},y.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},e.exports=y},"./node_modules/markdown-it/lib/parser_block.js":function(e,t,n){var o=n("./node_modules/markdown-it/lib/ruler.js"),r=[["table",n("./node_modules/markdown-it/lib/rules_block/table.js"),["paragraph","reference"]],["code",n("./node_modules/markdown-it/lib/rules_block/code.js")],["fence",n("./node_modules/markdown-it/lib/rules_block/fence.js"),["paragraph","reference","blockquote","list"]],["blockquote",n("./node_modules/markdown-it/lib/rules_block/blockquote.js"),["paragraph","reference","blockquote","list"]],["hr",n("./node_modules/markdown-it/lib/rules_block/hr.js"),["paragraph","reference","blockquote","list"]],["list",n("./node_modules/markdown-it/lib/rules_block/list.js"),["paragraph","reference","blockquote"]],["reference",n("./node_modules/markdown-it/lib/rules_block/reference.js")],["heading",n("./node_modules/markdown-it/lib/rules_block/heading.js"),["paragraph","reference","blockquote"]],["lheading",n("./node_modules/markdown-it/lib/rules_block/lheading.js")],["html_block",n("./node_modules/markdown-it/lib/rules_block/html_block.js"),["paragraph","reference","blockquote"]],["paragraph",n("./node_modules/markdown-it/lib/rules_block/paragraph.js")]];function i(){this.ruler=new o;for(var e=0;e=c){e.line=n;break}for(o=0;o=i)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},a.prototype.parse=function(e,t,n,o){var r,i,a,s=new this.State(e,t,n,o);for(this.tokenize(s),a=(i=this.ruler2.getRules("")).length,r=0;r"+f(e[t].content)+""},r.code_block=function(e,t,n,o,r){var i=e[t];return""+f(e[t].content)+" \n"},r.fence=function(e,t,n,o,r){var i,a,s,c,l=e[t],u=l.info?p(l.info).trim():"",d="";return u&&(d=u.split(/\s+/g)[0]),0===(i=n.highlight&&n.highlight(l.content,d)||f(l.content)).indexOf(""+i+" \n"):""+i+" \n"},r.image=function(e,t,n,o,r){var i=e[t];return i.attrs[i.attrIndex("alt")][1]=r.renderInlineAsText(i.children,n,o),r.renderToken(e,t,n)},r.hardbreak=function(e,t,n){return n.xhtmlOut?" \n":" \n"},r.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?" \n":" \n":"\n"},r.text=function(e,t){return f(e[t].content)},r.html_block=function(e,t){return e[t].content},r.html_inline=function(e,t){return e[t].content},i.prototype.renderAttrs=function(e){var t,n,o;if(!e.attrs)return"";for(o="",t=0,n=e.attrs.length;t\n":">")},i.prototype.renderInline=function(e,t,n){for(var o,r="",i=this.rules,a=0,s=e.length;a",L.map=u=[t,0],e.md.block.tokenize(e,t,d),(L=e.push("blockquote_close","blockquote",-1)).markup=">",e.lineMax=k,e.parentType=_,u[1]=e.line,a=0;a|$))/i,/<\/(script|pre|style)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^?("+o.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(r.source+"\\s*$"),/^$/,!1]];e.exports=function(e,t,n,o){var r,i,a,s,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(4<=e.sCount[t]-e.blkIndent)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(c))return!1;for(s=e.src.slice(c,l),r=0;r=e.blkIndent&&(c=e.bMarks[f]+e.tShift[f])<(l=e.eMarks[f])&&(45===(d=e.src.charCodeAt(c))||61===d)&&(c=e.skipChars(c,d),l<=(c=e.skipSpaces(c)))){u=61===d?1:2;break}if(!(e.sCount[f]<0)){for(r=!1,i=0,a=m.length;i=e.blkIndent&&(N=!0),0<=(T=Y(e,t))){if(u=!0,S=e.bMarks[t]+e.tShift[t],_=Number(e.src.substr(S,T-S-1)),N&&1!==_)return!1}else{if(!(0<=(T=E(e,t))))return!1;u=!1}if(N&&e.skipSpaces(T)>=e.eMarks[t])return!1;if(h=e.src.charCodeAt(T-1),o)return!0;for(m=e.tokens.length,u?(D=e.push("ordered_list_open","ol",1),1!==_&&(D.attrs=[["start",_]])):D=e.push("bullet_list_open","ul",1),D.map=f=[t,0],D.markup=String.fromCharCode(h),b=t,z=!1,x=e.md.block.ruler.getRules("list"),v=e.parentType,e.parentType="list";b=this.eMarks[e]},o.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e=e.eMarks[c])return!1;if(124!==(r=e.src.charCodeAt(a++))&&45!==r&&58!==r)return!1;for(;ap.length)return!1;if(o)return!0;for((d=e.push("table_open","table",1)).map=m=[t,0],(d=e.push("thead_open","thead",1)).map=[t,t+1],(d=e.push("tr_open","tr",1)).map=[t,t+1],s=0;s\s]/i.test(y)&&0/i.test(b)&&f++),!(0/,u=/^<([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)>/;e.exports=function(e,t){var n,o,r,i,a,s,c=e.pos;return 60===e.src.charCodeAt(c)&&(!((n=e.src.slice(c)).indexOf(">")<0)&&(u.test(n)?(i=(o=n.match(u))[0].slice(1,-1),a=e.md.normalizeLink(i),!!e.md.validateLink(a)&&(t||((s=e.push("link_open","a",1)).attrs=[["href",a]],s.markup="autolink",s.info="auto",(s=e.push("text","",0)).content=e.md.normalizeLinkText(i),(s=e.push("link_close","a",-1)).markup="autolink",s.info="auto"),e.pos+=o[0].length,!0)):!!l.test(n)&&(i=(r=n.match(l))[0].slice(1,-1),a=e.md.normalizeLink("mailto:"+i),!!e.md.validateLink(a)&&(t||((s=e.push("link_open","a",1)).attrs=[["href",a]],s.markup="autolink",s.info="auto",(s=e.push("text","",0)).content=e.md.normalizeLinkText(i),(s=e.push("link_close","a",-1)).markup="autolink",s.info="auto"),e.pos+=r[0].length,!0))))}},"./node_modules/markdown-it/lib/rules_inline/backticks.js":function(e,t,n){e.exports=function(e,t){var n,o,r,i,a,s,c=e.pos;if(96!==e.src.charCodeAt(c))return!1;for(n=c,c++,o=e.posMax;c?@[]^_`{|}~-".split("").forEach(function(e){a[e.charCodeAt(0)]=1}),e.exports=function(e,t){var n,o=e.pos,r=e.posMax;if(92!==e.src.charCodeAt(o))return!1;if(++o>10),56320+(1023&s))),t+=9):c+="�";return c})}o.defaultChars=";/?:@&=+$,#",o.componentChars="",e.exports=o},"./node_modules/mdurl/encode.js":function(e,t,n){var l={};function u(e,t,n){var o,r,i,a,s,c="";for("string"!=typeof t&&(n=t,t=u.defaultChars),void 0===n&&(n=!0),s=function(e){var t,n,o=l[e];if(o)return o;for(o=l[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?o.push(n):o.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t",'"',"`"," ","\r","\n","\t"]),a=["'"].concat(i),z=["%","/","?",";","#"].concat(a),S=["/","?","#"],O=/^[+a-z0-9A-Z_-]{0,63}$/,x=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,D={javascript:!0,"javascript:":!0},N={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};o.prototype.parse=function(e,t){var n,o,r,i,a,s=e;if(s=s.trim(),!t&&1===e.split("#").length){var c=T.exec(s);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}var l=w.exec(s);if(l&&(r=(l=l[0]).toLowerCase(),this.protocol=l,s=s.substr(l.length)),(t||l||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(!(a="//"===s.substr(0,2))||l&&D[l]||(s=s.substr(2),this.slashes=!0)),!D[l]&&(a||l&&!N[l])){var u,d,p=-1;for(n=0;n>10|55296,1023&o|56320)}function r(){L()}var e,f,g,i,a,m,p,h,v,c,l,L,A,s,k,_,u,M,b,w="sizzle"+1*new Date,y=n.document,T=0,o=0,z=ce(),S=ce(),O=ce(),x=ce(),D=function(e,t){return e===t&&(l=!0),0},N={}.hasOwnProperty,t=[],C=t.pop,E=t.push,Y=t.push,q=t.slice,W=function(e,t){for(var n=0,o=e.length;n+~]|"+B+")"+B+"*"),K=new RegExp(B+"|>"),V=new RegExp(P),G=new RegExp("^"+H+"$"),J={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),TAG:new RegExp("^("+H+"|[*])"),ATTR:new RegExp("^"+X),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+B+"*(even|odd|(([+-]|)(\\d*)n|)"+B+"*(?:([+-]|)"+B+"*(\\d+)|))"+B+"*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^"+B+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+B+"*((?:-\\d)?\\d*)"+B+"*\\)|)(?=[^-]|$)","i")},Q=/HTML$/i,$=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,ee=/^[^{]+\{\s*\[native \w/,te=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ne=/[+~]/,oe=new RegExp("\\\\([\\da-f]{1,6}"+B+"?|("+B+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=ge(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{Y.apply(t=q.call(y.childNodes),y.childNodes),t[y.childNodes.length].nodeType}catch(e){Y={apply:t.length?function(e,t){E.apply(e,q.call(t))}:function(e,t){for(var n=e.length,o=0;e[n++]=t[o++];);e.length=n-1}}}function se(t,e,n,o){var r,i,a,s,c,l,u,d=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!o&&((e?e.ownerDocument||e:y)!==A&&L(e),e=e||A,k)){if(11!==p&&(c=te.exec(t)))if(r=c[1]){if(9===p){if(!(a=e.getElementById(r)))return n;if(a.id===r)return n.push(a),n}else if(d&&(a=d.getElementById(r))&&b(e,a)&&a.id===r)return n.push(a),n}else{if(c[2])return Y.apply(n,e.getElementsByTagName(t)),n;if((r=c[3])&&f.getElementsByClassName&&e.getElementsByClassName)return Y.apply(n,e.getElementsByClassName(r)),n}if(f.qsa&&!x[t+" "]&&(!_||!_.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(u=t,d=e,1===p&&K.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=w),i=(l=m(t)).length;i--;)l[i]="#"+s+" "+ye(l[i]);u=l.join(","),d=ne.test(t)&&Me(e.parentNode)||e}try{return Y.apply(n,d.querySelectorAll(u)),n}catch(e){x(t,!0)}finally{s===w&&e.removeAttribute("id")}}}return h(t.replace(I,"$1"),e,n,o)}function ce(){var o=[];return function e(t,n){return o.push(t+" ")>g.cacheLength&&delete e[o.shift()],e[t+" "]=n}}function le(e){return e[w]=!0,e}function ue(e){var t=A.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),o=n.length;o--;)g.attrHandle[n[o]]=t}function pe(e,t){var n=t&&e,o=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(o)return o;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function me(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function he(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function _e(a){return le(function(i){return i=+i,le(function(e,t){for(var n,o=a([],e.length,i),r=o.length;r--;)e[n=o[r]]&&(e[n]=!(t[n]=e[n]))})})}function Me(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in f=se.support={},a=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Q.test(t||n&&n.nodeName||"HTML")},L=se.setDocument=function(e){var t,n,o=e?e.ownerDocument||e:y;return o!==A&&9===o.nodeType&&o.documentElement&&(s=(A=o).documentElement,k=!a(A),y!==A&&(n=A.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",r,!1):n.attachEvent&&n.attachEvent("onunload",r)),f.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),f.getElementsByTagName=ue(function(e){return e.appendChild(A.createComment("")),!e.getElementsByTagName("*").length}),f.getElementsByClassName=ee.test(A.getElementsByClassName),f.getById=ue(function(e){return s.appendChild(e).id=w,!A.getElementsByName||!A.getElementsByName(w).length}),f.getById?(g.filter.ID=function(e){var t=e.replace(oe,d);return function(e){return e.getAttribute("id")===t}},g.find.ID=function(e,t){if(void 0!==t.getElementById&&k){var n=t.getElementById(e);return n?[n]:[]}}):(g.filter.ID=function(e){var n=e.replace(oe,d);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},g.find.ID=function(e,t){if(void 0!==t.getElementById&&k){var n,o,r,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(r=t.getElementsByName(e),o=0;i=r[o++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),g.find.TAG=f.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):f.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,o=[],r=0,i=t.getElementsByTagName(e);if("*"!==e)return i;for(;n=i[r++];)1===n.nodeType&&o.push(n);return o},g.find.CLASS=f.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&k)return t.getElementsByClassName(e)},u=[],_=[],(f.qsa=ee.test(A.querySelectorAll))&&(ue(function(e){s.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&_.push("[*^$]="+B+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||_.push("\\["+B+"*(?:value|"+j+")"),e.querySelectorAll("[id~="+w+"-]").length||_.push("~="),e.querySelectorAll(":checked").length||_.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||_.push(".#.+[+~]")}),ue(function(e){e.innerHTML=" ";var t=A.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&_.push("name"+B+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&_.push(":enabled",":disabled"),s.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&_.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),_.push(",.*:")})),(f.matchesSelector=ee.test(M=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&ue(function(e){f.disconnectedMatch=M.call(e,"*"),M.call(e,"[s!='']:x"),u.push("!=",P)}),_=_.length&&new RegExp(_.join("|")),u=u.length&&new RegExp(u.join("|")),t=ee.test(s.compareDocumentPosition),b=t||ee.test(s.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,o=t&&t.parentNode;return e===o||!(!o||1!==o.nodeType||!(n.contains?n.contains(o):e.compareDocumentPosition&&16&e.compareDocumentPosition(o)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!f.sortDetached&&t.compareDocumentPosition(e)===n?e===A||e.ownerDocument===y&&b(y,e)?-1:t===A||t.ownerDocument===y&&b(y,t)?1:c?W(c,e)-W(c,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,o=0,r=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!r||!i)return e===A?-1:t===A?1:r?-1:i?1:c?W(c,e)-W(c,t):0;if(r===i)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[o]===s[o];)o++;return o?pe(a[o],s[o]):a[o]===y?-1:s[o]===y?1:0}),A},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==A&&L(e),f.matchesSelector&&k&&!x[t+" "]&&(!u||!u.test(t))&&(!_||!_.test(t)))try{var n=M.call(e,t);if(n||f.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){x(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(oe,d),e[3]=(e[3]||e[4]||e[5]||"").replace(oe,d),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return J.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=m(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(oe,d).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=z[e+" "];return t||(t=new RegExp("(^|"+B+")"+e+"("+B+"|$)"))&&z(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,o,r){return function(e){var t=se.attr(e,n);return null==t?"!="===o:!o||(t+="","="===o?t===r:"!="===o?t!==r:"^="===o?r&&0===t.indexOf(r):"*="===o?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function O(e,n,o){return y(n)?w.grep(e,function(e,t){return!!n.call(e,t,e)!==o}):n.nodeType?w.grep(e,function(e){return e===n!==o}):"string"!=typeof n?w.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var o,r;if(!e)return this;if(n=n||x,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this);if(!(o="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:D.exec(e))||!o[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(o[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:k,!0)),S.test(o[1])&&w.isPlainObject(t))for(o in t)y(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(r=k.getElementById(o[2]))&&(this[0]=r,this.length=1),this}).prototype=w.fn,x=w(k);var N=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};function E(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,fe=/^$|^module$|\/(?:java|ecma)script/i,me={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function he(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&z(e,t)?w.merge([e],n):n}function _e(e,t){for(var n=0,o=e.length;nx",b.noCloneChecked=!!Me.cloneNode(!0).lastChild.defaultValue;var ve=/^key/,Le=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ae=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function we(){return!1}function Te(e,t){return e===function(){try{return k.activeElement}catch(e){}}()==("focus"===t)}function ze(e,t,n,o,r,i){var a,s;if("object"===ln(t)){for(s in"string"!=typeof n&&(o=o||n,n=void 0),t)ze(e,s,n,o,t[s],i);return e}if(null==o&&null==r?(r=n,o=n=void 0):null==r&&("string"==typeof n?(r=o,o=void 0):(r=o,o=n,n=void 0)),!1===r)r=we;else if(!r)return e;return 1===i&&(a=r,(r=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,r,o,n)})}function Se(e,r,i){i?(G.set(e,r,!1),w.event.add(e,r,{namespace:!1,handler:function(e){var t,n,o=G.get(this,r);if(1&e.isTrigger&&this[r]){if(o.length)(w.event.special[r]||{}).delegateType&&e.stopPropagation();else if(o=s.call(arguments),G.set(this,r,o),t=i(this,r),this[r](),o!==(n=G.get(this,r))||t?G.set(this,r,!1):n={},o!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else o.length&&(G.set(this,r,{value:w.event.trigger(w.extend(o[0],w.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,r)&&w.event.add(e,r,ke)}w.event={global:{},add:function(t,e,n,o,r){var i,a,s,c,l,u,d,p,f,m,h,_=G.get(t);if(_)for(n.handler&&(n=(i=n).handler,r=i.selector),r&&w.find.matchesSelector(oe,r),n.guid||(n.guid=w.guid++),(c=_.events)||(c=_.events={}),(a=_.handle)||(a=_.handle=function(e){return void 0!==w&&w.event.triggered!==e.type?w.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(Y)||[""]).length;l--;)f=h=(s=Ae.exec(e[l])||[])[1],m=(s[2]||"").split(".").sort(),f&&(d=w.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=w.event.special[f]||{},u=w.extend({type:f,origType:h,data:o,handler:n,guid:n.guid,selector:r,needsContext:r&&w.expr.match.needsContext.test(r),namespace:m.join(".")},i),(p=c[f])||((p=c[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(t,o,m,a)||t.addEventListener&&t.addEventListener(f,a)),d.add&&(d.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?p.splice(p.delegateCount++,0,u):p.push(u),w.event.global[f]=!0)},remove:function(e,t,n,o,r){var i,a,s,c,l,u,d,p,f,m,h,_=G.hasData(e)&&G.get(e);if(_&&(c=_.events)){for(l=(t=(t||"").match(Y)||[""]).length;l--;)if(f=h=(s=Ae.exec(t[l])||[])[1],m=(s[2]||"").split(".").sort(),f){for(d=w.event.special[f]||{},p=c[f=(o?d.delegateType:d.bindType)||f]||[],s=s[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=p.length;i--;)u=p[i],!r&&h!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||o&&o!==u.selector&&("**"!==o||!u.selector)||(p.splice(i,1),u.selector&&p.delegateCount--,d.remove&&d.remove.call(e,u));a&&!p.length&&(d.teardown&&!1!==d.teardown.call(e,m,_.handle)||w.removeEvent(e,f,_.handle),delete c[f])}else for(f in c)w.event.remove(e,f+t[l],n,o,!0);w.isEmptyObject(c)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,o,r,i,a,s=w.event.fix(e),c=new Array(arguments.length),l=(G.get(this,"events")||{})[s.type]||[],u=w.event.special[s.type]||{};for(c[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,xe=/