shell bypass 403
(function(o){typeof exports=="object"&&typeof module=="object"?o(require("../../lib/codemirror"),require("../fold/xml-fold")):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],o):o(CodeMirror)})(function(o){"use strict";o.defineOption("matchTags",!1,function(t,e,a){a&&a!=o.Init&&(t.off("cursorActivity",f),t.off("viewportChange",g),s(t)),e&&(t.state.matchBothTags=typeof e=="object"&&e.bothTags,t.on("cursorActivity",f),t.on("viewportChange",g),f(t))});function s(t){t.state.tagHit&&t.state.tagHit.clear(),t.state.tagOther&&t.state.tagOther.clear(),t.state.tagHit=t.state.tagOther=null}function f(t){t.state.failedTagMatch=!1,t.operation(function(){if(s(t),!t.somethingSelected()){var e=t.getCursor(),a=t.getViewport();a.from=Math.min(a.from,e.line),a.to=Math.max(e.line+1,a.to);var i=o.findMatchingTag(t,e,a);if(i){if(t.state.matchBothTags){var n=i.at=="open"?i.open:i.close;n&&(t.state.tagHit=t.markText(n.from,n.to,{className:"CodeMirror-matchingtag"}))}var r=i.at=="close"?i.open:i.close;r?t.state.tagOther=t.markText(r.from,r.to,{className:"CodeMirror-matchingtag"}):t.state.failedTagMatch=!0}}})}function g(t){t.state.failedTagMatch&&f(t)}o.commands.toMatchingTag=function(t){var e=o.findMatchingTag(t,t.getCursor());if(e){var a=e.at=="close"?e.open:e.close;a&&t.extendSelection(a.to,a.from)}}});