diff --git a/gulpfile.js b/gulpfile.js index 9a415e1..9e30fbb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -33,7 +33,7 @@ const markdownFiles = [ const pdfFiles = ["public/script/external/pdf.js"]; const notebookFiles = ["public/script/external/notebook.min.js"]; const orgFiles = ["public/script/external/org.js"]; -const editorFiles = ["public/script/external/ace/ace.js", "public/script/external/ace/ext-modelist.js"]; +const editorFiles = ["public/script/external/ace/ace.js"]; const lazyGroups = { markdown: markdownFiles, pdf: pdfFiles, notebook: notebookFiles, org: orgFiles, editor: editorFiles }; const mermaidFiles = [ @@ -80,7 +80,7 @@ async function buildVendorJs() { const app = await esbuild.build({ entryPoints: ["public/script/main.js"], bundle: true, write: false, format: "iife", minify: true, target: "es2020", - define: { __LAZY_ASSETS__: JSON.stringify(lazyAssets), "process.env.NODE_ENV": JSON.stringify("production"), __VUE_OPTIONS_API__: "true", __VUE_PROD_DEVTOOLS__: "false", __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false" }, + define: { __ACE_MODES__: JSON.stringify(fs.readdirSync("public/script/external/ace").filter(file => /^mode-[a-z0-9_]+\.js$/.test(file)).map(file => file.slice(5, -3))), __LAZY_ASSETS__: JSON.stringify(lazyAssets), "process.env.NODE_ENV": JSON.stringify("production"), __VUE_OPTIONS_API__: "true", __VUE_PROD_DEVTOOLS__: "false", __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false" }, plugins: [{ name: "vue-templates", setup(build) { build.onLoad({ filter: /\.htm$/ }, async ({ path }) => { const { code, errors } = compileTemplate({ diff --git a/public/asset-manifest.json b/public/asset-manifest.json index d96af99..0ae8e2c 100644 --- a/public/asset-manifest.json +++ b/public/asset-manifest.json @@ -1,11 +1,11 @@ { "core.min.js": "core.3b07189932.min.js", - "vendor.min.js": "vendor.00f03e0053.min.js", + "vendor.min.js": "vendor.d87c0306f0.min.js", "mermaid.min.js": "mermaid.f848a72d16.min.js", "all.min.css": "all.5fbafcda4e.min.css", "markdown.min.js": "markdown.44f2e93820.min.js", "pdf.min.js": "pdf.4d9cc6ff49.min.js", "notebook.min.js": "notebook.c3144c18ae.min.js", "org.min.js": "org.f61f262915.min.js", - "editor.min.js": "editor.435606a636.min.js" + "editor.min.js": "editor.4f142d3adc.min.js" } \ No newline at end of file diff --git a/public/script/components.js b/public/script/components.js index e1646cc..8daee6c 100644 --- a/public/script/components.js +++ b/public/script/components.js @@ -3,6 +3,8 @@ import { h, ref, watch, onMounted, onBeforeUnmount, nextTick, defineAsyncCompone import HtmlDoc from "./html-doc.js"; import PdfViewer from "./pdf-viewer.js"; +const editorModes = new Set(__ACE_MODES__); + const Markdown = { props: ["content", "terms", "options"], setup(props) { @@ -97,8 +99,7 @@ export const codeEditor = { beforeUnmount(el) { el._editorDisposed = true; el._editor?.destroy(); }, }; function applyEditorOptions(el, options = {}) { - const modes = window.ace.require("ace/ext/modelist").modesByName; - const mode = Object.hasOwn(modes, options.mode) ? options.mode : "text"; + const mode = editorModes.has(options.mode) ? options.mode : "text"; el._editor.session.setMode("ace/mode/" + mode); if (options.theme) el._editor.setTheme("ace/theme/" + options.theme); el._editor.setReadOnly(options.readOnly !== false); diff --git a/public/script/editor.min.js b/public/script/editor.min.js index 5082ce8..e8bcf78 100644 --- a/public/script/editor.min.js +++ b/public/script/editor.min.js @@ -1 +1 @@ -(()=>{var e,t,i=function(){return this}(),s=(i||"undefined"==typeof window||(i=window),function(e,t,i){"string"!=typeof e?s.original?s.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace()):(2==arguments.length&&(i=t),s.modules[e]||(s.payloads[e]=i,s.modules[e]=null))}),o=(s.modules={},s.payloads={},function(e,t,i){if("string"==typeof t){var n=h(e,t);if(null!=n)return i&&i(),n}else if("[object Array]"===Object.prototype.toString.call(t)){for(var s=[],o=0,r=t.length;o{var e,t,i={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t in i.FUNCTION_KEYS)e=i.FUNCTION_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);for(t in i.PRINTABLE_KEYS)e=i.PRINTABLE_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);o.mixin(i,i.MODIFIER_KEYS),o.mixin(i,i.PRINTABLE_KEYS),o.mixin(i,i.FUNCTION_KEYS),i.enter=i.return,i.escape=i.esc,i.del=i.delete,i[173]="-";for(var n=["cmd","ctrl","alt","shift"],s=Math.pow(2,n.length);s--;)i.KEY_MODS[s]=n.filter(function(e){return s&i.KEY_MODS[e]}).join("-")+"-";return i.KEY_MODS[0]="",i.KEY_MODS[-1]="input-",i})();o.mixin(t,n),t.keyCodeToString=function(e){var t=n[e];return(t="string"!=typeof t?String.fromCharCode(e):t).toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,u,t){function s(){if(null==i){i=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){i={passive:!1}}})}catch(e){}}return i}function o(e,t,i){this.elem=e,this.type=t,this.callback=i}function r(e,t,i){var n=l(t);if(!d.isMac&&g){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(n|=8),g.altGr){if(3==(3&n))return;g.altGr=0}18!==i&&17!==i||(s="location"in t?t.location:t.keyLocation,17===i&&1===s?1==g[i]&&(f=t.timeStamp):18===i&&3===n&&2===s&&t.timeStamp-f<50&&(g.altGr=!0))}if(i in c.MODIFIER_KEYS&&(i=-1),!n&&13===i){var s="location"in t?t.location:t.keyLocation;if(3===s&&(e(t,n,-i),t.defaultPrevented))return}if(d.isChromeOS&&8&n){if(e(t,n,i),t.defaultPrevented)return;n&=-9}return!!(n||i in c.FUNCTION_KEYS||i in c.PRINTABLE_KEYS)&&e(t,n,i)}function a(){g=Object.create(null)}function l(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}var i,h,c=e("./keys"),d=e("./useragent"),g=null,f=0,m=(o.prototype.destroy=function(){p(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0},u.addListener=function(e,t,i,n){e.addEventListener(t,i,s()),n&&n.$toDestroy.push(new o(e,t,i))}),p=u.removeListener=function(e,t,i){e.removeEventListener(t,i,s())};u.stopEvent=function(e){return u.stopPropagation(e),u.preventDefault(e),!1},u.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},u.preventDefault=function(e){e.preventDefault&&e.preventDefault()},u.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||d.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},u.capture=function(e,t,i){function n(e){t&&t(e),i&&i(e),p(s,"mousemove",t),p(s,"mouseup",n),p(s,"dragstart",n)}var s=e&&e.ownerDocument||document;return m(s,"mousemove",t),m(s,"mouseup",n),m(s,"dragstart",n),n},u.addMouseWheelListener=function(e,t,i){"onmousewheel"in e?m(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),t(e)},i):"onwheel"in e?m(e,"wheel",function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}t(e)},i):m(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),t(e)},i)},u.addMultiMouseDownListener=function(e,i,n,s,t){function o(e){var t;if(0!==u.getButton(e)?h=0:1 ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t=e.end,e=e.start,t=this.compare(t.row,t.column);return 1==t?1==(t=this.compare(e.row,e.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(e.row,e.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){e=this.compareRange(e);return-1==e||0==e||1==e},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)&&!this.isStart(e,t)},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row!==e||t<=this.end.column?0:1:tthis.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){var i,n;return this.end.row>t?i={row:t+1,column:0}:this.end.rowt?n={row:t+1,column:0}:this.start.row>=1)&&(e+=e);return i};var n=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(s,"")},t.copyObject=function(e){var t,i={};for(t in e)i[t]=e[t];return i},t.copyArray=function(e){for(var t=[],i=0,n=e.length;iDate.now()-50)||(n=!1)},cancel:function(){n=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,i){var B=e("../lib/event"),H=e("../lib/useragent"),P=e("../lib/dom"),N=e("../lib/lang"),z=e("../clipboard"),V=H.isChrome<18,U=H.isIE,K=63e+1?t.length:n,n+=s.length+1,s=s+"\n"+t):Y&&0=p.length&&e.value===p&&p&&e.selectionEnd!==v}),y=null,C=(this.setInputHandler=function(e){y=e},!(this.getInputHandler=function(){return y})),S=function(e,t){if(C=C&&!1,g)return b(),e&&u.onPaste(e),g=!1,"";for(var i=d.selectionStart,n=d.selectionEnd,s=w,o=p.length-v,r=e,a=e.length-i,l=e.length-n,h=0;0w-1&&p[p.length-h]==e[e.length-h];)h++,o--;a-=h-1,l-=h-1;var c=r.length-h+1;return c<0&&(s=-c,c=0),r=r.slice(0,c),t||r||a||s||o||l?(c=!(f=!0),H.isAndroid&&". "==r&&(r=" ",c=!0),r&&!s&&!o&&!a&&!l||m?u.onTextInput(r):u.onTextInput(r,{extendLeft:s,extendRight:o,restoreStart:a,restoreEnd:l}),f=!1,p=e,w=i,v=n,$=l,c?"\n":r):""},x=function(e){if(r)return L();if(e&&e.inputType){if("historyUndo"==e.inputType)return u.execCommand("undo");if("historyRedo"==e.inputType)return u.execCommand("redo")}var e=d.value,t=S(e,!0);(500this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var e=e.getDocumentPosition(),t=this.editor,i=t.session.getBracketRange(e);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=t.selection.getWordRange(e.row,e.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var e=e.getDocumentPosition(),t=this.editor,i=(this.setState("selectByLines"),t.getSelectionRange());i.isMultiLine()&&i.contains(e.row,e.column)?(this.$clickSelection=t.selection.getLineRange(i.start.row),this.$clickSelection.end=t.selection.getLineRange(i.end.row).end):this.$clickSelection=t.selection.getLineRange(e.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){var t,i,n,s,o,r,a;if(!e.getAccelKey())return e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0),t=this.editor,this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0}),i=this.$lastScroll,s=(a=(n=e.domEvent.timeStamp)-i.t)?e.wheelX/a:i.vx,o=a?e.wheelY/a:i.vy,a<550&&(s=(s+i.vx)/2,o=(o+i.vy)/2),a=!1,1<=(r=Math.abs(s/o))&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(a=!0),(a=r<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)?!0:a)?i.allowed=n:n-i.allowed<550&&(Math.abs(s)<=1.5*Math.abs(i.vx)&&Math.abs(o)<=1.5*Math.abs(i.vy)?(a=!0,i.allowed=n):i.allowed=0),i.t=n,i.vx=s,i.vy=o,a?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}).call(n.prototype),t.DefaultHandlers=n}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,i){function n(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}e("./lib/oop");var s=e("./lib/dom");(function(){this.$init=function(){return this.$element=s.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){s.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(n.prototype),t.Tooltip=n}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,i){function u(e){r.call(this,e)}var d=e("../lib/dom"),n=e("../lib/oop"),g=e("../lib/event"),r=e("../tooltip").Tooltip;n.inherits(u,r),function(){this.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),o=this.getHeight();i<(e+=15)+s&&(e-=e+s-i),n<(t+=15)+o&&(t-=20+o),r.prototype.setPosition.call(this,e,t)}}.call(u.prototype),t.GutterHandler=function(n){function s(){i=i&&clearTimeout(i),a&&(c.hide(),a=null,l._signal("hideGutterTooltip",c),l.off("mousewheel",s))}function o(e){c.setPosition(e.x,e.y)}var i,r,a,l=n.editor,h=l.renderer.$gutterLayer,c=new u(l.container);n.editor.setDefaultHandler("guttermousedown",function(e){if(l.isFocused()&&0==e.getButton()){var t=h.getRegion(e);if("foldWidgets"!=t){var t=e.getDocumentPosition().row,i=l.session.selection;if(e.getShiftKey())i.selectTo(t,0);else{if(2==e.domEvent.detail)return l.selectAll(),e.preventDefault();n.$clickSelection=l.selection.getLineRange(t)}return n.setState("selectByLines"),n.captureMouse(e),e.preventDefault()}}}),n.editor.setDefaultHandler("guttermousemove",function(e){var t=e.domEvent.target||e.domEvent.srcElement;if(d.hasCssClass(t,"ace_fold-widget"))return s();a&&n.$tooltipFollowsMouse&&o(e),r=e,i=i||setTimeout(function(){i=null,(r&&!n.isMousePressed?()=>{var e=r.getDocumentPosition().row,t=h.$annotations[e];if(!t)return s();if(e==l.session.getLength()){var e=l.renderer.pixelToScreenCoordinates(0,r.y).row,i=r.$pos;if(e>l.session.documentToScreenRow(i.row,i.column))return s()}a!=t&&(a=t.text.join("
"),c.setHtml(a),c.show(),l._signal("showGutterTooltip",c),l.on("mousewheel",s),n.$tooltipFollowsMouse?o(r):(e=r.domEvent.target.getBoundingClientRect(),(i=c.getElement().style).left=e.right+"px",i.top=e.bottom+"px"))}:s)()},50)}),g.addListener(l.renderer.$gutter,"mouseout",function(e){r=null,a&&(i=i||setTimeout(function(){i=null,s()},50))},l),l.on("changeSession",s)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){var n=e("../lib/event"),s=e("../lib/useragent"),e=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};!function(){this.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){var e,t;return null===this.$inSelection&&((e=this.editor.getSelectionRange()).isEmpty()?this.$inSelection=!1:(t=this.getDocumentPosition(),this.$inSelection=e.contains(t.row,t.column))),this.$inSelection},this.getButton=function(){return n.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=s.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}.call(e.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){function n(t){function e(){var e,t,i,n,s,o,r,a,l=d;d=v.renderer.screenToTextCoordinates(h,c),s=d,o=l,r=Date.now(),a=!o||s.row!=o.row,o=!o||s.column!=o.column,!p||a||o?(v.moveCursorToPosition(s),p=r,w={x:h,y:c}):5this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=(e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging"),A.isWin?"default":"move");e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;A.isIE&&"dragReady"==this.state&&3i&&(f=-1),d=e.clientX=r,g=e.clientY=o,C=S=0,new x(e,c));if(w=r.getDocumentPosition(),s-f<500&&1==t.length&&!b)y++,e.preventDefault(),e.button=0,p=null,clearTimeout(p),c.selection.moveToPosition(w),(o=2<=y?c.selection.getLineRange(w.row):c.session.getBracketRange(w))&&!o.isEmpty()?c.selection.setRange(o):c.selection.selectWord(),$="wait";else{y=0;var r=c.selection.cursor,t=c.selection.isEmpty()?r:c.selection.anchor,o=c.renderer.$cursorLayer.getPixelPosition(r,!0),r=c.renderer.$cursorLayer.getPixelPosition(t,!0),t=c.renderer.scroller.getBoundingClientRect(),a=c.renderer.layerConfig.offset,l=c.renderer.scrollLeft,h=function(e,t){return(e/=n)*e+(t=t/i-.75)*t};if(e.clientX{var s,o,r,a=t[n];switch(a){case C:case S:w=!1;case A:case k:return a;case x:return w?k:x;case M:return w=!0,S;case E:return A;case T:return n<1||n+1>=t.length||(s=i[n-1])!=x&&s!=k||(l=t[n+1])!=x&&l!=k?A:(l=w?k:l)==s?l:A;case _:return(s=0=e){for(n=l+1;n=e;)n++;for(s=l,o=n-1;s>8;return 0==i?191M&&t[a]t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var i=t?e.end:e.start,t=t?e.start:e.end;this.$setSelection(i.row,i.column,t.row,t.column)},this.$setSelection=function(e,t,i,n){var s,o;!this.$silent&&(s=this.$isEmpty,o=this.inMultiSelectMode,this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(i,n),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),this.$cursorChanged||this.$anchorChanged||s!=this.$isEmpty||o)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){var i;return void 0===t&&(e=(i=e||this.lead).row,t=i.column),this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),e=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(e)},this.getLineRange=function(e,t){var e="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(e),i=i?(e=i.start.row,i.end.row):e;return!0===t?new a(e,0,i,this.session.getLine(i).length):new a(e,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,s=e.column+t;return i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();(e=this.session.getFoldAt(t.row,t.column,-1))?this.moveCursorTo(e.start.row,e.start.column):0===t.column?0=i.length?(this.moveCursorTo(e,i.length),this.moveCursorRight(),eh&&(d=e.substring(h,p-m.length),u.type==g?u.value+=d:(u.type&&l.push(u),u={type:g,value:d}));for(var w=0;wv){for(c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});h=this.$rowTokens.length;){if(this.$row+=1,e=e||this.$session.getLength(),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0===i)for(i=0;0e.length&&(b=e.length)}),l==1/0&&(l=b,a=r=!1),c&&l%h!=0&&(l=Math.floor(l/h)*h),t(a?u:g)},this.toggleBlockComment=function(e,t,i,n){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var o,r,a=(d=new m(t,n.row,n.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(;a&&/comment/.test(a.type);){if(-1!=(g=a.value.indexOf(s.start))){var h=d.getCurrentTokenRow(),c=d.getCurrentTokenColumn()+g,u=new p(h,c,h,c+s.start.length);break}a=d.stepBackward()}for(var d,g,a=(d=new m(t,n.row,n.column)).getCurrentToken();a&&/comment/.test(a.type);){if(-1!=(g=a.value.indexOf(s.end))){var h=d.getCurrentTokenRow(),c=d.getCurrentTokenColumn()+g,f=new p(h,c,h,c+s.end.length);break}a=d.stepForward()}f&&t.remove(f),u&&(t.remove(u),o=u.start.row,r=-s.start.length)}else r=s.start.length,o=i.start.row,t.insert(i.end,s.end),t.insert(i.start,s.start);l.start.row==o&&(l.start.column+=r),l.end.row==o&&(l.end.column+=r),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var n in this.$embeds=[],this.$modes={},e){var t,i,s;e[n]&&(i=(t=e[n]).prototype.$id,(s=r.$modes[i])||(r.$modes[i]=s=new t),r.$modes[n]||(r.$modes[n]=s),this.$embeds.push(n),this.$modes[n]=s)}for(var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],n=0;n{var t=o[n],i=e[t];e[o[n]]=function(){return this.$delegator(t,arguments,i)}})(this)},this.$delegator=function(e,t,i){var n=t[0]||"start";if("string"!=typeof n){if(Array.isArray(n[2])){var s=n[2][n[2].length-1];if(r=this.$modes[s])return r[e].apply(r,[n[1]].concat([].slice.call(t,1)))}n=n[0]||"start"}for(var o=0;othis.row||(e=e,t={row:this.row,column:this.column},i=this.$insertRight,n=((r="insert"==e.action)?1:-1)*(e.end.row-e.start.row),s=(r?1:-1)*(e.end.column-e.start.column),o=e.start,r=r?o:e.end,e=a(t,o,i)?{row:t.row,column:t.column}:a(r,t,!i)?{row:t.row+n,column:t.column+(t.row==r.row?s:0)}:{row:o.row,column:o.column},this.setPosition(e.row,e.column,!0))},this.setPosition=function(e,t,i){i=i?{row:e,column:t}:this.$clipPositionToDocument(e,t);this.row==i.row&&this.column==i.column||(e={row:this.row,column:this.column},this.row=i.row,this.column=i.column,this._signal("change",{old:e,value:i}))},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):e<0?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}.call(e.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,i){function n(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}var s=e("./lib/oop"),o=e("./apply_delta").applyDelta,r=e("./lib/event_emitter").EventEmitter,a=e("./range").Range,l=e("./anchor").Anchor;(function(){s.implement(this,r),this.setValue=function(e){var t=this.getLength()-1;this.remove(new a(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new l(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){e=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=e?e[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t,i;return e.start.row===e.end.row?t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)]:((t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column),i=t.length-1,e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))),t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),e=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:e,action:"insert",lines:[t]},!0),this.clonePos(e)},this.clippedPos=function(e,t){var i=this.getLength(),i=(void 0===e?e=i:e<0?e=0:i<=e&&(e=i-1,t=void 0),this.getLine(e));return null==t&&(t=i.length),{row:e,column:t=Math.min(Math.max(t,0),i.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var i=0,i=(e=Math.min(Math.max(e,0),this.getLength()))e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=t.tokens}}).call(n.prototype),t.BackgroundTokenizer=n}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,i){function n(e,t,i){this.setRegexp(e),this.clazz=t,this.type=i||"text"}var h=e("./lib/lang"),c=(e("./lib/oop"),e("./range").Range);(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,i,n){if(this.regExp)for(var s=n.firstRow,o=n.lastRow,r=s;r<=o;r++){var a=this.cache[r];null==a&&(a=(a=(a=h.getMatchOffsets(i.getLine(r),this.regExp)).length>this.MAX_RANGES?a.slice(0,this.MAX_RANGES):a).map(function(e){return new c(r,e.offset,r,e.offset+e.length)}),this.cache[r]=a.length?a:"");for(var l=a.length;l--;)t.drawSingleLineMarker(e,a[l].toScreenRange(i),this.clazz,n)}}}).call(n.prototype),t.SearchHighlight=n}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,i){function s(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];e=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,e.end.row,e.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("../range").Range;(function(){this.shiftRow=function(t){this.start.row+=t,this.end.row+=t,this.folds.forEach(function(e){e.start.row+=t,e.end.row+=t})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),0=this.start.row&&e<=this.end.row},this.walk=function(e,t,i){var n,s,o=0,r=this.folds,a=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;lt||i[i.length-1].start.row=n);r++);if("insert"==e.action)for(var l=s-n,h=-t.column+i.column;rn)break;c.start.row==n&&c.start.column>=t.column&&(c.start.column==t.column&&this.$bias<=0||(c.start.column+=h,c.start.row+=l)),c.end.row==n&&c.end.column>=t.column&&(c.end.column==t.column&&this.$bias<0||(c.end.column==t.column&&0c.start.column&&c.end.column==o[r+1].start.column&&(c.end.column-=h),c.end.column+=h,c.end.row+=l))}else for(var c,l=n-s,h=t.column-i.column;rs)break;c.end.rowt.column)&&(c.end.column=t.column,c.end.row=t.row):(c.end.column+=h,c.end.row+=l):c.end.row>s&&(c.end.row+=l),c.start.rowt.column)&&(c.start.column=t.column,c.start.row=t.row):(c.start.column+=h,c.start.row+=l):c.start.row>s&&(c.start.row+=l)}if(0!=l&&r=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(-1==(n=t?i.indexOf(t):n)&&(n=0);n=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,s=0;sa)break}while(s&&r.test(s.type));s=n.stepBackward()}else s=n.getCurrentToken();return o.end.row=n.getCurrentTokenRow(),o.end.column=n.getCurrentTokenColumn()+s.value.length-2,o}},this.foldAll=function(e,t,i,n){null==i&&(i=1e5);var s=this.foldWidgets;if(s){t=t||this.getLength();for(var o,r=e=e||0;r=e&&(r=o.end.row,o.collapseChildren=i,this.addFold("...",o))}},this.foldToLevel=function(e){for(this.foldAll();0=e)break}n--}return{range:-1!==n&&o,firstRange:r}},this.onFoldWidgetClick=function(e,t){var i={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};this.$toggleFoldWidget(e,i)||(e=t.target||t.srcElement)&&/ace_fold-widget/.test(e.className)&&(e.className+=" ace_invalid")},this.$toggleFoldWidget=function(e,t){var i,n,s,o;if(this.getFoldWidget)return i=this.getFoldWidget(e),n=this.getLine(e),(n=this.getFoldAt(e,-1==(i="end"===i?-1:1)?0:n.length,i))?(t.children||t.all?this.removeFold(n):this.expandFold(n),n):(i=this.getFoldWidgetRange(e,!0))&&!i.isMultiLine()&&(n=this.getFoldAt(i.start.row,i.start.column,1))&&i.isEqual(n.range)?(this.removeFold(n),n):(t.siblings?((n=this.getParentFoldRangeData(e)).range&&(s=n.range.start.row+1,o=n.range.end.row),this.foldAll(s,o,t.all?1e4:0)):t.children?(o=i?i.end.row:this.getLength(),this.foldAll(e+1,o,t.all?1e4:0)):i&&(t.all&&(i.collapseChildren=1e4),this.addFold("...",i)),i)},this.toggleFoldWidget=function(e){var t,i=this.selection.getCursor().row;i=this.getRowFoldStart(i),!this.$toggleFoldWidget(i,{})&&(t=(t=this.getParentFoldRangeData(i,!0)).range||t.firstRange)&&(i=t.start.row,(i=this.getFoldAt(i,this.getLine(i).length,1))?this.removeFold(i):this.addFold("...",t))},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;0==i?this.foldWidgets[t]=null:"remove"==e.action?this.foldWidgets.splice(t,1+i,null):((e=Array(1+i)).unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,e))},this.tokenizerUpdateFoldWidgets=function(e){e=e.data;e.first!=e.last&&this.foldWidgets.length>e.first&&this.foldWidgets.splice(e.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,i){var u=e("../token_iterator").TokenIterator,a=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){return 0!=e.column&&""!=(t=t||this.getLine(e.row).charAt(e.column-1))&&(t=t.match(/([\(\[\{])|([\)\]\}])/))?t[1]?this.$findClosingBracket(t[1],e):this.$findOpeningBracket(t[2],e):null},this.getBracketRange=function(e){var t,i,n=this.getLine(e.row),s=!0,o=n.charAt(e.column-1),r=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(r||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},r=o&&o.match(/([\(\[\{])|([\)\]\}])/),s=!1),!r)return null;if(r[1]){if(!(i=this.$findClosingBracket(r[1],e)))return null;t=a.fromPoints(e,i),s||(t.end.column++,t.start.column--),t.cursor=t.end}else{if(!(i=this.$findOpeningBracket(r[2],e)))return null;t=a.fromPoints(i,e),s||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(e){var t=this.getLine(e.row),i=t.charAt(e.column-1),n=i&&i.match(/([\(\[\{])|([\)\]\}])/);return n||(i=t.charAt(e.column),e={row:e.row,column:e.column+1},n=i&&i.match(/([\(\[\{])|([\)\]\}])/)),n?(t=new a(e.row,e.column-1,e.row,e.column),(i=n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e))?[t,new a(i.row,i.column,i.row,i.column+1)]:[t]):null},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r=r||o.stepForward()){i=i||new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+");for(var a=t.column-o.getCurrentTokenColumn()-2,l=r.value;;){for(;0<=a;){var h=l.charAt(a);if(h==n){if(0==--s)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else h==e&&(s+=1);--a}for(;(r=o.stepBackward())&&!i.test(r.type););if(null==r)break;a=(l=r.value).length-1}return null}},this.$findClosingBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r=r||o.stepForward()){i=i||new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+");for(var a=t.column-o.getCurrentTokenColumn();;){for(var l=r.value,h=l.length;a>1,o=e[s];if(ot&&(t=e.screenWidth)}),this.lineWidgetWidth=t)},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,s=0,o=this.$foldData[s],r=o?o.start.row:1/0,a=t.length,l=0;ln&&(n=i[l])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;ie.end.column&&(t.start.column+=o),t.end.row==e.end.row)&&t.end.column>e.end.column&&(t.end.column+=o),s&&t.start.row>=e.end.row&&(t.start.row+=s,t.end.row+=s)),t.end=this.insert(t.start,r),a.length&&(n=e.start,i=t.start,s=i.row-n.row,o=i.column-n.column,this.addFolds(a.map(function(e){return(e=e.clone()).start.row==n.row&&(e.start.column+=o),e.end.row==n.row&&(e.end.column+=o),e.start.row+=s,e.end.row+=s,e}))),t},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new u(0,0,0,0),n=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var o=this.getLine(s);i.start.row=s,i.end.row=s;for(var r=0;rthis.doc.getLength()-1)return 0;n=s-t}else{e=this.$clipRowToDocument(e);n=(t=this.$clipRowToDocument(t))-e+1}var s=new u(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(s).map(function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e}),i=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,i),s.length&&this.addFolds(s),n},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){var i;return t=Math.max(0,t),t=e<0?e=0:(i=this.doc.getLength())<=e?this.doc.getLine(e=i-1).length:Math.min(this.doc.getLine(e).length,t),{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){e!=this.$useWrapMode&&(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e&&(e=this.getLength(),this.$wrapData=Array(e),this.$updateWrapData(0,e-1)),this._signal("changeWrapMode"))},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange,t=(i.max<0&&(i={min:t,max:t}),this.$constrainWrapLimit(e,i.min,i.max));return t!=this.$wrapLimit&&1=s.row&&g.shiftRow(-a);r=o}else{var u=Array(a),d=(u.unshift(o,0),t?this.$wrapData:this.$rowLengthCache),h=(d.splice.apply(d,u),this.$foldData),c=0;for((g=this.getFoldLine(o))&&(0==(d=g.range.compareInside(n.row,n.column))?(g=g.split(n.row,n.column))&&(g.shiftRow(a),g.addRemoveChars(r,0,s.column-n.column)):-1==d&&(g.addRemoveChars(o,0,s.column-n.column),g.shiftRow(a)),c=h.indexOf(g)+1);c=o&&g.shiftRow(a)}else{var g,a=Math.abs(e.start.column-e.end.column);"remove"===i&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a),(g=this.getFoldLine(o))&&g.addRemoveChars(o,n.column,a)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,r):this.$updateRowLengthCache(o,r),l},this.$updateRowLengthCache=function(e,t,i){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r,i,a=this.doc.getAllLines(),n=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,l=e;for(t=Math.min(t,a.length-1);l<=t;)(i=this.getFoldLine(l,i))?(r=[],i.walk(function(e,t,i,n){var s;if(null!=e){(s=this.$getDisplayTokens(e,r.length))[0]=f;for(var o=1;o{var e=0;if(0===u)return e;if(c)for(var t=0;t>2)),a-1);gc[d-1]):!d,this.getLength()-1),f=this.getNextFoldLine(r),m=f?f.start.row:1/0;l<=e&&!(ea[h-1]):!h,this.getNextFoldLine(r)),u=c?c.start.row:1/0;r=g[f];)n++,f++;d=d.substring(g[f-1]||0,d.length),l=0u||(s.push(r=new $(h,u,h+a-1,d)),2w&&s[c].end.row==i.end.row;)c--;for(s=s.slice(g,c+1),g=0,c=s.length;g=s.length)break;u.lastIndex=a+=1}if(t=n.length))return!1}},{forEach:a?function(e){var t=n.row;if(!r(t,n.column,e)){for(t--;s<=t;t--)if(r(t,Number.MAX_VALUE,e))return;if(0!=i.wrap)for(t=o,s=n.row;s<=t;t--)if(r(t,Number.MAX_VALUE,e))return}}:function(e){var t=n.row;if(!r(t,n.column,e)){for(t+=1;t<=o;t++)if(r(t,0,e))return;if(0!=i.wrap)for(t=s,o=n.row;t<=o;t++)if(r(t,0,e))return}}})}}).call(n.prototype),t.Search=n}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,i){function n(e,t){this.platform=t||(o.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){n.call(this,e,t),this.$singleCommand=!1}var a=e("../lib/keys"),o=e("../lib/useragent"),l=a.KEY_MODS;s.prototype=n.prototype,function(){function r(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),(this.commands[e.name]=e).bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var i,n=e&&("string"==typeof e?e:e.name),s=(e=this.commands[n],t||delete this.commands[n],this.commandKeyBinding);for(i in s){var o,r=s[i];r==e?delete s[i]:Array.isArray(r)&&-1!=(o=r.indexOf(e))&&(r.splice(o,1),1==r.length)&&(s[i]=r[0])}},this.bindKey=function(e,n,s){if("object"==typeof e&&e&&(null==s&&(s=e.position),e=e[this.platform]),e)return"function"==typeof n?this.addCommand({exec:n,bindKey:e,name:n.name||e}):void e.split("|").forEach(function(e){var t="",i=(-1!=e.indexOf(" ")&&(e=(i=e.split(/\s+/)).pop(),i.forEach(function(e){e=this.parseKeys(e),e=l[e.hashId]+e.key;t+=(t?" ":"")+e,this._addCommandToBinding(t,"chainKeys")},this),t+=" "),this.parseKeys(e)),e=l[i.hashId]+i.key;this._addCommandToBinding(t+e,n,s)},this)},this._addCommandToBinding=function(e,t,i){var n=this.commandKeyBinding;if(t)if(!n[e]||this.$singleCommand)n[e]=t;else{Array.isArray(n[e])?-1!=(o=n[e].indexOf(t))&&n[e].splice(o,1):n[e]=[n[e]],"number"!=typeof i&&(i=r(t));for(var s=n[e],o=0;ot?t+1:t,e.selection.moveCursorTo(i.row,t))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:n(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,n=e.selection.rangeList.ranges,s=[];n.length<1&&(n=[e.selection.getRange()]);for(var o=0;o=n.lastRow||i.end.row<=n.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==t&&this.renderer.animateScrolling(this.curOp.scrollTop)}e=this.selection.toJSON();this.curOp.selectionAfter=e,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(e),this.prevOp=this.curOp,this.curOp=null}}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){var t,i,n,s;this.$mergeUndoDeltas&&(t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name,"insertstring"==e.command.name?(s=e.args,void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0):n=n&&-1!==i.indexOf(e.command.name),(n="always"!=this.$mergeUndoDeltas&&2e3"===n.value&&a--),n&&0<=a;);else{do{if(n=l,l=i.stepBackward(),n)if(-1!==n.type.indexOf("tag-name"))o===n.value&&("<"===l.value?a++:""===n.value){for(var h=0,c=l;c;){if(-1!==c.type.indexOf("tag-name")&&c.value===o){a--;break}if("<"===c.value)break;c=i.stepBackward(),h++}for(var u=0;ua.search(/\S|$/)&&(t=a.substr(o.column).search(/\S|$/),n.doc.removeInLine(o.row,o.column,o.column+t))),this.clearSelection(),o.column),t=n.getState(o.row),a=n.getLine(o.row),l=s.checkOutdent(t,a,e);n.insert(o,e),i&&i.selection&&(2==i.selection.length?this.selection.setSelectionRange(new p(o.row,r+i.selection[0],o.row,r+i.selection[1])):this.selection.setSelectionRange(new p(o.row+i.selection[0],i.selection[1],o.row+i.selection[2],i.selection[3]))),this.$enableAutoIndent&&(n.getDocument().isNewLine(e)&&(r=s.getNextLineIndent(t,a.slice(0,o.column),n.getTabString()),n.insert({row:o.row+1,column:0},r)),l)&&s.autoOutdent(t,n,o.row)},this.autoIndent=function(){for(var e,t,i,n,s,o=this.session,r=o.getMode(),a=(i=this.selection.isEmpty()?(t=0,o.doc.getLength()-1):(t=(e=this.getSelectionRange()).start.row,e.end.row),""),l="",h=o.getTabString(),c=t;c<=i;c++)0t.toLowerCase()?1:0});for(var s=new p(0,0,0,0),n=e.first;n<=e.last;n++){var o=t.getLine(n);s.start.row=n,s.end.row=n,s.end.column=o.length,t.replace(s,i[n-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},this.getNumberAt=function(e,t){for(var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g,n=(i.lastIndex=0,this.session.getLine(e));i.lastIndex=t)return{value:s[0],start:s.index,end:s.index+s[0].length}}return null},this.modifyNumber=function(e){var t,i,n,s=this.selection.getCursor().row,o=this.selection.getCursor().column,r=new p(s,o-1,s,o),r=this.session.getTextRange(r);!isNaN(parseFloat(r))&&isFinite(r)?(r=this.getNumberAt(s,o))&&(n=0<=r.value.indexOf(".")?r.start+r.value.indexOf(".")+1:r.end,t=r.start+r.value.length-n,i=parseFloat(r.value),i*=Math.pow(10,t),n!==r.end&&og+1)break;g=f.last}for(c--,a=this.session.$moveLines(d,g,t?0:e),t&&-1==e&&(u=c+1);u<=c;)r[u].moveBy(a,0),u++;l+=a=t?a:0}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,s=e*Math.floor(n.height/n.lineHeight),e=(!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(s,0)}):!1===t&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection()),i.scrollTop);i.scrollBy(0,s*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(e)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},this.centerSelection=function(){var e=this.getSelectionRange(),e={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(e,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new $(this.session,i.row,i.column),s=n.getCurrentToken(),o=s||n.stepForward();if(o){var r,a,l,h=!1,c={},u=i.column-o.start,d={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;uwindow.innerHeight)&&null)&&(r.style.top=i+"px",r.style.left=e.left+"px",r.style.height=t.lineHeight+"px",r.scrollIntoView(o)),o=n=null)}),this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",t),this.renderer.off("afterRender",a),this.renderer.off("beforeRender",i))})},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,n.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},this.prompt=function(t,i,n){var s=this;v.loadModule("./ext/prompt",function(e){e.prompt(s,t,i,n)})}}.call(s.prototype),v.defineOptions(s.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?y.attach(this):y.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?y.attach(this):y.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.getValue());e&&this.renderer.placeholderNode?(this.renderer.off("afterRender",this.$updatePlaceholder),n.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null):e||this.renderer.placeholderNode?!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||""):(this.renderer.on("afterRender",this.$updatePlaceholder),n.addCssClass(this.container,"ace_hasPlaceholder"),(e=n.createElement("div")).className="ace_placeholder",e.textContent=this.$placeholder||"",this.renderer.placeholderNode=e,this.renderer.content.appendChild(this.renderer.placeholderNode))}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),{getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,i){return Math.max(t.toString().length,(i.lastRow+1).toString().length,2)*i.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}});t.Editor=s}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,i){function s(e,t){for(var i=t;i--;){var n=e[i];if(n&&!n[0].ignore){for(;i{for(var i=e.length;i--;)for(var n=0;n"+e.end.row+":"+e.end.column}function r(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)if(0<=f(t.start,e.end))l(t,e,-1);else{if(!(f(t.start,e.start)<=0))return;l(e,t,1)}else if(i&&!n)if(0<=f(t.start,e.end))l(t,e,-1);else{if(!(f(t.end,e.start)<=0))return;l(e,t,-1)}else if(!i&&n)if(0<=f(t.start,e.start))l(t,e,1);else{if(!(f(t.start,e.start)<=0))return;l(e,t,1)}else if(!i&&!n)if(0<=f(t.start,e.start))l(t,e,1);else{if(!(f(t.end,e.start)<=0))return;l(e,t,-1)}return 1}function l(e,t,i){h(e.start,t.start,t.end,i),h(e.end,t.start,t.end,i)}function h(e,t,i,n){e.row==(1==n?t:i).row&&(e.column+=n*(i.column-t.column)),e.row+=n*(i.row-t.row)}function c(e,t){var i=e.lines,n=e.end,s=(e.end=a(t),e.end.row-e.start.row),o=i.splice(s,i.length),s=s?t.column:t.column-e.start.column;return i.push(o[0].substring(0,s)),o[0]=o[0].substr(s),{start:a(t),end:n,lines:o,action:e.action}}function u(e,t){var i;t={start:a((i=t).start),end:a(i.end),action:i.action,lines:i.lines.slice()};for(var n=e.length;n--;){for(var s=e[n],o=0;o{var i,n,s="insert"==e.action,o="insert"==t.action;if(s&&o)f(e.start,t.start)<0?l(t,e,1):l(e,t,1);else if(s&&!o)0<=f(e.start,t.end)?l(e,t,-1):(f(e.start,t.start)<=0||l(e,g.fromPoints(t.start,e.start),-1),l(t,e,1));else if(!s&&o)0<=f(t.start,e.end)?l(t,e,-1):(f(t.start,e.start)<=0||l(t,g.fromPoints(e.start,t.start),-1),l(e,t,1));else if(!s&&!o)if(0<=f(t.start,e.end))l(t,e,-1);else{if(!(f(t.end,e.start)<=0))return f(e.start,t.start)<0&&(e=c(i=e,t.start)),0a+1;)this.$lines.pop();break}(r=this.$lines.get(++a))?r.row=l:(r=this.$lines.createCell(l,e,this.session,h),this.$lines.push(r)),this.$renderCell(r,e,s,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,i=t.gutterRenderer||this.$renderer,n=t.$firstLineNumber,s=this.$lines.last()?this.$lines.last().text:"",n=((this.$fixedWidth||t.$useWrapMode)&&(s=t.getLength()+n-1),i?i.getWidth(t,s,e):s.toString().length*e.characterWidth),i=this.$padding||this.$computePadding();(n+=i.left+i.right)===this.gutterWidth||isNaN(n)||(this.gutterWidth=n,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",n))},this.$updateCursorRow=function(){var e;this.$highlightGutterLine&&(e=this.session.selection.getCursor(),this.$cursorRow!==e.row)&&(this.$cursorRow=e.row)},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var i=0;i=this.$cursorRow){if(n.row>this.$cursorRow){var s=this.session.getFoldLine(this.$cursorRow);if(!(0i.right-t.right?"foldWidgets":void 0}}).call(n.prototype),t.Gutter=n}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,i){function n(e){this.element=s.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}var g=e("../range").Range,s=e("../lib/dom");(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var i=-1!=this.i&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=e},this.update=function(e){if(e){var t,i;for(i in this.config=e,this.i=0,this.markers){var n,s,o,r=this.markers[i];r.range?(o=r.range.clipRows(e.firstRow,e.lastRow)).isEmpty()||(o=o.toScreenRange(this.session),r.renderer?(n=this.$getTop(o.start.row,e),s=this.$padding+o.start.column*e.characterWidth,r.renderer(t,o,s,n,e)):"fullLine"==r.type?this.drawFullLineMarker(t,o,r.clazz,e):"screenLine"==r.type?this.drawScreenLineMarker(t,o,r.clazz,e):o.isMultiLine()?"text"==r.type?this.drawTextMarker(t,o,r.clazz,e):this.drawMultiLineMarker(t,o,r.clazz,e):this.drawSingleLineMarker(t,o,r.clazz+" ace_start ace_br15",e)):r.update(t,this,this.session,e)}if(-1!=this.i)for(;this.ie.lastRow)for(s=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);0t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,i){for(var n=[],s=t,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;r=o;)r=this.$renderToken(a,r,h,c.substring(0,o-n)),c=c.substring(o-n),n=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(w.stringRepeat(" ",i.indent),this.element)),r=0,o=i[++s]||Number.MAX_VALUE;0!=c.length&&(n+=c.length,r=this.$renderToken(a,r,h,c))}}i[i.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,r,null,"",!0)},this.$renderSimpleLine=function(e,t){var i=0,n=t[0],s=n.value;(s=this.displayIndentGuides?this.renderIndentGuide(e,s):s)&&(i=this.$renderToken(e,i,n,s));for(var o=1;othis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,n,s);i=this.$renderToken(e,i,n,s)}},this.$renderOverflowMessage=function(e,t,i,n,s){i&&this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t));i=this.dom.createElement("span");i.className="ace_inline_button ace_keyword ace_toggle_wrap",i.textContent=s?"":"",e.appendChild(i)},this.$renderLine=function(e,t,i){var n,s,o=e;(n=(i=i||0==i?i:this.session.getFoldLine(t))?this.$getFoldLineTokens(t,i):this.session.getTokens(t)).length?(s=this.session.getRowSplitData(t))&&s.length?(this.$renderWrappedLine(e,n,s),o=e.lastChild):(o=e,this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o)),this.$renderSimpleLine(o,n)):this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o)),this.showEOL&&o&&(i&&(t=i.end.row),(s=this.dom.createElement("span")).className="ace_invisible ace_invisible_eol",s.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,o.appendChild(s))},this.$getFoldLineTokens=function(e,t){var u=this.session,d=[],g=u.getTokens(e);return t.walk(function(e,t,i,n,s){if(null!=e)d.push({type:"fold",value:e});else if((g=s?u.getTokens(t):g).length){for(var o,r=g,a=n,l=i,h=0,c=0;c+r[h].value.lengthl-a&&(o=o.substring(0,l-a)),d.push({type:r[h].type,value:o}),c=a+o.length,h+=1);cl?d.push({type:r[h].type,value:o.substring(0,l-c)}):d.push(r[h]),c+=o.length,h+=1}},t.end.row,this.session.getLine(t.end.row).length),d},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(n.prototype),t.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,i){function n(e){this.element=h.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),h.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}var h=e("../lib/dom");(function(){this.$updateOpacity=function(e){for(var t=this.cursors,i=t.length;i--;)h.setStyle(t[i].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){h.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){h.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,h.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=h.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){var e;if(1e.height+e.offset||a.top<0)&&1n;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=a,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&((this.overwrite=e)?h.addCssClass(this.element,"ace_overwrite-cursors"):h.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(n.prototype),t.Cursor=n}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,i){function n(e){this.element=a.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=a.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addListener(this.element,"scroll",this.onScroll.bind(this)),l.addListener(this.element,"mousedown",l.preventDefault)}function s(e,t){n.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=a.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0}function o(e,t){n.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"}var r=e("./lib/oop"),a=e("./lib/dom"),l=e("./lib/event"),h=e("./lib/event_emitter").EventEmitter;!function(){r.implement(this,h),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}.call(n.prototype),r.inherits(s,n),function(){this.classSuffix="-v",this.onScroll=function(){var e;this.skipEvent||(this.scrollTop=this.element.scrollTop,1!=this.coeff&&(e=this.element.clientHeight/this.scrollHeight,this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)),this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){32768<(this.scrollHeight=e)?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(s.prototype);r.inherits(o,n),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(o.prototype),t.ScrollBar=s,t.ScrollBarV=s,t.ScrollBarH=o,t.VScrollBar=s,t.HScrollBar=o}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,i){function n(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var i=this;this._flush=function(e){i.pending=!1;var t=i.changes;t&&(s.blockIdle(100),i.changes=0,i.onRender(t)),i.changes?i.$recursionLimit--<0||i.schedule():i.$recursionLimit=2}}var s=e("./lib/event");(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(s.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(n.prototype),t.RenderLoop=n}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,i){var n=e("../lib/oop"),s=e("../lib/dom"),o=e("../lib/lang"),r=e("../lib/event"),a=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,h="function"==typeof ResizeObserver,e=t.FontMetrics=function(e){this.el=s.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=s.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=s.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},h?this.$addObserver():this.checkForSizeChanges()};!function(){n.implement(this,l),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){var t;!(e=void 0===e?this.$measureSizes():e)||this.$characterSize.width===e.width&&this.$characterSize.height===e.height||(this.$measureNode.style.fontWeight="bold",t=this.$measureSizes(),this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e}))},this.$addObserver=function(){var t=this;this.$observer=new window.ResizeObserver(function(e){t.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){var t;return this.$pollSizeChangesTimer||this.$observer?this.$pollSizeChangesTimer:(t=this).$pollSizeChangesTimer=r.onIdle(function e(){t.checkForSizeChanges(),r.onIdle(e,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){e={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===e.width||0===e.height?null:e},this.$measureCharWidth=function(e){return this.$main.textContent=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t=void 0===t?this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width:t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t&&t.parentElement?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){function e(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]}this.els=s.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},this.transformCoordinates=function(e,t){function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function r(e){e=e.getBoundingClientRect();return[e.left,e.top]}e=e&&o(1/this.$getZoom(this.el),e),this.els||this.$initTransformMeasureNodes();var a,l=r(this.els[0]),h=r(this.els[1]),c=r(this.els[2]),u=r(this.els[3]),u=i(n(u,h),n(u,c),n(s(h,c),s(u,l))),h=o(1+u[0],n(h,l)),c=o(1+u[1],n(c,l));return t?(a=u[0]*t[0]/200+u[1]*t[1]/200+1,t=s(o(t[0],h),o(t[1],c)),s(o(1/a/200,t),l)):(a=n(e,l),t=i(n(h,o(u[0],a)),n(c,o(u[1],a)),a),o(200,t))}}.call(e.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,i){function n(e,t){var i=this,e=(this.container=e||a.createElement("div"),a.addCssClass(this.container,"ace_editor"),a.HI_DPI&&a.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=a.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=a.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=a.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new r(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content),this.$textLayer=new h(this.content));this.canvas=e.element,this.$markerFront=new l(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new d(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.on("scroll",function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)}),this.scrollBarH.on("scroll",function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new f(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!w.isIOS,this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._signal("renderer",this)}var s=e("./lib/oop"),a=e("./lib/dom"),o=e("./config"),r=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,h=e("./layer/text").Text,c=e("./layer/cursor").Cursor,u=e("./scrollbar").HScrollBar,d=e("./scrollbar").VScrollBar,g=e("./renderloop").RenderLoop,f=e("./layer/font_metrics").FontMetrics,m=e("./lib/event_emitter").EventEmitter,p='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;padding: 0;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',w=e("./lib/useragent"),v=w.isIE;a.importCssString(p,"ace_editor.css");(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,s.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),a.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=e)&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(2r.height-n?a.translate(this.textarea,0,0):(r=1,s=this.$size.height-n,o?o.useTextareaForIME?(o=this.textarea.value,r=this.characterWidth*this.session.$getStringScreenWidth(o)[0]):t+=this.lineHeight+2:t+=this.lineHeight,(i-=this.scrollLeft)>this.$size.scrollerWidth-r&&(i=this.$size.scrollerWidth-r),i+=this.gutterWidth+this.margin.left,a.setStyle(e,"height",n+"px"),a.setStyle(e,"width",r+"px"),a.translate(this.textarea,Math.min(i,this.$size.scrollerWidth-r),Math.min(t,s)))):a.translate(this.textarea,-100,0))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,s.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-s.top),this.updateFull()},this.setMargin=function(e,t,i,n){var s=this.margin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t)&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i,n,t=this.layerConfig;(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL)&&(e|=this.$computeLayerConfig()|this.$loop.clear(),t.firstRow!=this.layerConfig.firstRow&&t.firstRowScreen==this.layerConfig.firstRowScreen&&0<(i=this.scrollTop+(t.firstRow-this.layerConfig.firstRow)*this.lineHeight)&&(this.scrollTop=i,e=(e|=this.CHANGE_SCROLL)|(this.$computeLayerConfig()|this.$loop.clear())),t=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),a.translate(this.content,-this.scrollLeft,-t.offset),i=t.width+2*this.$padding+"px",n=t.minHeight+"px",a.setStyle(this.content.style,"width",i),a.setStyle(this.content.style,"height",n)),e&this.CHANGE_H_SCROLL&&(a.translate(this.content,-this.scrollLeft,-t.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL?(this.$changedLines=null,this.$textLayer.update(t),this.$showGutter&&this.$gutterLayer.update(t),this.$markerBack.update(t),this.$markerFront.update(t),this.$cursorLayer.update(t),this.$moveTextAreaToCursor()):e&this.CHANGE_SCROLL?(this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(t):this.$textLayer.scrollLines(t),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(t):this.$gutterLayer.scrollLines(t)),this.$markerBack.update(t),this.$markerFront.update(t),this.$cursorLayer.update(t),this.$moveTextAreaToCursor()):(e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(t),this.$showGutter&&this.$gutterLayer.update(t)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(t):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(t):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(t),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(t),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(t),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(t)),this._signal("afterRender",e)}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,i=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(i+=this.scrollBarH.getHeight());t=!((i=this.$maxPixelHeight&&i>this.$maxPixelHeight?this.$maxPixelHeight:i)<=2*this.lineHeight)&&tc.top)),h=r!==n,c=(h&&(this.$vScroll=n,this.scrollBarV.setVisible(n)),this.scrollTop%this.lineHeight),r=Math.ceil(l/this.lineHeight)-1,r=(n=Math.max(0,Math.round((this.scrollTop-c)/this.lineHeight)))+r,u=this.lineHeight,n=t.screenToDocumentRow(n,0),d=t.getFoldLine(n),t=(d&&(n=d.start.row),d=t.documentToScreenRow(n,0),e=t.getRowLength(n)*u,r=Math.min(t.screenToDocumentRow(r,0),t.getLength()-1),l=i.scrollerHeight+t.getRowLength(r)*u+e,c=this.scrollTop-d*u,0);return this.layerConfig.width==o&&!a||(t=this.CHANGE_H_SCROLL),(a||h)&&(t|=this.$updateCachedSize(!0,this.gutterWidth,i.width,i.height),this._signal("scrollbarVisibilityChanged"),h)&&(o=this.$getLongestLine()),this.layerConfig={width:o,padding:this.$padding,firstRow:n,firstRowScreen:d,lastRow:r,lineHeight:u,characterWidth:this.characterWidth,minHeight:l,maxHeight:s,offset:c,gutterOffset:u?Math.max(0,Math.ceil((c+i.height-i.scrollerHeight)/u)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(o-this.$padding),t},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow,i=(this.$changedLines=null,this.layerConfig);if(!(e>i.lastRow+1||tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){var n,s,o;0!==this.$size.scrollerHeight&&(n=(e=this.$cursorLayer.getPixelPosition(e)).left,o=i&&i.top||0,i=i&&i.bottom||0,(e=e.top)<(s=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop)+o?(t&&s+o>e+this.lineHeight&&(e-=t*this.$size.scrollerHeight),0===e&&(e=-this.scrollMargin.top),this.session.setScrollTop(e)):s+this.$size.scrollerHeight-i=1-this.scrollMargin.top||0=1-this.scrollMargin.left||0{t="importScripts('"+n.qualifyURL(t)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var i=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return i.append(t),i.getBlob("application/javascript")}})(e),t=(window.URL||window.webkitURL).createObjectURL(t),new Worker(t)):new Worker(e)}function h(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage}var i=a("../lib/oop"),n=a("../lib/net"),c=a("../lib/event_emitter").EventEmitter,u=a("../config");(function(){i.implement(this,c),this.$createWorkerFromOldConfig=function(e,t,i,n,s){var o,r;return a.nameToUrl&&!a.toUrl&&(a.toUrl=a.nameToUrl),u.get("packaged")||!a.toUrl?n=n||u.moduleUrl(t,"worker"):(o=this.$normalizePath,n=n||o(a.toUrl("ace/worker/worker.js",null,"_")),r={},e.forEach(function(e){r[e]=o(a.toUrl(e,null,"_").replace(/(\.js)?(\?.*)?$/,""))})),this.$worker=l(n),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:r,module:t,classname:i}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var i=this.callbacks[t.id];i&&(i(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return n.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,i){var n;i&&(n=this.callbackId++,this.callbacks[n]=i,t.push(n)),this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,50this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(h.prototype);e.UIWorkerClient=function(e,t,i){var n=null,s=!1,o=Object.create(c),r=[],a=new h({messageBuffer:r,terminate:function(){},postMessage:function(e){r.push(e),n&&(s?setTimeout(l):l())}}),l=(a.setEmitSync=function(e){s=e},function(){var e=r.shift();e.command?n[e.command].apply(n,e.args):e.event&&o._signal(e.event,e.data)});return o.postMessage=function(e){a.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},u.loadModule(["worker",t],function(e){for(n=new e[i](o);r.length;)l()}),a},e.WorkerClient=h,e.createWorker=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,i){function n(e,t,i,n,s,o){var r=this,t=(this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){r.onCursorChange()})},this.$pos=i,e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1});this.$undoStackDepth=t.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}var l=e("./range").Range,s=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop");(function(){o.implement(this,s),this.setup=function(){var t=this,i=this.doc,e=this.session,n=(this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column),this.pos);n.$insertRight=!0,n.detach(),n.markerId=e.addMarker(new l(n.row,n.column,n.row,n.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){e=i.createAnchor(e.row,e.column);e.$insertRight=!0,e.detach(),t.others.push(e)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){var t,i;this.othersActive||(t=this.session,(i=this).othersActive=!0,this.others.forEach(function(e){e.markerId=t.addMarker(new l(e.row,e.column,e.row,e.column+i.length),i.othersClass,null,!1)}))},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;if(this.updateAnchors(e),n&&(this.length+=i),n&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;0<=o;o--){var r={row:(a=this.others[o]).row,column:a.column+s};this.doc.insertMergedLines(r,e.lines)}else if("remove"===e.action)for(o=this.others.length-1;0<=o;o--){var a,r={row:(a=this.others[o]).row,column:a.column+s};this.doc.remove(new l(r.row,r.column,r.row,r.column-i))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var i=this,n=this.session,e=function(e,t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new l(e.row,e.column,e.row,e.column+i.length),t,null,!1)};e(this.pos,this.mainClass);for(var t=this.others.length;t--;)e(this.others[t],this.othersClass)}},this.onCursorChange=function(e){var t;!this.$updating&&this.session&&((t=this.session.selection.getCursor()).row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e)))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;io&&(o=e.column),(t=-1==t?0:t)t[1].length&&(s=t[1].length),ot[3].length&&(r=t[3].length)),t):[e]}).map(t?n:a?l?function(e){return e[2]?i(s+o-e[2].length)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:n:function(e){return e[2]?i(s)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]})}}).call(h.prototype),s.onSessionChange=function(e){var t=e.session,e=(t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect,e.oldSession);e&&(e.multiSelect.off("addRange",this.$onAddRange),e.multiSelect.off("removeRange",this.$onRemoveRange),e.multiSelect.off("multiSelect",this.$onMultiSelect),e.multiSelect.off("singleSelect",this.$onSingleSelect),e.multiSelect.lead.off("change",this.$checkMultiselectChange),e.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},s.MultiSelect=i,e("./config").defineOptions(h.prototype,"editor",{enableMultiselect:{set:function(e){i(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,i){var c=e("../../range").Range,e=t.FoldMode=function(){};!function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){e=e.getLine(i);return this.foldingStartMarker.test(e)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(e)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var n=/\S/,s=e.getLine(t),o=s.search(n);if(-1!=o){for(var r,i=i||s.length,a=e.getLength(),s=t,l=t;++ti.row&&(n.row--,n.column=e.getLine(n.row).length),c.fromPoints(i,n)},this.closingBracketBlock=function(e,t,i,n,s){i={row:i,column:n},n=e.$findOpeningBracket(t,i);if(n)return n.column++,i.column--,c.fromPoints(n,i)}}.call(e.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,i){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,t,i){function n(e){this.session=e,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var s=e("./lib/dom");(function(){this.getRowLength=function(e){var t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var t=0;return this.lineWidgets.forEach(function(e){e&&e.rowCount&&!e.hidden&&(t+=e.rowCount)}),t},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e)&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;t&&(this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets),t=this.session.lineWidgets)&&t.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var t=e.data,n=t.start.row,s=t.end.row,o="add"==e.action,r=n+1;rs[t].column&&t++,n.unshift(t,0),s.splice.apply(s,n)),this.$updateRows())},this.$updateRows=function(){var i,e=this.session.lineWidgets;e&&(i=!0,e.forEach(function(e,t){if(e)for(i=!1,e.row=t;e.$oldWidget;)e.$oldWidget.row=t,e=e.$oldWidget}),i)&&(this.session.lineWidgets=null)},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t).el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1),this.session.lineWidgets[e.row]=e},this.addLineWidget=function(e){var t,i,n;return this.$registerLineWidget(e),e.session=this.session,this.editor&&(t=this.editor.renderer,e.html&&!e.el&&(e.el=s.createElement("div"),e.el.innerHTML=e.html),e.el&&(s.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight)&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),i=this.session.getFoldAt(e.row,0),(e.$fold=i)&&(n=this.session.lineWidgets,e.row!=i.end.row||n[i.start.row]?e.hidden=!0:n[i.start.row]=e),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e)),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,i=t&&t[e],n=[];i;)n.push(i),i=i.$oldWidget;return n},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var i=this.session._changedWidgets,n=t.layerConfig;if(i&&i.length){for(var s=1/0,o=0;o{for(var n=0,s=e.length-1;n<=s;){var o=n+s>>1,r=i(t,e[o]);if(0"),o.appendChild(u.createElement("div"));l.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(a),n.widgetManager.removeLineWidget(l),e.off("changeSelection",l.destroy),e.off("changeSession",l.destroy),e.off("mouseup",l.destroy),e.off("change",l.destroy))},e.keyBinding.addKeyboardHandler(a),e.on("changeSelection",l.destroy),e.on("changeSession",l.destroy),e.on("mouseup",l.destroy),e.on("change",l.destroy),e.session.widgetManager.addLineWidget(l),l.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:l.el.offsetHeight})},u.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,o,t){e("./lib/fixoldbrowsers");var r=e("./lib/dom"),a=e("./lib/event"),i=e("./range").Range,l=e("./editor").Editor,n=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,h=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),o.config=e("./config"),o.require=e,"function"==typeof define&&(o.define=define),o.edit=function(e,t){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}var n,s;return e&&e.env&&e.env.editor instanceof l?e.env.editor:(i="",e&&/input|textarea/i.test(e.tagName)?(i=(n=e).value,e=r.createElement("pre"),n.parentNode.replaceChild(e,n)):e&&(i=e.textContent,e.innerHTML=""),i=o.createEditSession(i),e=new l(new h(e),i,t),s={document:i,editor:e,onResize:e.resize.bind(e,null)},n&&(s.textarea=n),a.addListener(window,"resize",s.onResize),e.on("destroy",function(){a.removeListener(window,"resize",s.onResize),s.editor.container.env=null}),e.container.env=e.env=s,e)},o.createEditSession=function(e,t){e=new n(e,t);return e.setUndoManager(new s),e},o.Range=i,o.Editor=l,o.EditSession=n,o.UndoManager=s,o.VirtualRenderer=h,o.version=o.config.version}),ace.require(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t]);window.ace.default=window.ace,"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=window.ace)}),ace.define("ace/ext/modelist",["require","exports","module"],function(e,t,i){function n(e,t,i){this.name=e,this.caption=t,this.mode="ace/mode/"+e,this.extensions=i,t=/\^/.test(i)?i.replace(/\|(\^)?/g,function(e,t){return"$|"+(t?"^":"^.*\\.")})+"$":"^.*\\.("+i+")$",this.extRe=new RegExp(t,"gi")}var s,o=[],r=(n.prototype.supportsFile=function(e){return e.match(this.extRe)},{ABAP:["abap"],ABC:["abc"],ActionScript:["as"],ADA:["ada|adb"],Alda:["alda"],Apache_Conf:["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],Apex:["apex|cls|trigger|tgr"],AQL:["aql"],AsciiDoc:["asciidoc|adoc"],ASL:["dsl|asl"],Assembly_x86:["asm|a"],AutoHotKey:["ahk"],BatchFile:["bat|cmd"],C_Cpp:["cpp|c|cc|cxx|h|hh|hpp|ino"],C9Search:["c9search_results"],Cirru:["cirru|cr"],Clojure:["clj|cljs"],Cobol:["CBL|COB"],coffee:["coffee|cf|cson|^Cakefile"],ColdFusion:["cfm"],Crystal:["cr"],CSharp:["cs"],Csound_Document:["csd"],Csound_Orchestra:["orc"],Csound_Score:["sco"],CSS:["css"],Curly:["curly"],D:["d|di"],Dart:["dart"],Diff:["diff|patch"],Dockerfile:["^Dockerfile"],Dot:["dot"],Drools:["drl"],Edifact:["edi"],Eiffel:["e|ge"],EJS:["ejs"],Elixir:["ex|exs"],Elm:["elm"],Erlang:["erl|hrl"],Forth:["frt|fs|ldr|fth|4th"],Fortran:["f|f90"],FSharp:["fsi|fs|ml|mli|fsx|fsscript"],FSL:["fsl"],FTL:["ftl"],Gcode:["gcode"],Gherkin:["feature"],Gitignore:["^.gitignore"],Glsl:["glsl|frag|vert"],Gobstones:["gbs"],golang:["go"],GraphQLSchema:["gql"],Groovy:["groovy"],HAML:["haml"],Handlebars:["hbs|handlebars|tpl|mustache"],Haskell:["hs"],Haskell_Cabal:["cabal"],haXe:["hx"],Hjson:["hjson"],HTML:["html|htm|xhtml|vue|we|wpy"],HTML_Elixir:["eex|html.eex"],HTML_Ruby:["erb|rhtml|html.erb"],INI:["ini|conf|cfg|prefs"],Io:["io"],Jack:["jack"],Jade:["jade|pug"],Java:["java"],JavaScript:["js|jsm|jsx"],JSON:["json"],JSON5:["json5"],JSONiq:["jq"],JSP:["jsp"],JSSM:["jssm|jssm_state"],JSX:["jsx"],Julia:["jl"],Kotlin:["kt|kts"],LaTeX:["tex|latex|ltx|bib"],LESS:["less"],Liquid:["liquid"],Lisp:["lisp"],LiveScript:["ls"],LogiQL:["logic|lql"],LSL:["lsl"],Lua:["lua"],LuaPage:["lp"],Lucene:["lucene"],Makefile:["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],Markdown:["md|markdown"],Mask:["mask"],MATLAB:["matlab"],Maze:["mz"],MediaWiki:["wiki|mediawiki"],MEL:["mel"],MIXAL:["mixal"],MUSHCode:["mc|mush"],MySQL:["mysql"],Nginx:["nginx|conf"],Nim:["nim"],Nix:["nix"],NSIS:["nsi|nsh"],Nunjucks:["nunjucks|nunjs|nj|njk"],ObjectiveC:["m|mm"],OCaml:["ml|mli"],Pascal:["pas|p"],Perl:["pl|pm"],Perl6:["p6|pl6|pm6"],pgSQL:["pgsql"],PHP:["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],PHP_Laravel_blade:["blade.php"],Pig:["pig"],Powershell:["ps1"],Praat:["praat|praatscript|psc|proc"],Prisma:["prisma"],Prolog:["plg|prolog"],Properties:["properties"],Protobuf:["proto"],Puppet:["epp|pp"],Python:["py"],QML:["qml"],R:["r"],Razor:["cshtml|asp"],RDoc:["Rd"],Red:["red|reds"],RHTML:["Rhtml"],RST:["rst"],Ruby:["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],Rust:["rs"],SASS:["sass"],SCAD:["scad"],Scala:["scala|sbt"],Scheme:["scm|sm|rkt|oak|scheme"],SCSS:["scss"],SH:["sh|bash|^.bashrc"],SJS:["sjs"],Slim:["slim|skim"],Smarty:["smarty|tpl"],snippets:["snippets"],Soy_Template:["soy"],Space:["space"],SQL:["sql"],SQLServer:["sqlserver"],Stylus:["styl|stylus"],SVG:["svg"],Swift:["swift"],Tcl:["tcl"],Terraform:["tf","tfvars","terragrunt"],Tex:["tex"],Text:["txt"],Textile:["textile"],Toml:["toml"],TSX:["tsx"],Twig:["latte|twig|swig"],Typescript:["ts|typescript|str"],Vala:["vala"],VBScript:["vbs|vb"],Velocity:["vm"],Verilog:["v|vh|sv|svh"],VHDL:["vhd|vhdl"],Visualforce:["vfp|component|page"],Wollok:["wlk|wpgm|wtest"],XML:["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],XQuery:["xq"],YAML:["yaml|yml"],Zeek:["zeek|bro"],Django:["html"]}),a={ObjectiveC:"Objective-C",CSharp:"C#",golang:"Go",C_Cpp:"C and C++",Csound_Document:"Csound Document",Csound_Orchestra:"Csound",Csound_Score:"Csound Score",coffee:"CoffeeScript",HTML_Ruby:"HTML (Ruby)",HTML_Elixir:"HTML (Elixir)",FTL:"FreeMarker",PHP_Laravel_blade:"PHP (Blade Template)",Perl6:"Perl 6",AutoHotKey:"AutoHotkey / AutoIt"},l={};for(s in r){var h=r[s],c=(a[s]||s).replace(/_/g," "),u=s.toLowerCase(),c=new n(u,c,h[0]);o.push(l[u]=c)}i.exports={getModeForPath:function(e){for(var t=l.text,i=e.split(/[\/\\]/).pop(),n=0;n{var e,t,i=function(){return this}(),s=(i||"undefined"==typeof window||(i=window),function(e,t,i){"string"!=typeof e?s.original?s.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace()):(2==arguments.length&&(i=t),s.modules[e]||(s.payloads[e]=i,s.modules[e]=null))}),o=(s.modules={},s.payloads={},function(e,t,i){if("string"==typeof t){var n=h(e,t);if(null!=n)return i&&i(),n}else if("[object Array]"===Object.prototype.toString.call(t)){for(var s=[],o=0,r=t.length;o{var e,t,i={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t in i.FUNCTION_KEYS)e=i.FUNCTION_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);for(t in i.PRINTABLE_KEYS)e=i.PRINTABLE_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);o.mixin(i,i.MODIFIER_KEYS),o.mixin(i,i.PRINTABLE_KEYS),o.mixin(i,i.FUNCTION_KEYS),i.enter=i.return,i.escape=i.esc,i.del=i.delete,i[173]="-";for(var n=["cmd","ctrl","alt","shift"],s=Math.pow(2,n.length);s--;)i.KEY_MODS[s]=n.filter(function(e){return s&i.KEY_MODS[e]}).join("-")+"-";return i.KEY_MODS[0]="",i.KEY_MODS[-1]="input-",i})();o.mixin(t,n),t.keyCodeToString=function(e){var t=n[e];return(t="string"!=typeof t?String.fromCharCode(e):t).toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,u,t){function s(){if(null==i){i=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){i={passive:!1}}})}catch(e){}}return i}function o(e,t,i){this.elem=e,this.type=t,this.callback=i}function r(e,t,i){var n=l(t);if(!d.isMac&&g){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(n|=8),g.altGr){if(3==(3&n))return;g.altGr=0}18!==i&&17!==i||(s="location"in t?t.location:t.keyLocation,17===i&&1===s?1==g[i]&&(f=t.timeStamp):18===i&&3===n&&2===s&&t.timeStamp-f<50&&(g.altGr=!0))}if(i in c.MODIFIER_KEYS&&(i=-1),!n&&13===i){var s="location"in t?t.location:t.keyLocation;if(3===s&&(e(t,n,-i),t.defaultPrevented))return}if(d.isChromeOS&&8&n){if(e(t,n,i),t.defaultPrevented)return;n&=-9}return!!(n||i in c.FUNCTION_KEYS||i in c.PRINTABLE_KEYS)&&e(t,n,i)}function a(){g=Object.create(null)}function l(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}var i,h,c=e("./keys"),d=e("./useragent"),g=null,f=0,m=(o.prototype.destroy=function(){p(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0},u.addListener=function(e,t,i,n){e.addEventListener(t,i,s()),n&&n.$toDestroy.push(new o(e,t,i))}),p=u.removeListener=function(e,t,i){e.removeEventListener(t,i,s())};u.stopEvent=function(e){return u.stopPropagation(e),u.preventDefault(e),!1},u.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},u.preventDefault=function(e){e.preventDefault&&e.preventDefault()},u.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||d.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},u.capture=function(e,t,i){function n(e){t&&t(e),i&&i(e),p(s,"mousemove",t),p(s,"mouseup",n),p(s,"dragstart",n)}var s=e&&e.ownerDocument||document;return m(s,"mousemove",t),m(s,"mouseup",n),m(s,"dragstart",n),n},u.addMouseWheelListener=function(e,t,i){"onmousewheel"in e?m(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),t(e)},i):"onwheel"in e?m(e,"wheel",function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}t(e)},i):m(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),t(e)},i)},u.addMultiMouseDownListener=function(e,i,n,s,t){function o(e){var t;if(0!==u.getButton(e)?h=0:1 ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t=e.end,e=e.start,t=this.compare(t.row,t.column);return 1==t?1==(t=this.compare(e.row,e.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(e.row,e.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){e=this.compareRange(e);return-1==e||0==e||1==e},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)&&!this.isStart(e,t)},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row!==e||t<=this.end.column?0:1:tthis.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){var i,n;return this.end.row>t?i={row:t+1,column:0}:this.end.rowt?n={row:t+1,column:0}:this.start.row>=1)&&(e+=e);return i};var n=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(s,"")},t.copyObject=function(e){var t,i={};for(t in e)i[t]=e[t];return i},t.copyArray=function(e){for(var t=[],i=0,n=e.length;iDate.now()-50)||(n=!1)},cancel:function(){n=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,i){var B=e("../lib/event"),H=e("../lib/useragent"),P=e("../lib/dom"),N=e("../lib/lang"),z=e("../clipboard"),V=H.isChrome<18,U=H.isIE,K=63e+1?t.length:n,n+=s.length+1,s=s+"\n"+t):X&&0=p.length&&e.value===p&&p&&e.selectionEnd!==v}),y=null,C=(this.setInputHandler=function(e){y=e},!(this.getInputHandler=function(){return y})),S=function(e,t){if(C=C&&!1,g)return b(),e&&u.onPaste(e),g=!1,"";for(var i=d.selectionStart,n=d.selectionEnd,s=w,o=p.length-v,r=e,a=e.length-i,l=e.length-n,h=0;0w-1&&p[p.length-h]==e[e.length-h];)h++,o--;a-=h-1,l-=h-1;var c=r.length-h+1;return c<0&&(s=-c,c=0),r=r.slice(0,c),t||r||a||s||o||l?(c=!(f=!0),H.isAndroid&&". "==r&&(r=" ",c=!0),r&&!s&&!o&&!a&&!l||m?u.onTextInput(r):u.onTextInput(r,{extendLeft:s,extendRight:o,restoreStart:a,restoreEnd:l}),f=!1,p=e,w=i,v=n,$=l,c?"\n":r):""},x=function(e){if(r)return L();if(e&&e.inputType){if("historyUndo"==e.inputType)return u.execCommand("undo");if("historyRedo"==e.inputType)return u.execCommand("redo")}var e=d.value,t=S(e,!0);(500this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var e=e.getDocumentPosition(),t=this.editor,i=t.session.getBracketRange(e);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=t.selection.getWordRange(e.row,e.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var e=e.getDocumentPosition(),t=this.editor,i=(this.setState("selectByLines"),t.getSelectionRange());i.isMultiLine()&&i.contains(e.row,e.column)?(this.$clickSelection=t.selection.getLineRange(i.start.row),this.$clickSelection.end=t.selection.getLineRange(i.end.row).end):this.$clickSelection=t.selection.getLineRange(e.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){var t,i,n,s,o,r,a;if(!e.getAccelKey())return e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0),t=this.editor,this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0}),i=this.$lastScroll,s=(a=(n=e.domEvent.timeStamp)-i.t)?e.wheelX/a:i.vx,o=a?e.wheelY/a:i.vy,a<550&&(s=(s+i.vx)/2,o=(o+i.vy)/2),a=!1,1<=(r=Math.abs(s/o))&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(a=!0),(a=r<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)?!0:a)?i.allowed=n:n-i.allowed<550&&(Math.abs(s)<=1.5*Math.abs(i.vx)&&Math.abs(o)<=1.5*Math.abs(i.vy)?(a=!0,i.allowed=n):i.allowed=0),i.t=n,i.vx=s,i.vy=o,a?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}).call(n.prototype),t.DefaultHandlers=n}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,i){function n(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}e("./lib/oop");var s=e("./lib/dom");(function(){this.$init=function(){return this.$element=s.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){s.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(n.prototype),t.Tooltip=n}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,i){function u(e){r.call(this,e)}var d=e("../lib/dom"),n=e("../lib/oop"),g=e("../lib/event"),r=e("../tooltip").Tooltip;n.inherits(u,r),function(){this.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),o=this.getHeight();i<(e+=15)+s&&(e-=e+s-i),n<(t+=15)+o&&(t-=20+o),r.prototype.setPosition.call(this,e,t)}}.call(u.prototype),t.GutterHandler=function(n){function s(){i=i&&clearTimeout(i),a&&(c.hide(),a=null,l._signal("hideGutterTooltip",c),l.off("mousewheel",s))}function o(e){c.setPosition(e.x,e.y)}var i,r,a,l=n.editor,h=l.renderer.$gutterLayer,c=new u(l.container);n.editor.setDefaultHandler("guttermousedown",function(e){if(l.isFocused()&&0==e.getButton()){var t=h.getRegion(e);if("foldWidgets"!=t){var t=e.getDocumentPosition().row,i=l.session.selection;if(e.getShiftKey())i.selectTo(t,0);else{if(2==e.domEvent.detail)return l.selectAll(),e.preventDefault();n.$clickSelection=l.selection.getLineRange(t)}return n.setState("selectByLines"),n.captureMouse(e),e.preventDefault()}}}),n.editor.setDefaultHandler("guttermousemove",function(e){var t=e.domEvent.target||e.domEvent.srcElement;if(d.hasCssClass(t,"ace_fold-widget"))return s();a&&n.$tooltipFollowsMouse&&o(e),r=e,i=i||setTimeout(function(){i=null,(r&&!n.isMousePressed?()=>{var e=r.getDocumentPosition().row,t=h.$annotations[e];if(!t)return s();if(e==l.session.getLength()){var e=l.renderer.pixelToScreenCoordinates(0,r.y).row,i=r.$pos;if(e>l.session.documentToScreenRow(i.row,i.column))return s()}a!=t&&(a=t.text.join("
"),c.setHtml(a),c.show(),l._signal("showGutterTooltip",c),l.on("mousewheel",s),n.$tooltipFollowsMouse?o(r):(e=r.domEvent.target.getBoundingClientRect(),(i=c.getElement().style).left=e.right+"px",i.top=e.bottom+"px"))}:s)()},50)}),g.addListener(l.renderer.$gutter,"mouseout",function(e){r=null,a&&(i=i||setTimeout(function(){i=null,s()},50))},l),l.on("changeSession",s)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){var n=e("../lib/event"),s=e("../lib/useragent"),e=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};!function(){this.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){var e,t;return null===this.$inSelection&&((e=this.editor.getSelectionRange()).isEmpty()?this.$inSelection=!1:(t=this.getDocumentPosition(),this.$inSelection=e.contains(t.row,t.column))),this.$inSelection},this.getButton=function(){return n.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=s.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}.call(e.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){function n(t){function e(){var e,t,i,n,s,o,r,a,l=d;d=v.renderer.screenToTextCoordinates(h,c),s=d,o=l,r=Date.now(),a=!o||s.row!=o.row,o=!o||s.column!=o.column,!p||a||o?(v.moveCursorToPosition(s),p=r,w={x:h,y:c}):5this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=(e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging"),A.isWin?"default":"move");e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;A.isIE&&"dragReady"==this.state&&3i&&(f=-1),d=e.clientX=r,g=e.clientY=o,C=S=0,new x(e,c));if(w=r.getDocumentPosition(),s-f<500&&1==t.length&&!b)y++,e.preventDefault(),e.button=0,p=null,clearTimeout(p),c.selection.moveToPosition(w),(o=2<=y?c.selection.getLineRange(w.row):c.session.getBracketRange(w))&&!o.isEmpty()?c.selection.setRange(o):c.selection.selectWord(),$="wait";else{y=0;var r=c.selection.cursor,t=c.selection.isEmpty()?r:c.selection.anchor,o=c.renderer.$cursorLayer.getPixelPosition(r,!0),r=c.renderer.$cursorLayer.getPixelPosition(t,!0),t=c.renderer.scroller.getBoundingClientRect(),a=c.renderer.layerConfig.offset,l=c.renderer.scrollLeft,h=function(e,t){return(e/=n)*e+(t=t/i-.75)*t};if(e.clientX{var s,o,r,a=t[n];switch(a){case C:case S:w=!1;case A:case k:return a;case x:return w?k:x;case M:return w=!0,S;case E:return A;case T:return n<1||n+1>=t.length||(s=i[n-1])!=x&&s!=k||(l=t[n+1])!=x&&l!=k?A:(l=w?k:l)==s?l:A;case _:return(s=0=e){for(n=l+1;n=e;)n++;for(s=l,o=n-1;s>8;return 0==i?191M&&t[a]t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var i=t?e.end:e.start,t=t?e.start:e.end;this.$setSelection(i.row,i.column,t.row,t.column)},this.$setSelection=function(e,t,i,n){var s,o;!this.$silent&&(s=this.$isEmpty,o=this.inMultiSelectMode,this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(i,n),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),this.$cursorChanged||this.$anchorChanged||s!=this.$isEmpty||o)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){var i;return void 0===t&&(e=(i=e||this.lead).row,t=i.column),this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),e=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(e)},this.getLineRange=function(e,t){var e="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(e),i=i?(e=i.start.row,i.end.row):e;return!0===t?new a(e,0,i,this.session.getLine(i).length):new a(e,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,s=e.column+t;return i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();(e=this.session.getFoldAt(t.row,t.column,-1))?this.moveCursorTo(e.start.row,e.start.column):0===t.column?0=i.length?(this.moveCursorTo(e,i.length),this.moveCursorRight(),eh&&(d=e.substring(h,p-m.length),u.type==g?u.value+=d:(u.type&&l.push(u),u={type:g,value:d}));for(var w=0;wv){for(c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});h=this.$rowTokens.length;){if(this.$row+=1,e=e||this.$session.getLength(),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0===i)for(i=0;0e.length&&(b=e.length)}),l==1/0&&(l=b,a=r=!1),c&&l%h!=0&&(l=Math.floor(l/h)*h),t(a?u:g)},this.toggleBlockComment=function(e,t,i,n){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var o,r,a=(d=new m(t,n.row,n.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(;a&&/comment/.test(a.type);){if(-1!=(g=a.value.indexOf(s.start))){var h=d.getCurrentTokenRow(),c=d.getCurrentTokenColumn()+g,u=new p(h,c,h,c+s.start.length);break}a=d.stepBackward()}for(var d,g,a=(d=new m(t,n.row,n.column)).getCurrentToken();a&&/comment/.test(a.type);){if(-1!=(g=a.value.indexOf(s.end))){var h=d.getCurrentTokenRow(),c=d.getCurrentTokenColumn()+g,f=new p(h,c,h,c+s.end.length);break}a=d.stepForward()}f&&t.remove(f),u&&(t.remove(u),o=u.start.row,r=-s.start.length)}else r=s.start.length,o=i.start.row,t.insert(i.end,s.end),t.insert(i.start,s.start);l.start.row==o&&(l.start.column+=r),l.end.row==o&&(l.end.column+=r),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var n in this.$embeds=[],this.$modes={},e){var t,i,s;e[n]&&(i=(t=e[n]).prototype.$id,(s=r.$modes[i])||(r.$modes[i]=s=new t),r.$modes[n]||(r.$modes[n]=s),this.$embeds.push(n),this.$modes[n]=s)}for(var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],n=0;n{var t=o[n],i=e[t];e[o[n]]=function(){return this.$delegator(t,arguments,i)}})(this)},this.$delegator=function(e,t,i){var n=t[0]||"start";if("string"!=typeof n){if(Array.isArray(n[2])){var s=n[2][n[2].length-1];if(r=this.$modes[s])return r[e].apply(r,[n[1]].concat([].slice.call(t,1)))}n=n[0]||"start"}for(var o=0;othis.row||(e=e,t={row:this.row,column:this.column},i=this.$insertRight,n=((r="insert"==e.action)?1:-1)*(e.end.row-e.start.row),s=(r?1:-1)*(e.end.column-e.start.column),o=e.start,r=r?o:e.end,e=a(t,o,i)?{row:t.row,column:t.column}:a(r,t,!i)?{row:t.row+n,column:t.column+(t.row==r.row?s:0)}:{row:o.row,column:o.column},this.setPosition(e.row,e.column,!0))},this.setPosition=function(e,t,i){i=i?{row:e,column:t}:this.$clipPositionToDocument(e,t);this.row==i.row&&this.column==i.column||(e={row:this.row,column:this.column},this.row=i.row,this.column=i.column,this._signal("change",{old:e,value:i}))},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):e<0?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}.call(e.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,i){function n(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}var s=e("./lib/oop"),o=e("./apply_delta").applyDelta,r=e("./lib/event_emitter").EventEmitter,a=e("./range").Range,l=e("./anchor").Anchor;(function(){s.implement(this,r),this.setValue=function(e){var t=this.getLength()-1;this.remove(new a(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new l(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){e=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=e?e[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t,i;return e.start.row===e.end.row?t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)]:((t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column),i=t.length-1,e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))),t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),e=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:e,action:"insert",lines:[t]},!0),this.clonePos(e)},this.clippedPos=function(e,t){var i=this.getLength(),i=(void 0===e?e=i:e<0?e=0:i<=e&&(e=i-1,t=void 0),this.getLine(e));return null==t&&(t=i.length),{row:e,column:t=Math.min(Math.max(t,0),i.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var i=0,i=(e=Math.min(Math.max(e,0),this.getLength()))e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=t.tokens}}).call(n.prototype),t.BackgroundTokenizer=n}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,i){function n(e,t,i){this.setRegexp(e),this.clazz=t,this.type=i||"text"}var h=e("./lib/lang"),c=(e("./lib/oop"),e("./range").Range);(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,i,n){if(this.regExp)for(var s=n.firstRow,o=n.lastRow,r=s;r<=o;r++){var a=this.cache[r];null==a&&(a=(a=(a=h.getMatchOffsets(i.getLine(r),this.regExp)).length>this.MAX_RANGES?a.slice(0,this.MAX_RANGES):a).map(function(e){return new c(r,e.offset,r,e.offset+e.length)}),this.cache[r]=a.length?a:"");for(var l=a.length;l--;)t.drawSingleLineMarker(e,a[l].toScreenRange(i),this.clazz,n)}}}).call(n.prototype),t.SearchHighlight=n}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,i){function s(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];e=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,e.end.row,e.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("../range").Range;(function(){this.shiftRow=function(t){this.start.row+=t,this.end.row+=t,this.folds.forEach(function(e){e.start.row+=t,e.end.row+=t})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),0=this.start.row&&e<=this.end.row},this.walk=function(e,t,i){var n,s,o=0,r=this.folds,a=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;lt||i[i.length-1].start.row=n);r++);if("insert"==e.action)for(var l=s-n,h=-t.column+i.column;rn)break;c.start.row==n&&c.start.column>=t.column&&(c.start.column==t.column&&this.$bias<=0||(c.start.column+=h,c.start.row+=l)),c.end.row==n&&c.end.column>=t.column&&(c.end.column==t.column&&this.$bias<0||(c.end.column==t.column&&0c.start.column&&c.end.column==o[r+1].start.column&&(c.end.column-=h),c.end.column+=h,c.end.row+=l))}else for(var c,l=n-s,h=t.column-i.column;rs)break;c.end.rowt.column)&&(c.end.column=t.column,c.end.row=t.row):(c.end.column+=h,c.end.row+=l):c.end.row>s&&(c.end.row+=l),c.start.rowt.column)&&(c.start.column=t.column,c.start.row=t.row):(c.start.column+=h,c.start.row+=l):c.start.row>s&&(c.start.row+=l)}if(0!=l&&r=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(-1==(n=t?i.indexOf(t):n)&&(n=0);n=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,s=0;sa)break}while(s&&r.test(s.type));s=n.stepBackward()}else s=n.getCurrentToken();return o.end.row=n.getCurrentTokenRow(),o.end.column=n.getCurrentTokenColumn()+s.value.length-2,o}},this.foldAll=function(e,t,i,n){null==i&&(i=1e5);var s=this.foldWidgets;if(s){t=t||this.getLength();for(var o,r=e=e||0;r=e&&(r=o.end.row,o.collapseChildren=i,this.addFold("...",o))}},this.foldToLevel=function(e){for(this.foldAll();0=e)break}n--}return{range:-1!==n&&o,firstRange:r}},this.onFoldWidgetClick=function(e,t){var i={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};this.$toggleFoldWidget(e,i)||(e=t.target||t.srcElement)&&/ace_fold-widget/.test(e.className)&&(e.className+=" ace_invalid")},this.$toggleFoldWidget=function(e,t){var i,n,s,o;if(this.getFoldWidget)return i=this.getFoldWidget(e),n=this.getLine(e),(n=this.getFoldAt(e,-1==(i="end"===i?-1:1)?0:n.length,i))?(t.children||t.all?this.removeFold(n):this.expandFold(n),n):(i=this.getFoldWidgetRange(e,!0))&&!i.isMultiLine()&&(n=this.getFoldAt(i.start.row,i.start.column,1))&&i.isEqual(n.range)?(this.removeFold(n),n):(t.siblings?((n=this.getParentFoldRangeData(e)).range&&(s=n.range.start.row+1,o=n.range.end.row),this.foldAll(s,o,t.all?1e4:0)):t.children?(o=i?i.end.row:this.getLength(),this.foldAll(e+1,o,t.all?1e4:0)):i&&(t.all&&(i.collapseChildren=1e4),this.addFold("...",i)),i)},this.toggleFoldWidget=function(e){var t,i=this.selection.getCursor().row;i=this.getRowFoldStart(i),!this.$toggleFoldWidget(i,{})&&(t=(t=this.getParentFoldRangeData(i,!0)).range||t.firstRange)&&(i=t.start.row,(i=this.getFoldAt(i,this.getLine(i).length,1))?this.removeFold(i):this.addFold("...",t))},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;0==i?this.foldWidgets[t]=null:"remove"==e.action?this.foldWidgets.splice(t,1+i,null):((e=Array(1+i)).unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,e))},this.tokenizerUpdateFoldWidgets=function(e){e=e.data;e.first!=e.last&&this.foldWidgets.length>e.first&&this.foldWidgets.splice(e.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,i){var u=e("../token_iterator").TokenIterator,a=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){return 0!=e.column&&""!=(t=t||this.getLine(e.row).charAt(e.column-1))&&(t=t.match(/([\(\[\{])|([\)\]\}])/))?t[1]?this.$findClosingBracket(t[1],e):this.$findOpeningBracket(t[2],e):null},this.getBracketRange=function(e){var t,i,n=this.getLine(e.row),s=!0,o=n.charAt(e.column-1),r=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(r||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},r=o&&o.match(/([\(\[\{])|([\)\]\}])/),s=!1),!r)return null;if(r[1]){if(!(i=this.$findClosingBracket(r[1],e)))return null;t=a.fromPoints(e,i),s||(t.end.column++,t.start.column--),t.cursor=t.end}else{if(!(i=this.$findOpeningBracket(r[2],e)))return null;t=a.fromPoints(i,e),s||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(e){var t=this.getLine(e.row),i=t.charAt(e.column-1),n=i&&i.match(/([\(\[\{])|([\)\]\}])/);return n||(i=t.charAt(e.column),e={row:e.row,column:e.column+1},n=i&&i.match(/([\(\[\{])|([\)\]\}])/)),n?(t=new a(e.row,e.column-1,e.row,e.column),(i=n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e))?[t,new a(i.row,i.column,i.row,i.column+1)]:[t]):null},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r=r||o.stepForward()){i=i||new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+");for(var a=t.column-o.getCurrentTokenColumn()-2,l=r.value;;){for(;0<=a;){var h=l.charAt(a);if(h==n){if(0==--s)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else h==e&&(s+=1);--a}for(;(r=o.stepBackward())&&!i.test(r.type););if(null==r)break;a=(l=r.value).length-1}return null}},this.$findClosingBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r=r||o.stepForward()){i=i||new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+");for(var a=t.column-o.getCurrentTokenColumn();;){for(var l=r.value,h=l.length;a>1,o=e[s];if(ot&&(t=e.screenWidth)}),this.lineWidgetWidth=t)},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,s=0,o=this.$foldData[s],r=o?o.start.row:1/0,a=t.length,l=0;ln&&(n=i[l])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;ie.end.column&&(t.start.column+=o),t.end.row==e.end.row)&&t.end.column>e.end.column&&(t.end.column+=o),s&&t.start.row>=e.end.row&&(t.start.row+=s,t.end.row+=s)),t.end=this.insert(t.start,r),a.length&&(n=e.start,i=t.start,s=i.row-n.row,o=i.column-n.column,this.addFolds(a.map(function(e){return(e=e.clone()).start.row==n.row&&(e.start.column+=o),e.end.row==n.row&&(e.end.column+=o),e.start.row+=s,e.end.row+=s,e}))),t},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new u(0,0,0,0),n=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var o=this.getLine(s);i.start.row=s,i.end.row=s;for(var r=0;rthis.doc.getLength()-1)return 0;n=s-t}else{e=this.$clipRowToDocument(e);n=(t=this.$clipRowToDocument(t))-e+1}var s=new u(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(s).map(function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e}),i=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,i),s.length&&this.addFolds(s),n},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){var i;return t=Math.max(0,t),t=e<0?e=0:(i=this.doc.getLength())<=e?this.doc.getLine(e=i-1).length:Math.min(this.doc.getLine(e).length,t),{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){e!=this.$useWrapMode&&(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e&&(e=this.getLength(),this.$wrapData=Array(e),this.$updateWrapData(0,e-1)),this._signal("changeWrapMode"))},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange,t=(i.max<0&&(i={min:t,max:t}),this.$constrainWrapLimit(e,i.min,i.max));return t!=this.$wrapLimit&&1=s.row&&g.shiftRow(-a);r=o}else{var u=Array(a),d=(u.unshift(o,0),t?this.$wrapData:this.$rowLengthCache),h=(d.splice.apply(d,u),this.$foldData),c=0;for((g=this.getFoldLine(o))&&(0==(d=g.range.compareInside(n.row,n.column))?(g=g.split(n.row,n.column))&&(g.shiftRow(a),g.addRemoveChars(r,0,s.column-n.column)):-1==d&&(g.addRemoveChars(o,0,s.column-n.column),g.shiftRow(a)),c=h.indexOf(g)+1);c=o&&g.shiftRow(a)}else{var g,a=Math.abs(e.start.column-e.end.column);"remove"===i&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a),(g=this.getFoldLine(o))&&g.addRemoveChars(o,n.column,a)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,r):this.$updateRowLengthCache(o,r),l},this.$updateRowLengthCache=function(e,t,i){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r,i,a=this.doc.getAllLines(),n=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,l=e;for(t=Math.min(t,a.length-1);l<=t;)(i=this.getFoldLine(l,i))?(r=[],i.walk(function(e,t,i,n){var s;if(null!=e){(s=this.$getDisplayTokens(e,r.length))[0]=f;for(var o=1;o{var e=0;if(0===u)return e;if(c)for(var t=0;t>2)),a-1);gc[d-1]):!d,this.getLength()-1),f=this.getNextFoldLine(r),m=f?f.start.row:1/0;l<=e&&!(ea[h-1]):!h,this.getNextFoldLine(r)),u=c?c.start.row:1/0;r=g[f];)n++,f++;d=d.substring(g[f-1]||0,d.length),l=0u||(s.push(r=new $(h,u,h+a-1,d)),2w&&s[c].end.row==i.end.row;)c--;for(s=s.slice(g,c+1),g=0,c=s.length;g=s.length)break;u.lastIndex=a+=1}if(t=n.length))return!1}},{forEach:a?function(e){var t=n.row;if(!r(t,n.column,e)){for(t--;s<=t;t--)if(r(t,Number.MAX_VALUE,e))return;if(0!=i.wrap)for(t=o,s=n.row;s<=t;t--)if(r(t,Number.MAX_VALUE,e))return}}:function(e){var t=n.row;if(!r(t,n.column,e)){for(t+=1;t<=o;t++)if(r(t,0,e))return;if(0!=i.wrap)for(t=s,o=n.row;t<=o;t++)if(r(t,0,e))return}}})}}).call(n.prototype),t.Search=n}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,i){function n(e,t){this.platform=t||(o.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){n.call(this,e,t),this.$singleCommand=!1}var a=e("../lib/keys"),o=e("../lib/useragent"),l=a.KEY_MODS;s.prototype=n.prototype,function(){function r(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),(this.commands[e.name]=e).bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var i,n=e&&("string"==typeof e?e:e.name),s=(e=this.commands[n],t||delete this.commands[n],this.commandKeyBinding);for(i in s){var o,r=s[i];r==e?delete s[i]:Array.isArray(r)&&-1!=(o=r.indexOf(e))&&(r.splice(o,1),1==r.length)&&(s[i]=r[0])}},this.bindKey=function(e,n,s){if("object"==typeof e&&e&&(null==s&&(s=e.position),e=e[this.platform]),e)return"function"==typeof n?this.addCommand({exec:n,bindKey:e,name:n.name||e}):void e.split("|").forEach(function(e){var t="",i=(-1!=e.indexOf(" ")&&(e=(i=e.split(/\s+/)).pop(),i.forEach(function(e){e=this.parseKeys(e),e=l[e.hashId]+e.key;t+=(t?" ":"")+e,this._addCommandToBinding(t,"chainKeys")},this),t+=" "),this.parseKeys(e)),e=l[i.hashId]+i.key;this._addCommandToBinding(t+e,n,s)},this)},this._addCommandToBinding=function(e,t,i){var n=this.commandKeyBinding;if(t)if(!n[e]||this.$singleCommand)n[e]=t;else{Array.isArray(n[e])?-1!=(o=n[e].indexOf(t))&&n[e].splice(o,1):n[e]=[n[e]],"number"!=typeof i&&(i=r(t));for(var s=n[e],o=0;ot?t+1:t,e.selection.moveCursorTo(i.row,t))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:n(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,n=e.selection.rangeList.ranges,s=[];n.length<1&&(n=[e.selection.getRange()]);for(var o=0;o=n.lastRow||i.end.row<=n.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==t&&this.renderer.animateScrolling(this.curOp.scrollTop)}e=this.selection.toJSON();this.curOp.selectionAfter=e,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(e),this.prevOp=this.curOp,this.curOp=null}}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){var t,i,n,s;this.$mergeUndoDeltas&&(t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name,"insertstring"==e.command.name?(s=e.args,void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0):n=n&&-1!==i.indexOf(e.command.name),(n="always"!=this.$mergeUndoDeltas&&2e3"===n.value&&a--),n&&0<=a;);else{do{if(n=l,l=i.stepBackward(),n)if(-1!==n.type.indexOf("tag-name"))o===n.value&&("<"===l.value?a++:""===n.value){for(var h=0,c=l;c;){if(-1!==c.type.indexOf("tag-name")&&c.value===o){a--;break}if("<"===c.value)break;c=i.stepBackward(),h++}for(var u=0;ua.search(/\S|$/)&&(t=a.substr(o.column).search(/\S|$/),n.doc.removeInLine(o.row,o.column,o.column+t))),this.clearSelection(),o.column),t=n.getState(o.row),a=n.getLine(o.row),l=s.checkOutdent(t,a,e);n.insert(o,e),i&&i.selection&&(2==i.selection.length?this.selection.setSelectionRange(new p(o.row,r+i.selection[0],o.row,r+i.selection[1])):this.selection.setSelectionRange(new p(o.row+i.selection[0],i.selection[1],o.row+i.selection[2],i.selection[3]))),this.$enableAutoIndent&&(n.getDocument().isNewLine(e)&&(r=s.getNextLineIndent(t,a.slice(0,o.column),n.getTabString()),n.insert({row:o.row+1,column:0},r)),l)&&s.autoOutdent(t,n,o.row)},this.autoIndent=function(){for(var e,t,i,n,s,o=this.session,r=o.getMode(),a=(i=this.selection.isEmpty()?(t=0,o.doc.getLength()-1):(t=(e=this.getSelectionRange()).start.row,e.end.row),""),l="",h=o.getTabString(),c=t;c<=i;c++)0t.toLowerCase()?1:0});for(var s=new p(0,0,0,0),n=e.first;n<=e.last;n++){var o=t.getLine(n);s.start.row=n,s.end.row=n,s.end.column=o.length,t.replace(s,i[n-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},this.getNumberAt=function(e,t){for(var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g,n=(i.lastIndex=0,this.session.getLine(e));i.lastIndex=t)return{value:s[0],start:s.index,end:s.index+s[0].length}}return null},this.modifyNumber=function(e){var t,i,n,s=this.selection.getCursor().row,o=this.selection.getCursor().column,r=new p(s,o-1,s,o),r=this.session.getTextRange(r);!isNaN(parseFloat(r))&&isFinite(r)?(r=this.getNumberAt(s,o))&&(n=0<=r.value.indexOf(".")?r.start+r.value.indexOf(".")+1:r.end,t=r.start+r.value.length-n,i=parseFloat(r.value),i*=Math.pow(10,t),n!==r.end&&og+1)break;g=f.last}for(c--,a=this.session.$moveLines(d,g,t?0:e),t&&-1==e&&(u=c+1);u<=c;)r[u].moveBy(a,0),u++;l+=a=t?a:0}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,s=e*Math.floor(n.height/n.lineHeight),e=(!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(s,0)}):!1===t&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection()),i.scrollTop);i.scrollBy(0,s*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(e)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},this.centerSelection=function(){var e=this.getSelectionRange(),e={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(e,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new $(this.session,i.row,i.column),s=n.getCurrentToken(),o=s||n.stepForward();if(o){var r,a,l,h=!1,c={},u=i.column-o.start,d={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;uwindow.innerHeight)&&null)&&(r.style.top=i+"px",r.style.left=e.left+"px",r.style.height=t.lineHeight+"px",r.scrollIntoView(o)),o=n=null)}),this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",t),this.renderer.off("afterRender",a),this.renderer.off("beforeRender",i))})},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,n.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},this.prompt=function(t,i,n){var s=this;v.loadModule("./ext/prompt",function(e){e.prompt(s,t,i,n)})}}.call(s.prototype),v.defineOptions(s.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?y.attach(this):y.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?y.attach(this):y.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.getValue());e&&this.renderer.placeholderNode?(this.renderer.off("afterRender",this.$updatePlaceholder),n.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null):e||this.renderer.placeholderNode?!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||""):(this.renderer.on("afterRender",this.$updatePlaceholder),n.addCssClass(this.container,"ace_hasPlaceholder"),(e=n.createElement("div")).className="ace_placeholder",e.textContent=this.$placeholder||"",this.renderer.placeholderNode=e,this.renderer.content.appendChild(this.renderer.placeholderNode))}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),{getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,i){return Math.max(t.toString().length,(i.lastRow+1).toString().length,2)*i.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}});t.Editor=s}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,i){function s(e,t){for(var i=t;i--;){var n=e[i];if(n&&!n[0].ignore){for(;i{for(var i=e.length;i--;)for(var n=0;n"+e.end.row+":"+e.end.column}function r(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)if(0<=f(t.start,e.end))l(t,e,-1);else{if(!(f(t.start,e.start)<=0))return;l(e,t,1)}else if(i&&!n)if(0<=f(t.start,e.end))l(t,e,-1);else{if(!(f(t.end,e.start)<=0))return;l(e,t,-1)}else if(!i&&n)if(0<=f(t.start,e.start))l(t,e,1);else{if(!(f(t.start,e.start)<=0))return;l(e,t,1)}else if(!i&&!n)if(0<=f(t.start,e.start))l(t,e,1);else{if(!(f(t.end,e.start)<=0))return;l(e,t,-1)}return 1}function l(e,t,i){h(e.start,t.start,t.end,i),h(e.end,t.start,t.end,i)}function h(e,t,i,n){e.row==(1==n?t:i).row&&(e.column+=n*(i.column-t.column)),e.row+=n*(i.row-t.row)}function c(e,t){var i=e.lines,n=e.end,s=(e.end=a(t),e.end.row-e.start.row),o=i.splice(s,i.length),s=s?t.column:t.column-e.start.column;return i.push(o[0].substring(0,s)),o[0]=o[0].substr(s),{start:a(t),end:n,lines:o,action:e.action}}function u(e,t){var i;t={start:a((i=t).start),end:a(i.end),action:i.action,lines:i.lines.slice()};for(var n=e.length;n--;){for(var s=e[n],o=0;o{var i,n,s="insert"==e.action,o="insert"==t.action;if(s&&o)f(e.start,t.start)<0?l(t,e,1):l(e,t,1);else if(s&&!o)0<=f(e.start,t.end)?l(e,t,-1):(f(e.start,t.start)<=0||l(e,g.fromPoints(t.start,e.start),-1),l(t,e,1));else if(!s&&o)0<=f(t.start,e.end)?l(t,e,-1):(f(t.start,e.start)<=0||l(t,g.fromPoints(e.start,t.start),-1),l(e,t,1));else if(!s&&!o)if(0<=f(t.start,e.end))l(t,e,-1);else{if(!(f(t.end,e.start)<=0))return f(e.start,t.start)<0&&(e=c(i=e,t.start)),0a+1;)this.$lines.pop();break}(r=this.$lines.get(++a))?r.row=l:(r=this.$lines.createCell(l,e,this.session,h),this.$lines.push(r)),this.$renderCell(r,e,s,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,i=t.gutterRenderer||this.$renderer,n=t.$firstLineNumber,s=this.$lines.last()?this.$lines.last().text:"",n=((this.$fixedWidth||t.$useWrapMode)&&(s=t.getLength()+n-1),i?i.getWidth(t,s,e):s.toString().length*e.characterWidth),i=this.$padding||this.$computePadding();(n+=i.left+i.right)===this.gutterWidth||isNaN(n)||(this.gutterWidth=n,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",n))},this.$updateCursorRow=function(){var e;this.$highlightGutterLine&&(e=this.session.selection.getCursor(),this.$cursorRow!==e.row)&&(this.$cursorRow=e.row)},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var i=0;i=this.$cursorRow){if(n.row>this.$cursorRow){var s=this.session.getFoldLine(this.$cursorRow);if(!(0i.right-t.right?"foldWidgets":void 0}}).call(n.prototype),t.Gutter=n}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,i){function n(e){this.element=s.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}var g=e("../range").Range,s=e("../lib/dom");(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var i=-1!=this.i&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=e},this.update=function(e){if(e){var t,i;for(i in this.config=e,this.i=0,this.markers){var n,s,o,r=this.markers[i];r.range?(o=r.range.clipRows(e.firstRow,e.lastRow)).isEmpty()||(o=o.toScreenRange(this.session),r.renderer?(n=this.$getTop(o.start.row,e),s=this.$padding+o.start.column*e.characterWidth,r.renderer(t,o,s,n,e)):"fullLine"==r.type?this.drawFullLineMarker(t,o,r.clazz,e):"screenLine"==r.type?this.drawScreenLineMarker(t,o,r.clazz,e):o.isMultiLine()?"text"==r.type?this.drawTextMarker(t,o,r.clazz,e):this.drawMultiLineMarker(t,o,r.clazz,e):this.drawSingleLineMarker(t,o,r.clazz+" ace_start ace_br15",e)):r.update(t,this,this.session,e)}if(-1!=this.i)for(;this.ie.lastRow)for(s=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);0t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,i){for(var n=[],s=t,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;r=o;)r=this.$renderToken(a,r,h,c.substring(0,o-n)),c=c.substring(o-n),n=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(w.stringRepeat(" ",i.indent),this.element)),r=0,o=i[++s]||Number.MAX_VALUE;0!=c.length&&(n+=c.length,r=this.$renderToken(a,r,h,c))}}i[i.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,r,null,"",!0)},this.$renderSimpleLine=function(e,t){var i=0,n=t[0],s=n.value;(s=this.displayIndentGuides?this.renderIndentGuide(e,s):s)&&(i=this.$renderToken(e,i,n,s));for(var o=1;othis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,n,s);i=this.$renderToken(e,i,n,s)}},this.$renderOverflowMessage=function(e,t,i,n,s){i&&this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t));i=this.dom.createElement("span");i.className="ace_inline_button ace_keyword ace_toggle_wrap",i.textContent=s?"":"",e.appendChild(i)},this.$renderLine=function(e,t,i){var n,s,o=e;(n=(i=i||0==i?i:this.session.getFoldLine(t))?this.$getFoldLineTokens(t,i):this.session.getTokens(t)).length?(s=this.session.getRowSplitData(t))&&s.length?(this.$renderWrappedLine(e,n,s),o=e.lastChild):(o=e,this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o)),this.$renderSimpleLine(o,n)):this.$useLineGroups()&&(o=this.$createLineElement(),e.appendChild(o)),this.showEOL&&o&&(i&&(t=i.end.row),(s=this.dom.createElement("span")).className="ace_invisible ace_invisible_eol",s.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,o.appendChild(s))},this.$getFoldLineTokens=function(e,t){var u=this.session,d=[],g=u.getTokens(e);return t.walk(function(e,t,i,n,s){if(null!=e)d.push({type:"fold",value:e});else if((g=s?u.getTokens(t):g).length){for(var o,r=g,a=n,l=i,h=0,c=0;c+r[h].value.lengthl-a&&(o=o.substring(0,l-a)),d.push({type:r[h].type,value:o}),c=a+o.length,h+=1);cl?d.push({type:r[h].type,value:o.substring(0,l-c)}):d.push(r[h]),c+=o.length,h+=1}},t.end.row,this.session.getLine(t.end.row).length),d},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(n.prototype),t.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,i){function n(e){this.element=h.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),h.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}var h=e("../lib/dom");(function(){this.$updateOpacity=function(e){for(var t=this.cursors,i=t.length;i--;)h.setStyle(t[i].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){h.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){h.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,h.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=h.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){var e;if(1e.height+e.offset||a.top<0)&&1n;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=a,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&((this.overwrite=e)?h.addCssClass(this.element,"ace_overwrite-cursors"):h.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(n.prototype),t.Cursor=n}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,i){function n(e){this.element=a.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=a.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addListener(this.element,"scroll",this.onScroll.bind(this)),l.addListener(this.element,"mousedown",l.preventDefault)}function s(e,t){n.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=a.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0}function o(e,t){n.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"}var r=e("./lib/oop"),a=e("./lib/dom"),l=e("./lib/event"),h=e("./lib/event_emitter").EventEmitter;!function(){r.implement(this,h),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}.call(n.prototype),r.inherits(s,n),function(){this.classSuffix="-v",this.onScroll=function(){var e;this.skipEvent||(this.scrollTop=this.element.scrollTop,1!=this.coeff&&(e=this.element.clientHeight/this.scrollHeight,this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)),this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){32768<(this.scrollHeight=e)?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(s.prototype);r.inherits(o,n),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(o.prototype),t.ScrollBar=s,t.ScrollBarV=s,t.ScrollBarH=o,t.VScrollBar=s,t.HScrollBar=o}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,i){function n(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var i=this;this._flush=function(e){i.pending=!1;var t=i.changes;t&&(s.blockIdle(100),i.changes=0,i.onRender(t)),i.changes?i.$recursionLimit--<0||i.schedule():i.$recursionLimit=2}}var s=e("./lib/event");(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(s.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(n.prototype),t.RenderLoop=n}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,i){var n=e("../lib/oop"),s=e("../lib/dom"),o=e("../lib/lang"),r=e("../lib/event"),a=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,h="function"==typeof ResizeObserver,e=t.FontMetrics=function(e){this.el=s.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=s.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=s.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},h?this.$addObserver():this.checkForSizeChanges()};!function(){n.implement(this,l),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){var t;!(e=void 0===e?this.$measureSizes():e)||this.$characterSize.width===e.width&&this.$characterSize.height===e.height||(this.$measureNode.style.fontWeight="bold",t=this.$measureSizes(),this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e}))},this.$addObserver=function(){var t=this;this.$observer=new window.ResizeObserver(function(e){t.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){var t;return this.$pollSizeChangesTimer||this.$observer?this.$pollSizeChangesTimer:(t=this).$pollSizeChangesTimer=r.onIdle(function e(){t.checkForSizeChanges(),r.onIdle(e,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){e={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===e.width||0===e.height?null:e},this.$measureCharWidth=function(e){return this.$main.textContent=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t=void 0===t?this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width:t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t&&t.parentElement?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){function e(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]}this.els=s.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},this.transformCoordinates=function(e,t){function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function r(e){e=e.getBoundingClientRect();return[e.left,e.top]}e=e&&o(1/this.$getZoom(this.el),e),this.els||this.$initTransformMeasureNodes();var a,l=r(this.els[0]),h=r(this.els[1]),c=r(this.els[2]),u=r(this.els[3]),u=i(n(u,h),n(u,c),n(s(h,c),s(u,l))),h=o(1+u[0],n(h,l)),c=o(1+u[1],n(c,l));return t?(a=u[0]*t[0]/200+u[1]*t[1]/200+1,t=s(o(t[0],h),o(t[1],c)),s(o(1/a/200,t),l)):(a=n(e,l),t=i(n(h,o(u[0],a)),n(c,o(u[1],a)),a),o(200,t))}}.call(e.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,i){function n(e,t){var i=this,e=(this.container=e||a.createElement("div"),a.addCssClass(this.container,"ace_editor"),a.HI_DPI&&a.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=a.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=a.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=a.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new r(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content),this.$textLayer=new h(this.content));this.canvas=e.element,this.$markerFront=new l(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new d(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.on("scroll",function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)}),this.scrollBarH.on("scroll",function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new f(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!w.isIOS,this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._signal("renderer",this)}var s=e("./lib/oop"),a=e("./lib/dom"),o=e("./config"),r=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,h=e("./layer/text").Text,c=e("./layer/cursor").Cursor,u=e("./scrollbar").HScrollBar,d=e("./scrollbar").VScrollBar,g=e("./renderloop").RenderLoop,f=e("./layer/font_metrics").FontMetrics,m=e("./lib/event_emitter").EventEmitter,p='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;padding: 0;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',w=e("./lib/useragent"),v=w.isIE;a.importCssString(p,"ace_editor.css");(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,s.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),a.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=e)&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(2r.height-n?a.translate(this.textarea,0,0):(r=1,s=this.$size.height-n,o?o.useTextareaForIME?(o=this.textarea.value,r=this.characterWidth*this.session.$getStringScreenWidth(o)[0]):t+=this.lineHeight+2:t+=this.lineHeight,(i-=this.scrollLeft)>this.$size.scrollerWidth-r&&(i=this.$size.scrollerWidth-r),i+=this.gutterWidth+this.margin.left,a.setStyle(e,"height",n+"px"),a.setStyle(e,"width",r+"px"),a.translate(this.textarea,Math.min(i,this.$size.scrollerWidth-r),Math.min(t,s)))):a.translate(this.textarea,-100,0))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,s.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-s.top),this.updateFull()},this.setMargin=function(e,t,i,n){var s=this.margin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t)&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i,n,t=this.layerConfig;(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL)&&(e|=this.$computeLayerConfig()|this.$loop.clear(),t.firstRow!=this.layerConfig.firstRow&&t.firstRowScreen==this.layerConfig.firstRowScreen&&0<(i=this.scrollTop+(t.firstRow-this.layerConfig.firstRow)*this.lineHeight)&&(this.scrollTop=i,e=(e|=this.CHANGE_SCROLL)|(this.$computeLayerConfig()|this.$loop.clear())),t=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),a.translate(this.content,-this.scrollLeft,-t.offset),i=t.width+2*this.$padding+"px",n=t.minHeight+"px",a.setStyle(this.content.style,"width",i),a.setStyle(this.content.style,"height",n)),e&this.CHANGE_H_SCROLL&&(a.translate(this.content,-this.scrollLeft,-t.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL?(this.$changedLines=null,this.$textLayer.update(t),this.$showGutter&&this.$gutterLayer.update(t),this.$markerBack.update(t),this.$markerFront.update(t),this.$cursorLayer.update(t),this.$moveTextAreaToCursor()):e&this.CHANGE_SCROLL?(this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(t):this.$textLayer.scrollLines(t),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(t):this.$gutterLayer.scrollLines(t)),this.$markerBack.update(t),this.$markerFront.update(t),this.$cursorLayer.update(t),this.$moveTextAreaToCursor()):(e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(t),this.$showGutter&&this.$gutterLayer.update(t)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(t):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(t):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(t),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(t),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(t),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(t)),this._signal("afterRender",e)}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,i=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(i+=this.scrollBarH.getHeight());t=!((i=this.$maxPixelHeight&&i>this.$maxPixelHeight?this.$maxPixelHeight:i)<=2*this.lineHeight)&&tc.top)),h=r!==n,c=(h&&(this.$vScroll=n,this.scrollBarV.setVisible(n)),this.scrollTop%this.lineHeight),r=Math.ceil(l/this.lineHeight)-1,r=(n=Math.max(0,Math.round((this.scrollTop-c)/this.lineHeight)))+r,u=this.lineHeight,n=t.screenToDocumentRow(n,0),d=t.getFoldLine(n),t=(d&&(n=d.start.row),d=t.documentToScreenRow(n,0),e=t.getRowLength(n)*u,r=Math.min(t.screenToDocumentRow(r,0),t.getLength()-1),l=i.scrollerHeight+t.getRowLength(r)*u+e,c=this.scrollTop-d*u,0);return this.layerConfig.width==o&&!a||(t=this.CHANGE_H_SCROLL),(a||h)&&(t|=this.$updateCachedSize(!0,this.gutterWidth,i.width,i.height),this._signal("scrollbarVisibilityChanged"),h)&&(o=this.$getLongestLine()),this.layerConfig={width:o,padding:this.$padding,firstRow:n,firstRowScreen:d,lastRow:r,lineHeight:u,characterWidth:this.characterWidth,minHeight:l,maxHeight:s,offset:c,gutterOffset:u?Math.max(0,Math.ceil((c+i.height-i.scrollerHeight)/u)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(o-this.$padding),t},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow,i=(this.$changedLines=null,this.layerConfig);if(!(e>i.lastRow+1||tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){var n,s,o;0!==this.$size.scrollerHeight&&(n=(e=this.$cursorLayer.getPixelPosition(e)).left,o=i&&i.top||0,i=i&&i.bottom||0,(e=e.top)<(s=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop)+o?(t&&s+o>e+this.lineHeight&&(e-=t*this.$size.scrollerHeight),0===e&&(e=-this.scrollMargin.top),this.session.setScrollTop(e)):s+this.$size.scrollerHeight-i=1-this.scrollMargin.top||0=1-this.scrollMargin.left||0{t="importScripts('"+n.qualifyURL(t)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var i=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return i.append(t),i.getBlob("application/javascript")}})(e),t=(window.URL||window.webkitURL).createObjectURL(t),new Worker(t)):new Worker(e)}function h(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage}var i=a("../lib/oop"),n=a("../lib/net"),c=a("../lib/event_emitter").EventEmitter,u=a("../config");(function(){i.implement(this,c),this.$createWorkerFromOldConfig=function(e,t,i,n,s){var o,r;return a.nameToUrl&&!a.toUrl&&(a.toUrl=a.nameToUrl),u.get("packaged")||!a.toUrl?n=n||u.moduleUrl(t,"worker"):(o=this.$normalizePath,n=n||o(a.toUrl("ace/worker/worker.js",null,"_")),r={},e.forEach(function(e){r[e]=o(a.toUrl(e,null,"_").replace(/(\.js)?(\?.*)?$/,""))})),this.$worker=l(n),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:r,module:t,classname:i}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var i=this.callbacks[t.id];i&&(i(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return n.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,i){var n;i&&(n=this.callbackId++,this.callbacks[n]=i,t.push(n)),this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,50this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(h.prototype);e.UIWorkerClient=function(e,t,i){var n=null,s=!1,o=Object.create(c),r=[],a=new h({messageBuffer:r,terminate:function(){},postMessage:function(e){r.push(e),n&&(s?setTimeout(l):l())}}),l=(a.setEmitSync=function(e){s=e},function(){var e=r.shift();e.command?n[e.command].apply(n,e.args):e.event&&o._signal(e.event,e.data)});return o.postMessage=function(e){a.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},u.loadModule(["worker",t],function(e){for(n=new e[i](o);r.length;)l()}),a},e.WorkerClient=h,e.createWorker=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,i){function n(e,t,i,n,s,o){var r=this,t=(this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){r.onCursorChange()})},this.$pos=i,e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1});this.$undoStackDepth=t.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}var l=e("./range").Range,s=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop");(function(){o.implement(this,s),this.setup=function(){var t=this,i=this.doc,e=this.session,n=(this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column),this.pos);n.$insertRight=!0,n.detach(),n.markerId=e.addMarker(new l(n.row,n.column,n.row,n.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){e=i.createAnchor(e.row,e.column);e.$insertRight=!0,e.detach(),t.others.push(e)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){var t,i;this.othersActive||(t=this.session,(i=this).othersActive=!0,this.others.forEach(function(e){e.markerId=t.addMarker(new l(e.row,e.column,e.row,e.column+i.length),i.othersClass,null,!1)}))},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;if(this.updateAnchors(e),n&&(this.length+=i),n&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;0<=o;o--){var r={row:(a=this.others[o]).row,column:a.column+s};this.doc.insertMergedLines(r,e.lines)}else if("remove"===e.action)for(o=this.others.length-1;0<=o;o--){var a,r={row:(a=this.others[o]).row,column:a.column+s};this.doc.remove(new l(r.row,r.column,r.row,r.column-i))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var i=this,n=this.session,e=function(e,t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new l(e.row,e.column,e.row,e.column+i.length),t,null,!1)};e(this.pos,this.mainClass);for(var t=this.others.length;t--;)e(this.others[t],this.othersClass)}},this.onCursorChange=function(e){var t;!this.$updating&&this.session&&((t=this.session.selection.getCursor()).row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e)))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;io&&(o=e.column),(t=-1==t?0:t)t[1].length&&(s=t[1].length),ot[3].length&&(r=t[3].length)),t):[e]}).map(t?n:a?l?function(e){return e[2]?i(s+o-e[2].length)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:n:function(e){return e[2]?i(s)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]})}}).call(h.prototype),s.onSessionChange=function(e){var t=e.session,e=(t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect,e.oldSession);e&&(e.multiSelect.off("addRange",this.$onAddRange),e.multiSelect.off("removeRange",this.$onRemoveRange),e.multiSelect.off("multiSelect",this.$onMultiSelect),e.multiSelect.off("singleSelect",this.$onSingleSelect),e.multiSelect.lead.off("change",this.$checkMultiselectChange),e.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},s.MultiSelect=i,e("./config").defineOptions(h.prototype,"editor",{enableMultiselect:{set:function(e){i(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,i){var c=e("../../range").Range,e=t.FoldMode=function(){};!function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){e=e.getLine(i);return this.foldingStartMarker.test(e)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(e)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var n=/\S/,s=e.getLine(t),o=s.search(n);if(-1!=o){for(var r,i=i||s.length,a=e.getLength(),s=t,l=t;++ti.row&&(n.row--,n.column=e.getLine(n.row).length),c.fromPoints(i,n)},this.closingBracketBlock=function(e,t,i,n,s){i={row:i,column:n},n=e.$findOpeningBracket(t,i);if(n)return n.column++,i.column--,c.fromPoints(n,i)}}.call(e.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,i){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,t,i){function n(e){this.session=e,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var s=e("./lib/dom");(function(){this.getRowLength=function(e){var t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var t=0;return this.lineWidgets.forEach(function(e){e&&e.rowCount&&!e.hidden&&(t+=e.rowCount)}),t},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e)&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;t&&(this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets),t=this.session.lineWidgets)&&t.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var t=e.data,n=t.start.row,s=t.end.row,o="add"==e.action,r=n+1;rs[t].column&&t++,n.unshift(t,0),s.splice.apply(s,n)),this.$updateRows())},this.$updateRows=function(){var i,e=this.session.lineWidgets;e&&(i=!0,e.forEach(function(e,t){if(e)for(i=!1,e.row=t;e.$oldWidget;)e.$oldWidget.row=t,e=e.$oldWidget}),i)&&(this.session.lineWidgets=null)},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t).el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1),this.session.lineWidgets[e.row]=e},this.addLineWidget=function(e){var t,i,n;return this.$registerLineWidget(e),e.session=this.session,this.editor&&(t=this.editor.renderer,e.html&&!e.el&&(e.el=s.createElement("div"),e.el.innerHTML=e.html),e.el&&(s.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight)&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),i=this.session.getFoldAt(e.row,0),(e.$fold=i)&&(n=this.session.lineWidgets,e.row!=i.end.row||n[i.start.row]?e.hidden=!0:n[i.start.row]=e),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e)),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,i=t&&t[e],n=[];i;)n.push(i),i=i.$oldWidget;return n},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var i=this.session._changedWidgets,n=t.layerConfig;if(i&&i.length){for(var s=1/0,o=0;o{for(var n=0,s=e.length-1;n<=s;){var o=n+s>>1,r=i(t,e[o]);if(0"),o.appendChild(u.createElement("div"));l.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(a),n.widgetManager.removeLineWidget(l),e.off("changeSelection",l.destroy),e.off("changeSession",l.destroy),e.off("mouseup",l.destroy),e.off("change",l.destroy))},e.keyBinding.addKeyboardHandler(a),e.on("changeSelection",l.destroy),e.on("changeSession",l.destroy),e.on("mouseup",l.destroy),e.on("change",l.destroy),e.session.widgetManager.addLineWidget(l),l.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:l.el.offsetHeight})},u.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,o,t){e("./lib/fixoldbrowsers");var r=e("./lib/dom"),a=e("./lib/event"),i=e("./range").Range,l=e("./editor").Editor,n=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,h=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),o.config=e("./config"),o.require=e,"function"==typeof define&&(o.define=define),o.edit=function(e,t){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}var n,s;return e&&e.env&&e.env.editor instanceof l?e.env.editor:(i="",e&&/input|textarea/i.test(e.tagName)?(i=(n=e).value,e=r.createElement("pre"),n.parentNode.replaceChild(e,n)):e&&(i=e.textContent,e.innerHTML=""),i=o.createEditSession(i),e=new l(new h(e),i,t),s={document:i,editor:e,onResize:e.resize.bind(e,null)},n&&(s.textarea=n),a.addListener(window,"resize",s.onResize),e.on("destroy",function(){a.removeListener(window,"resize",s.onResize),s.editor.container.env=null}),e.container.env=e.env=s,e)},o.createEditSession=function(e,t){e=new n(e,t);return e.setUndoManager(new s),e},o.Range=i,o.Editor=l,o.EditSession=n,o.UndoManager=s,o.VirtualRenderer=h,o.version=o.config.version}),ace.require(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t]);window.ace.default=window.ace,"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=window.ace)}); \ No newline at end of file diff --git a/public/script/vendor.min.js b/public/script/vendor.min.js index fce7db8..0418b23 100644 --- a/public/script/vendor.min.js +++ b/public/script/vendor.min.js @@ -1,29 +1,29 @@ -"use strict";(()=>{var zl=Object.defineProperty;var Hl=(e,t)=>{for(var o in t)zl(e,o,{get:t[o],enumerable:!0})};var ye={notebook:"/script/notebook.c3144c18ae.min.js",org:"/script/org.f61f262915.min.js",markdown:"/script/markdown.44f2e93820.min.js",pdf:"/script/pdf.4d9cc6ff49.min.js",editor:"/script/editor.435606a636.min.js"};var rn=new Map,Gl=ye;function Wt(e){if(!rn.has(e)){let t=document.createElement("script");t.src=Gl[e];let o=new Promise((r,n)=>{t.onload=r,t.onerror=()=>{rn.delete(e),t.remove(),n(new Error(`Unable to load ${e}. Please retry.`))}});rn.set(e,o),document.head.appendChild(t)}return rn.get(e)}async function tr(){await Wt("editor"),ace.config.set("basePath","/script/external/ace/")}function ds(e){let t=Object.create(null);for(let o of e.split(","))t[o]=1;return o=>o in t}var Me={},Kt=[],rt=()=>{},Xn=()=>!1,us=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),cs=e=>e.startsWith("onUpdate:"),Ge=Object.assign,Ss=(e,t)=>{let o=e.indexOf(t);o>-1&&e.splice(o,1)},jl=Object.prototype.hasOwnProperty,Ae=(e,t)=>jl.call(e,t),Ee=Array.isArray,Pt=e=>Ds(e)==="[object Map]",ls=e=>Ds(e)==="[object Set]",sr=e=>Ds(e)==="[object Date]";var _e=e=>typeof e=="function",Fe=e=>typeof e=="string",ct=e=>typeof e=="symbol",Ve=e=>e!==null&&typeof e=="object",Zn=e=>(Ve(e)||_e(e))&&_e(e.then)&&_e(e.catch),rr=Object.prototype.toString,Ds=e=>rr.call(e),xn=e=>Ds(e).slice(8,-1),an=e=>Ds(e)==="[object Object]",ln=e=>Fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ps=ds(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");var dn=e=>{let t=Object.create(null);return(o=>t[o]||(t[o]=e(o)))},Wl=/-\w/g,Ke=dn(e=>e.replace(Wl,t=>t.slice(1).toUpperCase())),Kl=/\B([A-Z])/g,qt=dn(e=>e.replace(Kl,"-$1").toLowerCase()),Yt=dn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Rs=dn(e=>e?`on${Yt(e)}`:""),ht=(e,t)=>!Object.is(e,t),Ts=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:o})},eo=e=>{let t=parseFloat(e);return isNaN(t)?e:t};var nr,Os=()=>nr||(nr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Pe(e){if(Ee(e)){let t={};for(let o=0;o{if(o){let r=o.split(Jl);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function O(e){let t="";if(Fe(e))t=e;else if(Ee(e))for(let o=0;o!!(e&&e.__v_isRef===!0),c=e=>Fe(e)?e:e==null?"":Ee(e)||Ve(e)&&(e.toString===rr||!_e(e.toString))?lr(e)?c(e.value):JSON.stringify(e,dr,2):String(e),dr=(e,t)=>lr(t)?dr(e,t.value):Pt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[r,n],i)=>(o[Qn(r,i)+" =>"]=n,o),{})}:ls(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Qn(o))}:ct(t)?Qn(t):Ve(t)&&!Ee(t)&&!an(t)?String(t):t,Qn=(e,t="")=>{var o;return ct(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};function ed(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var Ye,Ps=class{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ye&&(Ye.active?(this.parent=Ye,this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){let r=this.scopes.slice();for(t=0,o=r.length;t0&&--this._on===0){if(Ye===this)Ye=this.prevScope;else{let t=Ye;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,r;for(o=0,r=this.effects.length;o0)return;if(Vs){let t=Vs;for(Vs=void 0;t;){let o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Is;){let t=Is;for(Is=void 0;t;){let o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=o}}if(e)throw e}function hr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vr(e){let t,o=e.depsTail,r=o;for(;r;){let n=r.prevDep;r.version===-1?(r===o&&(o=n),ho(r),td(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=n}e.deps=t,e.depsTail=o}function oo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(yr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function yr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===qs)||(e.globalVersion=qs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!oo(e))))return;e.flags|=2;let t=e.dep,o=Le,r=wt;Le=e,wt=!0;try{hr(e);let n=e.fn(e._value);(t.version===0||ht(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{Le=o,wt=r,vr(e),e.flags&=-3}}function ho(e,t=!1){let{dep:o,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),o.subs===e&&(o.subs=r,!r&&o.computed)){o.computed.flags&=-5;for(let i=o.computed.deps;i;i=i.nextDep)ho(i,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function td(e){let{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}var wt=!0,gr=[];function Dt(){gr.push(wt),wt=!1}function Rt(){let e=gr.pop();wt=e===void 0?!0:e}function ur(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let o=Le;Le=void 0;try{t()}finally{Le=o}}}var qs=0,ro=class{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Ms=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Le||!wt||Le===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Le)o=this.activeLink=new ro(Le,this),Le.deps?(o.prevDep=Le.depsTail,Le.depsTail.nextDep=o,Le.depsTail=o):Le.deps=Le.depsTail=o,br(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){let r=o.nextDep;r.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=r),o.prevDep=Le.depsTail,o.nextDep=void 0,Le.depsTail.nextDep=o,Le.depsTail=o,Le.deps===o&&(Le.deps=r)}return o}trigger(t){this.version++,qs++,this.notify(t)}notify(t){fo();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{mo()}}};function br(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)br(r)}let o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}var io=new WeakMap,Qt=Symbol(""),ao=Symbol(""),$s=Symbol("");function Xe(e,t,o){if(wt&&Le){let r=io.get(e);r||io.set(e,r=new Map);let n=r.get(o);n||(r.set(o,n=new Ms),n.map=r,n.key=o),n.track()}}function Nt(e,t,o,r,n,i){let a=io.get(e);if(!a){qs++;return}let u=m=>{m&&m.trigger()};if(fo(),t==="clear")a.forEach(u);else{let m=Ee(e),h=m&&ln(o);if(m&&o==="length"){let v=Number(r);a.forEach((k,p)=>{(p==="length"||p===$s||!ct(p)&&p>=v)&&u(k)})}else switch((o!==void 0||a.has(void 0))&&u(a.get(o)),h&&u(a.get($s)),t){case"add":m?h&&u(a.get("length")):(u(a.get(Qt)),Pt(e)&&u(a.get(ao)));break;case"delete":m||(u(a.get(Qt)),Pt(e)&&u(a.get(ao)));break;case"set":Pt(e)&&u(a.get(Qt));break}}mo()}function ms(e){let t=Ie(e);return t===e?t:(Xe(t,"iterate",$s),it(e)?t:t.map(vt))}function Ls(e){return Xe(e=Ie(e),"iterate",$s),e}function Ct(e,t){return kt(e)?Xt($t(e)?vt(t):t):vt(t)}var sd={__proto__:null,[Symbol.iterator](){return so(this,Symbol.iterator,e=>Ct(this,e))},concat(...e){return ms(this).concat(...e.map(t=>Ee(t)?ms(t):t))},entries(){return so(this,"entries",e=>(e[1]=Ct(this,e[1]),e))},every(e,t){return Mt(this,"every",e,t,void 0,arguments)},filter(e,t){return Mt(this,"filter",e,t,o=>o.map(r=>Ct(this,r)),arguments)},find(e,t){return Mt(this,"find",e,t,o=>Ct(this,o),arguments)},findIndex(e,t){return Mt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Mt(this,"findLast",e,t,o=>Ct(this,o),arguments)},findLastIndex(e,t){return Mt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Mt(this,"forEach",e,t,void 0,arguments)},includes(...e){return no(this,"includes",e)},indexOf(...e){return no(this,"indexOf",e)},join(e){return ms(this).join(e)},lastIndexOf(...e){return no(this,"lastIndexOf",e)},map(e,t){return Mt(this,"map",e,t,void 0,arguments)},pop(){return As(this,"pop")},push(...e){return As(this,"push",e)},reduce(e,...t){return cr(this,"reduce",e,t)},reduceRight(e,...t){return cr(this,"reduceRight",e,t)},shift(){return As(this,"shift")},some(e,t){return Mt(this,"some",e,t,void 0,arguments)},splice(...e){return As(this,"splice",e)},toReversed(){return ms(this).toReversed()},toSorted(e){return ms(this).toSorted(e)},toSpliced(...e){return ms(this).toSpliced(...e)},unshift(...e){return As(this,"unshift",e)},values(){return so(this,"values",e=>Ct(this,e))}};function so(e,t,o){let r=Ls(e),n=r[t]();return r!==e&&!it(e)&&(n._next=n.next,n.next=()=>{let i=n._next();return i.done||(i.value=o(i.value)),i}),n}var nd=Array.prototype;function Mt(e,t,o,r,n,i){let a=Ls(e),u=a!==e&&!it(e),m=a[t];if(m!==nd[t]){let k=m.apply(e,i);return u?vt(k):k}let h=o;a!==e&&(u?h=function(k,p){return o.call(this,Ct(e,k),p,e)}:o.length>2&&(h=function(k,p){return o.call(this,k,p,e)}));let v=m.call(a,h,r);return u&&n?n(v):v}function cr(e,t,o,r){let n=Ls(e),i=n!==e&&!it(e),a=o,u=!1;n!==e&&(i?(u=r.length===0,a=function(h,v,k){return u&&(u=!1,h=Ct(e,h)),o.call(this,h,Ct(e,v),k,e)}):o.length>3&&(a=function(h,v,k){return o.call(this,h,v,k,e)}));let m=n[t](a,...r);return u?Ct(e,m):m}function no(e,t,o){let r=Ie(e);Xe(r,"iterate",$s);let n=r[t](...o);return(n===-1||n===!1)&&zs(o[0])?(o[0]=Ie(o[0]),r[t](...o)):n}function As(e,t,o=[]){Dt(),fo();let r=Ie(e)[t].apply(e,o);return mo(),Rt(),r}var od=ds("__proto__,__v_isRef,__isVue"),wr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ct));function rd(e){ct(e)||(e=String(e));let t=Ie(this);return Xe(t,"has",e),t.hasOwnProperty(e)}var hn=class{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,r){if(o==="__v_skip")return t.__v_skip;let n=this._isReadonly,i=this._isShallow;if(o==="__v_isReactive")return!n;if(o==="__v_isReadonly")return n;if(o==="__v_isShallow")return i;if(o==="__v_raw")return r===(n?i?md:Er:i?_r:kr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;let a=Ee(t);if(!n){let m;if(a&&(m=sd[o]))return m;if(o==="hasOwnProperty")return rd}let u=Reflect.get(t,o,Qe(t)?t:r);if((ct(o)?wr.has(o):od(o))||(n||Xe(t,"get",o),i))return u;if(Qe(u)){let m=a&&ln(o)?u:u.value;return n&&Ve(m)?yn(m):m}return Ve(u)?n?yn(u):ze(u):u}},vn=class extends hn{constructor(t=!1){super(!1,t)}set(t,o,r,n){let i=t[o],a=Ee(t)&&ln(o);if(!this._isShallow){let h=kt(i);if(!it(r)&&!kt(r)&&(i=Ie(i),r=Ie(r)),!a&&Qe(i)&&!Qe(r))return h||(i.value=r),!0}let u=a?Number(o)e,pn=e=>Reflect.getPrototypeOf(e);function dd(e,t,o){return function(...r){let n=this.__v_raw,i=Ie(n),a=Pt(i),u=e==="entries"||e===Symbol.iterator&&a,m=e==="keys"&&a,h=n[e](...r),v=o?uo:t?Xt:vt;return!t&&Xe(i,"iterate",m?ao:Qt),Ge(Object.create(h),{next(){let{value:k,done:p}=h.next();return p?{value:k,done:p}:{value:u?[v(k[0]),v(k[1])]:v(k),done:p}}})}}function fn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ud(e,t){let o={get(n){let i=this.__v_raw,a=Ie(i),u=Ie(n);e||(ht(n,u)&&Xe(a,"get",n),Xe(a,"get",u));let{has:m}=pn(a),h=t?uo:e?Xt:vt;if(m.call(a,n))return h(i.get(n));if(m.call(a,u))return h(i.get(u));i!==a&&i.get(n)},get size(){let n=this.__v_raw;return!e&&Xe(Ie(n),"iterate",Qt),n.size},has(n){let i=this.__v_raw,a=Ie(i),u=Ie(n);return e||(ht(n,u)&&Xe(a,"has",n),Xe(a,"has",u)),n===u?i.has(n):i.has(n)||i.has(u)},forEach(n,i){let a=this,u=a.__v_raw,m=Ie(u),h=t?uo:e?Xt:vt;return!e&&Xe(m,"iterate",Qt),u.forEach((v,k)=>n.call(i,h(v),h(k),a))}};return Ge(o,e?{add:fn("add"),set:fn("set"),delete:fn("delete"),clear:fn("clear")}:{add(n){let i=Ie(this),a=pn(i),u=Ie(n),m=!t&&!it(n)&&!kt(n)?u:n;return a.has.call(i,m)||ht(n,m)&&a.has.call(i,n)||ht(u,m)&&a.has.call(i,u)||(i.add(m),Nt(i,"add",m,m)),this},set(n,i){!t&&!it(i)&&!kt(i)&&(i=Ie(i));let a=Ie(this),{has:u,get:m}=pn(a),h=u.call(a,n);h||(n=Ie(n),h=u.call(a,n));let v=m.call(a,n);return a.set(n,i),h?ht(i,v)&&Nt(a,"set",n,i,v):Nt(a,"add",n,i),this},delete(n){let i=Ie(this),{has:a,get:u}=pn(i),m=a.call(i,n);m||(n=Ie(n),m=a.call(i,n));let h=u?u.call(i,n):void 0,v=i.delete(n);return m&&Nt(i,"delete",n,void 0,h),v},clear(){let n=Ie(this),i=n.size!==0,a=void 0,u=n.clear();return i&&Nt(n,"clear",void 0,void 0,a),u}}),["keys","values","entries",Symbol.iterator].forEach(n=>{o[n]=dd(n,e,t)}),o}function vo(e,t){let o=ud(e,t);return(r,n,i)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?r:Reflect.get(Ae(o,n)&&n in r?o:r,n,i)}var cd={get:vo(!1,!1)},pd={get:vo(!1,!0)},fd={get:vo(!0,!1)};var kr=new WeakMap,_r=new WeakMap,Er=new WeakMap,md=new WeakMap;function hd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ze(e){return kt(e)?e:yo(e,!1,id,cd,kr)}function Fs(e){return yo(e,!1,ld,pd,_r)}function yn(e){return yo(e,!0,ad,fd,Er)}function yo(e,t,o,r,n){if(!Ve(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let i=n.get(e);if(i)return i;let a=hd(xn(e));if(a===0)return e;let u=new Proxy(e,a===2?r:o);return n.set(e,u),u}function $t(e){return kt(e)?$t(e.__v_raw):!!(e&&e.__v_isReactive)}function kt(e){return!!(e&&e.__v_isReadonly)}function it(e){return!!(e&&e.__v_isShallow)}function zs(e){return e?!!e.__v_raw:!1}function Ie(e){let t=e&&e.__v_raw;return t?Ie(t):e}function go(e){return!Ae(e,"__v_skip")&&Object.isExtensible(e)&&un(e,"__v_skip",!0),e}var vt=e=>Ve(e)?ze(e):e,Xt=e=>Ve(e)?yn(e):e;function Qe(e){return e?e.__v_isRef===!0:!1}function Ze(e){return Cr(e,!1)}function bn(e){return Cr(e,!0)}function Cr(e,t){return Qe(e)?e:new co(e,t)}var co=class{constructor(t,o){this.dep=new Ms,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ie(t),this._value=o?t:vt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){let o=this._rawValue,r=this.__v_isShallow||it(t)||kt(t);t=r?t:Ie(t),ht(t,o)&&(this._rawValue=t,this._value=r?t:vt(t),this.dep.trigger())}};function Ut(e){return Qe(e)?e.value:e}var vd={get:(e,t,o)=>t==="__v_raw"?e:Ut(Reflect.get(e,t,o)),set:(e,t,o,r)=>{let n=e[t];return Qe(n)&&!Qe(o)?(n.value=o,!0):Reflect.set(e,t,o,r)}};function wn(e){return $t(e)?e:new Proxy(e,vd)}var po=class{constructor(t,o,r){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ms(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=qs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Le!==this)return mr(this,!0),!0}get value(){let t=this.dep.track();return yr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function Nr(e,t,o=!1){let r,n;return _e(e)?r=e:(r=e.get,n=e.set),new po(r,n,o)}var mn={},gn=new WeakMap,Jt;function Sr(e,t=!1,o=Jt){if(o){let r=gn.get(o);r||gn.set(o,r=[]),r.push(e)}}function Dr(e,t,o=Me){let{immediate:r,deep:n,once:i,scheduler:a,augmentJob:u,call:m}=o,h=A=>{(o.onWarn||ed)("Invalid watch source: ",A,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},v=A=>n?A:it(A)||n===!1||n===0?St(A,1):St(A),k,p,g,w,b=!1,T=!1;if(Qe(e)?(p=()=>e.value,b=it(e)):$t(e)?(p=()=>v(e),b=!0):Ee(e)?(T=!0,b=e.some(A=>$t(A)||it(A)),p=()=>e.map(A=>{if(Qe(A))return A.value;if($t(A))return v(A);if(_e(A))return m?m(A,2):A()})):_e(e)?t?p=m?()=>m(e,2):e:p=()=>{if(g){Dt();try{g()}finally{Rt()}}let A=Jt;Jt=k;try{return m?m(e,3,[w]):e(w)}finally{Jt=A}}:p=rt,t&&n){let A=p,P=n===!0?1/0:n;p=()=>St(A(),P)}let N=pr(),R=()=>{k.stop(),N&&N.active&&Ss(N.effects,k)};if(i&&t){let A=t;t=(...P)=>{let Z=A(...P);return R(),Z}}let I=T?new Array(e.length).fill(mn):mn,C=A=>{if(!(!(k.flags&1)||!k.dirty&&!A))if(t){let P=k.run();if(A||n||b||(T?P.some((Z,Y)=>ht(Z,I[Y])):ht(P,I))){g&&g();let Z=Jt;Jt=k;try{let Y=[P,I===mn?void 0:T&&I[0]===mn?[]:I,w];I=P,m?m(t,3,Y):t(...Y)}finally{Jt=Z}}}else k.run()};return u&&u(C),k=new hs(p),k.scheduler=a?()=>a(C,!1):C,w=A=>Sr(A,!1,k),g=k.onStop=()=>{let A=gn.get(k);if(A){if(m)m(A,4);else for(let P of A)P();gn.delete(k)}},t?r?C(!0):I=k.run():a?a(C.bind(null,!0),!0):k.run(),R.pause=k.pause.bind(k),R.resume=k.resume.bind(k),R.stop=R,R}function St(e,t=1/0,o){if(t<=0||!Ve(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Qe(e))St(e.value,t,o);else if(Ee(e))for(let r=0;r{St(r,t,o)});else if(an(e)){for(let r in e)St(e[r],t,o);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&St(e[r],t,o)}return e}function Xs(e,t,o,r){try{return r?e(...r):e()}catch(n){Zs(n,t,o)}}function yt(e,t,o,r){if(_e(e)){let n=Xs(e,t,o,r);return n&&Zn(n)&&n.catch(i=>{Zs(i,t,o)}),n}if(Ee(e)){let n=[];for(let i=0;i>>1,n=nt[r],i=Ys(n);i=Ys(o)?nt.push(e):nt.splice(kd(t),0,e),e.flags|=1,jr()}}function jr(){En||(En=Gr.then(Yr))}function Wr(e){if(!Ee(e))jt&&e.id===-1?jt.splice(vs+1,0,e):e.flags&1||(ys.push(e),e.flags|=1);else for(let t=0;tYs(o)-Ys(r));if(ys.length=0,jt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Yr(e){let t=rt;try{for(Ot=0;Ot{r._d&&Dn(-1);let i=Cn(t),a=es.length,u;try{u=e(...n)}finally{for(let m=es.length;m>a;m--)Ci();Cn(i),r._d&&Dn(1)}return u};return r._n=!0,r._c=!0,r._d=!0,r}function E(e,t){if(pt===null)return e;let o=$n(pt),r=e.dirs||(e.dirs=[]);for(let n=0;n1)return o&&_e(t)?t.call(r&&r.proxy):t}}var Ed=Symbol.for("v-scx"),Cd=()=>{{let e=lt(Ed);return e}};function He(e,t,o){return Qr(e,t,o)}function Qr(e,t,o=Me){let{immediate:r,deep:n,flush:i,once:a}=o,u=Ge({},o),m=t&&r||!t&&i!=="post",h;if(ws){if(i==="sync"){let g=Cd();h=g.__watcherHandles||(g.__watcherHandles=[])}else if(!m){let g=()=>{};return g.stop=rt,g.resume=rt,g.pause=rt,g}}let v=xe;u.call=(g,w,b)=>yt(g,v,w,b);let k=!1;i==="post"?u.scheduler=g=>{at(g,v&&v.suspense)}:i!=="sync"&&(k=!0,u.scheduler=(g,w)=>{w?g():Do(g)}),u.augmentJob=g=>{t&&(g.flags|=4),k&&(g.flags|=2,v&&(g.id=v.uid,g.i=v))};let p=Dr(e,t,u);return ws&&(h?h.push(p):m&&p()),p}function Nd(e,t,o){let r=this.proxy,n=Fe(e)?e.includes(".")?Xr(r,e):()=>r[e]:e.bind(r,r),i;_e(t)?i=t:(i=t.handler,o=t);let a=tn(this),u=Qr(n,i.bind(r),o);return a(),u}function Xr(e,t){let o=t.split(".");return()=>{let r=e;for(let n=0;ne.__isTeleport;var bo=Symbol("_leaveCb");function Dd(e){let t=e[0];if(e.length>1){let o=!1;for(let r of e)if(r.type!==Ft){t=r,o=!0;break}}return t}function Zr(e){if(!Vn(e))return An(e.type)&&e.children?Dd(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&_e(o.default))return o.default()}}function In(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let o=e.component.subTree;In(An(o.type)&&Zr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function xs(e,t){return _e(e)?Ge({name:e.name},t,{setup:e}):e}function Ro(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Tr(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}var Nn=new WeakMap;function Gs(e,t,o,r,n=!1){if(Ee(e)){e.forEach((b,T)=>Gs(b,t&&(Ee(t)?t[T]:t),o,r,n));return}if(js(r)&&!n){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Gs(e,t,o,r.component.subTree);return}let i=r.shapeFlag&4?$n(r.component):r.el,a=n?null:i,{i:u,r:m}=e,h=t&&t.r,v=u.refs===Me?u.refs={}:u.refs,k=u.setupState,p=Ie(k),g=k===Me?Xn:b=>Tr(v,b)?!1:Ae(p,b),w=(b,T)=>!(T&&Tr(v,T));if(h!=null&&h!==m){if(Or(t),Fe(h))v[h]=null,g(h)&&(k[h]=null);else if(Qe(h)){let b=t;w(h,b.k)&&(h.value=null),b.k&&(v[b.k]=null)}}if(_e(m))Xs(m,u,12,[a,v]);else{let b=Fe(m),T=Qe(m);if(b||T){let N=()=>{if(e.f){let R=b?g(m)?k[m]:v[m]:w(m)||!e.k?m.value:v[e.k];if(n)Ee(R)&&Ss(R,i);else if(Ee(R))R.includes(i)||R.push(i);else if(b)v[m]=[i],g(m)&&(k[m]=v[m]);else{let I=[i];w(m,e.k)&&(m.value=I),e.k&&(v[e.k]=I)}}else b?(v[m]=a,g(m)&&(k[m]=a)):T&&(w(m,e.k)&&(m.value=a),e.k&&(v[e.k]=a))};if(a){let R=()=>{N(),Nn.delete(e)};R.id=-1,Nn.set(e,R),at(R,o)}else Or(e),N()}}}function Or(e){let t=Nn.get(e);t&&(t.flags|=8,Nn.delete(e))}var Ar=e=>e.nodeType===8;var q4=Os().requestIdleCallback||(e=>setTimeout(e,1)),M4=Os().cancelIdleCallback||(e=>clearTimeout(e));function Rd(e,t){if(Ar(e)&&e.data==="["){let o=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Ar(r))if(r.data==="]"){if(--o===0)break}else r.data==="["&&o++;r=r.nextSibling}}else t(e)}var js=e=>!!e.type.__asyncLoader;function xr(e){_e(e)&&(e={loader:e});let{loader:t,loadingComponent:o,errorComponent:r,delay:n=200,hydrate:i,timeout:a,suspensible:u=!0,onError:m}=e,h=null,v,k=0,p=()=>(k++,h=null,g()),g=()=>{let w;return h||(w=h=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),m)return new Promise((T,N)=>{m(b,()=>T(p()),()=>N(b),k+1)});throw b}).then(b=>w!==h&&h?h:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),v=b,b)))};return xs({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(w,b,T){let N=w.isConnected,R=!1;(b.bu||(b.bu=[])).push(()=>R=!0);let I=()=>{R||!w.parentNode||N&&!w.isConnected||T()},C=i?()=>{let A=i(I,P=>Rd(w,P));A&&(b.bum||(b.bum=[])).push(A)}:I;v?C():g().then(()=>!b.isUnmounted&&C())},get __asyncResolved(){return v},setup(){let w=xe;if(Ro(w),v)return()=>kn(v,w);let b=A=>{h=null,Zs(A,w,13,!r)};if(u&&w.suspense||ws)return g().then(A=>()=>kn(A,w)).catch(A=>(b(A),()=>r?De(r,{error:A}):null));let T=Ze(!1),N=Ze(),R=Ze(!!n),I,C;return en(()=>{I!=null&&clearTimeout(I),C!=null&&clearTimeout(C)}),n&&(C=setTimeout(()=>{w.isUnmounted||(R.value=!1)},n)),a!=null&&(I=setTimeout(()=>{if(!w.isUnmounted&&!T.value&&!N.value){let A=new Error(`Async component timed out after ${a}ms.`);b(A),N.value=A}},a)),g().then(()=>{w.isUnmounted||(T.value=!0,w.parent&&Vn(w.parent.vnode)&&w.parent.update())}).catch(A=>{if(w.isUnmounted){h=null;return}b(A),N.value=A}),()=>{if(T.value&&v)return kn(v,w);if(N.value&&r)return De(r,{error:N.value});if(o&&!R.value)return kn(o,w)}}})}function kn(e,t){let{ref:o,props:r,children:n,ce:i}=t.vnode,a=De(e,r,n);return a.ref=o,a.ce=i,delete t.vnode.ce,a}var Vn=e=>e.type.__isKeepAlive;function ei(e,t){si(e,"a",t)}function ti(e,t){si(e,"da",t)}function si(e,t,o=xe){let r=e.__wdc||(e.__wdc=()=>{let n=o;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(Pn(t,r,o),o){let n=o.parent;for(;n&&n.parent;)Vn(n.parent.vnode)&&Td(r,t,o,n),n=n.parent}}function Td(e,t,o,r){let n=Pn(t,e,r,!0);en(()=>{Ss(r[t],n)},o)}function Pn(e,t,o=xe,r=!1){if(o){let n=o[e]||(o[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Dt();let u=tn(o),m=yt(t,o,e,a);return u(),Rt(),m});return r?n.unshift(i):n.push(i),i}}var zt=e=>(t,o=xe)=>{(!ws||e==="sp")&&Pn(e,(...r)=>t(...r),o)},Od=zt("bm"),It=zt("m"),ni=zt("bu"),oi=zt("u"),ss=zt("bum"),en=zt("um"),Ad=zt("sp"),Id=zt("rtg"),Vd=zt("rtc");function Pd(e,t=xe){Pn("ec",e,t)}var ri="components",qd="directives";function et(e,t){return ii(ri,e,!0,t)||e}var Md=Symbol.for("v-ndc");function be(e){return ii(qd,e)}function ii(e,t,o=!0,r=!1){let n=pt||xe;if(n){let i=n.type;if(e===ri){let u=bu(i,!1);if(u&&(u===t||u===Ke(t)||u===Yt(Ke(t))))return i}let a=Ir(n[e]||i[e],t)||Ir(n.appContext[e],t);return!a&&r?i:a}}function Ir(e,t){return e&&(e[t]||e[Ke(t)]||e[Yt(Ke(t))])}function ne(e,t,o,r){let n,i=o&&o[r],a=Ee(e);if(a||Fe(e)){let u=a&&$t(e),m=!1,h=!1;u&&(m=!it(e),h=kt(e),e=Ls(e)),n=new Array(e.length);for(let v=0,k=e.length;vt(u,m,void 0,i&&i[m]));else{let u=Object.keys(e);n=new Array(u.length);for(let m=0,h=u.length;me?Di(e)?$n(e):Eo(e.parent):null;var Ws=Ge(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Eo(e.parent),$root:e=>Eo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>To(e),$forceUpdate:e=>e.f||(e.f=()=>{Do(e.update)}),$nextTick:e=>e.n||(e.n=_t.bind(e.proxy)),$watch:e=>Nd.bind(e)});var wo=(e,t)=>e!==Me&&!e.__isScriptSetup&&Ae(e,t),$d={get({_:e},t){if(t==="__v_skip")return!0;let{ctx:o,setupState:r,data:n,props:i,accessCache:a,type:u,appContext:m}=e;if(t[0]!=="$"){let p=a[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return n[t];case 4:return o[t];case 3:return i[t]}else{if(wo(r,t))return a[t]=1,r[t];if(n!==Me&&Ae(n,t))return a[t]=2,n[t];if(Ae(i,t))return a[t]=3,i[t];if(o!==Me&&Ae(o,t))return a[t]=4,o[t];Co&&(a[t]=0)}}let h=Ws[t],v,k;if(h)return t==="$attrs"&&Xe(e.attrs,"get",""),h(e);if((v=u.__cssModules)&&(v=v[t]))return v;if(o!==Me&&Ae(o,t))return a[t]=4,o[t];if(k=m.config.globalProperties,Ae(k,t))return k[t]},set({_:e},t,o){let{data:r,setupState:n,ctx:i}=e;return wo(n,t)?(n[t]=o,!0):r!==Me&&Ae(r,t)?(r[t]=o,!0):Ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:r,appContext:n,props:i,type:a}},u){let m;return!!(o[u]||e!==Me&&u[0]!=="$"&&Ae(e,u)||wo(t,u)||Ae(i,u)||Ae(r,u)||Ae(Ws,u)||Ae(n.config.globalProperties,u)||(m=a.__cssModules)&&m[u])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ae(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Vr(e){return Ee(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}var Co=!0;function Ud(e){let t=To(e),o=e.proxy,r=e.ctx;Co=!1,t.beforeCreate&&Pr(t.beforeCreate,e,"bc");let{data:n,computed:i,methods:a,watch:u,provide:m,inject:h,created:v,beforeMount:k,mounted:p,beforeUpdate:g,updated:w,activated:b,deactivated:T,beforeDestroy:N,beforeUnmount:R,destroyed:I,unmounted:C,render:A,renderTracked:P,renderTriggered:Z,errorCaptured:Y,serverPrefetch:j,expose:z,inheritAttrs:ae,components:se,directives:re,filters:ue}=t;if(h&&Ld(h,r,null),a)for(let me in a){let pe=a[me];_e(pe)&&(r[me]=pe.bind(o))}if(n){let me=n.call(o,o);Ve(me)&&(e.data=ze(me))}if(Co=!0,i)for(let me in i){let pe=i[me],Te=_e(pe)?pe.bind(o,o):_e(pe.get)?pe.get.bind(o,o):rt,Re=!_e(pe)&&_e(pe.set)?pe.set.bind(o):rt,Se=tt({get:Te,set:Re});Object.defineProperty(r,me,{enumerable:!0,configurable:!0,get:()=>Se.value,set:D=>Se.value=D})}if(u)for(let me in u)ai(u[me],r,o,me);if(m){let me=_e(m)?m.call(o):m;Reflect.ownKeys(me).forEach(pe=>{ts(pe,me[pe])})}v&&Pr(v,e,"c");function he(me,pe){Ee(pe)?pe.forEach(Te=>me(Te.bind(o))):pe&&me(pe.bind(o))}if(he(Od,k),he(It,p),he(ni,g),he(oi,w),he(ei,b),he(ti,T),he(Pd,Y),he(Vd,P),he(Id,Z),he(ss,R),he(en,C),he(Ad,j),Ee(z))if(z.length){let me=e.exposed||(e.exposed={});z.forEach(pe=>{Object.defineProperty(me,pe,{get:()=>o[pe],set:Te=>o[pe]=Te,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===rt&&(e.render=A),ae!=null&&(e.inheritAttrs=ae),se&&(e.components=se),re&&(e.directives=re),j&&Ro(e)}function Ld(e,t,o=rt){Ee(e)&&(e=No(e));for(let r in e){let n=e[r],i;Ve(n)?"default"in n?i=lt(n.from||r,n.default,!0):i=lt(n.from||r):i=lt(n),Qe(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[r]=i}}function Pr(e,t,o){yt(Ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,o)}function ai(e,t,o,r){let n=r.includes(".")?Xr(o,r):()=>o[r];if(Fe(e)){let i=t[e];_e(i)&&He(n,i)}else if(_e(e))He(n,e.bind(o));else if(Ve(e))if(Ee(e))e.forEach(i=>ai(i,t,o,r));else{let i=_e(e.handler)?e.handler.bind(o):t[e.handler];_e(i)&&He(n,i,e)}}function To(e){let t=e.type,{mixins:o,extends:r}=t,{mixins:n,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,u=i.get(t),m;return u?m=u:!n.length&&!o&&!r?m=t:(m={},n.length&&n.forEach(h=>Sn(m,h,a,!0)),Sn(m,t,a)),Ve(t)&&i.set(t,m),m}function Sn(e,t,o,r=!1){let{mixins:n,extends:i}=t;i&&Sn(e,i,o,!0),n&&n.forEach(a=>Sn(e,a,o,!0));for(let a in t)if(!(r&&a==="expose")){let u=Fd[a]||o&&o[a];e[a]=u?u(e[a],t[a]):t[a]}return e}var Fd={data:qr,props:Mr,emits:Mr,methods:Bs,computed:Bs,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:Bs,directives:Bs,watch:Hd,provide:qr,inject:zd};function qr(e,t){return t?e?function(){return Ge(_e(e)?e.call(this,this):e,_e(t)?t.call(this,this):t)}:t:e}function zd(e,t){return Bs(No(e),No(t))}function No(e){if(Ee(e)){let t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ke(t)}Modifiers`]||e[`${qt(t)}Modifiers`];function Wd(e,t,...o){if(e.isUnmounted)return;let r=e.vnode.props||Me,n=o,i=t.startsWith("update:"),a=i&&jd(r,t.slice(7));a&&(a.trim&&(n=o.map(v=>Fe(v)?v.trim():v)),a.number&&(n=n.map(eo)));let u,m=r[u=Rs(t)]||r[u=Rs(Ke(t))];!m&&i&&(m=r[u=Rs(qt(t))]),m&&yt(m,e,6,n);let h=r[u+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[u])return;e.emitted[u]=!0,yt(h,e,6,n)}}var Kd=new WeakMap;function di(e,t,o=!1){let r=o?Kd:t.emitsCache,n=r.get(e);if(n!==void 0)return n;let i=e.emits,a={},u=!1;if(!_e(e)){let m=h=>{let v=di(h,t,!0);v&&(u=!0,Ge(a,v))};!o&&t.mixins.length&&t.mixins.forEach(m),e.extends&&m(e.extends),e.mixins&&e.mixins.forEach(m)}return!i&&!u?(Ve(e)&&r.set(e,null),null):(Ee(i)?i.forEach(m=>a[m]=null):Ge(a,i),Ve(e)&&r.set(e,a),a)}function qn(e,t){return!e||!us(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ae(e,t[0].toLowerCase()+t.slice(1))||Ae(e,qt(t))||Ae(e,t))}function ko(e){let{type:t,vnode:o,proxy:r,withProxy:n,propsOptions:[i],slots:a,attrs:u,emit:m,render:h,renderCache:v,props:k,data:p,setupState:g,ctx:w,inheritAttrs:b}=e,T=Cn(e),N,R;try{if(o.shapeFlag&4){let A=n||r,P=A;N=At(h.call(P,A,v,k,g,p,w)),R=u}else{let A=t;N=At(A.length>1?A(k,{attrs:u,slots:a,emit:m}):A(k,null)),R=t.props?u:Yd(u)}}catch(A){es.length=0,Zs(A,e,1),N=De(Ft)}let I=N,C;if(R&&b!==!1){let A=Object.keys(R),{shapeFlag:P}=I;A.length&&P&7&&(i&&A.some(cs)&&(R=Jd(R,i)),I=bs(I,R,!1,!0))}if(o.dirs&&(I=bs(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(o.dirs):o.dirs),o.transition){let A=An(I.type)&&Zr(I)||I;In(A,o.transition)}return N=I,Cn(T),N}var Yd=e=>{let t;for(let o in e)(o==="class"||o==="style"||us(o))&&((t||(t={}))[o]=e[o]);return t},Jd=(e,t)=>{let o={};for(let r in e)(!cs(r)||!(r.slice(9)in t))&&(o[r]=e[r]);return o};function Qd(e,t,o){let{props:r,children:n,component:i}=e,{props:a,children:u,patchFlag:m}=t,h=i.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&m>=0){if(m&1024)return!0;if(m&16)return r?$r(r,a,h):!!a;if(m&8){let v=t.dynamicProps;for(let k=0;kObject.create(ci),fi=e=>Object.getPrototypeOf(e)===ci;function Zd(e,t,o,r=!1){let n={},i=pi();e.propsDefaults=Object.create(null),mi(e,t,n,i);for(let a in e.propsOptions[0])a in n||(n[a]=void 0);o?e.props=r?n:Fs(n):e.type.props?e.props=n:e.props=i,e.attrs=i}function xd(e,t,o,r){let{props:n,attrs:i,vnode:{patchFlag:a}}=e,u=Ie(n),[m]=e.propsOptions,h=!1;if((r||a>0)&&!(a&16)){if(a&8){let v=e.vnode.dynamicProps;for(let k=0;k{m=!0;let[p,g]=hi(k,t,!0);Ge(a,p),g&&u.push(...g)};!o&&t.mixins.length&&t.mixins.forEach(v),e.extends&&v(e.extends),e.mixins&&e.mixins.forEach(v)}if(!i&&!m)return Ve(e)&&r.set(e,Kt),Kt;if(Ee(i))for(let v=0;ve==="_"||e==="_ctx"||e==="$stable",Ao=e=>Ee(e)?e.map(At):[At(e)],tu=(e,t,o)=>{if(t._n)return t;let r=_d((...n)=>Ao(t(...n)),o);return r._c=!1,r},vi=(e,t,o)=>{let r=e._ctx;for(let n in e){if(Oo(n))continue;let i=e[n];if(_e(i))t[n]=tu(n,i,r);else if(i!=null){let a=Ao(i);t[n]=()=>a}}},yi=(e,t)=>{let o=Ao(t);e.slots.default=()=>o},gi=(e,t,o)=>{for(let r in t)(o||!Oo(r))&&(e[r]=t[r])},su=(e,t,o)=>{let r=e.slots=pi();if(e.vnode.shapeFlag&32){let n=t._;n?(gi(r,t,o),o&&un(r,"_",n,!0)):vi(t,r)}else t&&yi(e,t)},nu=(e,t,o)=>{let{vnode:r,slots:n}=e,i=!0,a=Me;if(r.shapeFlag&32){let u=t._;u?o&&u===1?i=!1:gi(n,t,o):(i=!t.$stable,vi(t,n)),a=t}else t&&(yi(e,t),a={default:1});if(i)for(let u in n)!Oo(u)&&a[u]==null&&delete n[u]};function ou(){let e=[]}var at=lu;function bi(e){return ru(e)}function ru(e,t){ou();let o=Os();o.__VUE__=!0;let{insert:r,remove:n,patchProp:i,createElement:a,createText:u,createComment:m,setText:h,setElementText:v,parentNode:k,nextSibling:p,setScopeId:g=rt,insertStaticContent:w}=e,b=(_,S,q,F=null,G=null,M=null,Q=void 0,x=null,X=!!S.dynamicChildren)=>{if(_===S)return;_&&!Hs(_,S)&&(F=te(_),V(_,G,M,!0),_=null),S.patchFlag===-2&&(X=!1,S.dynamicChildren=null);let{type:H,ref:de,shapeFlag:ee}=S;switch(H){case Mn:T(_,S,q,F);break;case Ft:N(_,S,q,F);break;case Ks:_==null&&R(S,q,F,Q);break;case J:re(_,S,q,F,G,M,Q,x,X);break;default:ee&1?P(_,S,q,F,G,M,Q,x,X):ee&6?ue(_,S,q,F,G,M,Q,x,X):(ee&64||ee&128)&&H.process(_,S,q,F,G,M,Q,x,X,fe)}de!=null&&G?Gs(de,_&&_.ref,M,S||_,!S):de==null&&_&&_.ref!=null&&Gs(_.ref,null,M,_,!0)},T=(_,S,q,F)=>{if(_==null)r(S.el=u(S.children),q,F);else{let G=S.el=_.el;S.children!==_.children&&h(G,S.children)}},N=(_,S,q,F)=>{_==null?r(S.el=m(S.children||""),q,F):S.el=_.el},R=(_,S,q,F)=>{[_.el,_.anchor]=w(_.children,S,q,F,_.el,_.anchor)},I=(_,S,q,F)=>{if(S.children!==_.children){let G=p(_.anchor);A(_),[S.el,S.anchor]=w(S.children,q,G,F)}else S.el=_.el,S.anchor=_.anchor},C=({el:_,anchor:S},q,F)=>{let G;for(;_&&_!==S;)G=p(_),r(_,q,F),_=G;r(S,q,F)},A=({el:_,anchor:S})=>{let q;for(;_&&_!==S;)q=p(_),n(_),_=q;n(S)},P=(_,S,q,F,G,M,Q,x,X)=>{if(S.type==="svg"?Q="svg":S.type==="math"&&(Q="mathml"),_==null)Z(S,q,F,G,M,Q,x,X);else{let H=_.el&&_.el._isVueCE?_.el:null;try{H&&H._beginPatch(),z(_,S,G,M,Q,x,X)}finally{H&&H._endPatch()}}},Z=(_,S,q,F,G,M,Q,x)=>{let X,H,{props:de,shapeFlag:ee,transition:ie,dirs:ve}=_;if(X=_.el=a(_.type,M,de&&de.is,de),ee&8?v(X,_.children):ee&16&&j(_.children,X,null,F,G,_o(_,M),Q,x),ve&&Zt(_,null,F,"created"),Y(X,_,_.scopeId,Q,F),de){for(let Ue in de)Ue!=="value"&&!ps(Ue)&&i(X,Ue,null,de[Ue],M,F);"value"in de&&i(X,"value",null,de.value,M),(H=de.onVnodeBeforeMount)&&Tt(H,F,_)}ve&&Zt(_,null,F,"beforeMount");let Oe=iu(G,ie);Oe&&ie.beforeEnter(X),r(X,S,q),((H=de&&de.onVnodeMounted)||Oe||ve)&&at(()=>{let $e;try{H&&Tt(H,F,_),Oe&&ie.enter(X),ve&&Zt(_,null,F,"mounted")}finally{}},G)},Y=(_,S,q,F,G)=>{if(q&&g(_,q),F)for(let M=0;M{for(let H=X;H<_.length;H++){let de=_[H]=x?Lt(_[H]):At(_[H]);b(null,de,S,q,F,G,M,Q,x)}},z=(_,S,q,F,G,M,Q)=>{let x=S.el=_.el,{patchFlag:X,dynamicChildren:H,dirs:de}=S;X|=_.patchFlag&16;let ee=_.props||Me,ie=S.props||Me,ve;if(q&&xt(q,!1),(ve=ie.onVnodeBeforeUpdate)&&Tt(ve,q,S,_),de&&Zt(S,_,q,"beforeUpdate"),q&&xt(q,!0),H&&(!_.dynamicChildren||_.dynamicChildren.length!==H.length)&&(X=0,Q=!1,H=null),(ee.innerHTML&&ie.innerHTML==null||ee.textContent&&ie.textContent==null)&&v(x,""),H?ae(_.dynamicChildren,H,x,q,F,_o(S,G),M):Q||Te(_,S,x,null,q,F,_o(S,G),M,!1),X>0){if(X&16)se(x,ee,ie,q,G);else if(X&2&&ee.class!==ie.class&&i(x,"class",null,ie.class,G),X&4&&i(x,"style",ee.style,ie.style,G),X&8){let Oe=S.dynamicProps;for(let Ue=0;Ue{ve&&Tt(ve,q,S,_),de&&Zt(S,_,q,"updated")},F)},ae=(_,S,q,F,G,M,Q)=>{for(let x=0;x{if(S!==q){if(S!==Me)for(let M in S)!ps(M)&&!(M in q)&&i(_,M,S[M],null,G,F);for(let M in q){if(ps(M))continue;let Q=q[M],x=S[M];Q!==x&&M!=="value"&&i(_,M,x,Q,G,F)}"value"in q&&i(_,"value",S.value,q.value,G)}},re=(_,S,q,F,G,M,Q,x,X)=>{let H=S.el=_?_.el:u(""),de=S.anchor=_?_.anchor:u(""),{patchFlag:ee,dynamicChildren:ie,slotScopeIds:ve}=S;ve&&(x=x?x.concat(ve):ve),_==null?(r(H,q,F),r(de,q,F),j(S.children||[],q,de,G,M,Q,x,X)):ee>0&&ee&64&&ie&&_.dynamicChildren&&_.dynamicChildren.length===ie.length?(ae(_.dynamicChildren,ie,q,G,M,Q,x),(S.key!=null||G&&S===G.subTree)&&wi(_,S,!0)):Te(_,S,q,de,G,M,Q,x,X)},ue=(_,S,q,F,G,M,Q,x,X)=>{S.slotScopeIds=x,_==null?S.shapeFlag&512?G.ctx.activate(S,q,F,Q,X):ke(S,q,F,G,M,Q,X):he(_,S,X)},ke=(_,S,q,F,G,M,Q)=>{let x=_.component=mu(_,F,G);if(Vn(_)&&(x.ctx.renderer=fe),hu(x,!1,Q),x.asyncDep){if(G&&G.registerDep(x,me,Q),!_.el){let X=x.subTree=De(Ft);N(null,X,S,q),_.placeholder=X.el}}else me(x,_,S,q,G,M,Q)},he=(_,S,q)=>{let F=S.component=_.component;if(Qd(_,S,q))if(F.asyncDep&&!F.asyncResolved){pe(F,S,q);return}else F.next=S,F.update();else S.el=_.el,F.vnode=S},me=(_,S,q,F,G,M,Q)=>{let x=()=>{if(_.isMounted){let{next:ee,bu:ie,u:ve,parent:Oe,vnode:Ue}=_;{let dt=ki(_);if(dt){ee&&(ee.el=Ue.el,pe(_,ee,Q)),dt.asyncDep.then(()=>{at(()=>{_.isUnmounted||H()},G)});return}}let $e=ee,je;xt(_,!1),ee?(ee.el=Ue.el,pe(_,ee,Q)):ee=Ue,ie&&Ts(ie),(je=ee.props&&ee.props.onVnodeBeforeUpdate)&&Tt(je,Oe,ee,Ue),xt(_,!0);let We=ko(_),bt=_.subTree;_.subTree=We,b(bt,We,k(bt.el),te(bt),_,G,M),ee.el=We.el,$e===null&&Xd(_,We.el),ve&&at(ve,G),(je=ee.props&&ee.props.onVnodeUpdated)&&at(()=>Tt(je,Oe,ee,Ue),G)}else{let ee,{el:ie,props:ve}=S,{bm:Oe,m:Ue,parent:$e,root:je,type:We}=_,bt=js(S);if(xt(_,!1),Oe&&Ts(Oe),!bt&&(ee=ve&&ve.onVnodeBeforeMount)&&Tt(ee,$e,S),xt(_,!0),ie&&ce){let dt=()=>{_.subTree=ko(_),ce(ie,_.subTree,_,G,null)};bt&&We.__asyncHydrate?We.__asyncHydrate(ie,_,dt):dt()}else{je.ce&&je.ce._hasShadowRoot()&&je.ce._injectChildStyle(We,_.parent?_.parent.type:void 0);let dt=_.subTree=ko(_);b(null,dt,q,F,_,G,M),S.el=dt.el}if(Ue&&at(Ue,G),!bt&&(ee=ve&&ve.onVnodeMounted)){let dt=S;at(()=>Tt(ee,$e,dt),G)}(S.shapeFlag&256||$e&&js($e.vnode)&&$e.vnode.shapeFlag&256)&&_.a&&at(_.a,G),_.isMounted=!0,S=q=F=null}};_.scope.on();let X=_.effect=new hs(x);_.scope.off();let H=_.update=X.run.bind(X),de=_.job=X.runIfDirty.bind(X);de.i=_,de.id=_.uid,X.scheduler=()=>Do(de),xt(_,!0),H()},pe=(_,S,q)=>{S.component=_;let F=_.vnode.props;_.vnode=S,_.next=null,xd(_,S.props,F,q),nu(_,S.children,q),Dt(),Rr(_),Rt()},Te=(_,S,q,F,G,M,Q,x,X=!1)=>{let H=_&&_.children,de=_?_.shapeFlag:0,ee=S.children,{patchFlag:ie,shapeFlag:ve}=S;if(ie>0){if(ie&128){Se(H,ee,q,F,G,M,Q,x,X);return}else if(ie&256){Re(H,ee,q,F,G,M,Q,x,X);return}}ve&8?(de&16&&U(H,G,M),ee!==H&&v(q,ee)):de&16?ve&16?Se(H,ee,q,F,G,M,Q,x,X):U(H,G,M,!0):(de&8&&v(q,""),ve&16&&j(ee,q,F,G,M,Q,x,X))},Re=(_,S,q,F,G,M,Q,x,X)=>{_=_||Kt,S=S||Kt;let H=_.length,de=S.length,ee=Math.min(H,de),ie;for(ie=0;iede?U(_,G,M,!0,!1,ee):j(S,q,F,G,M,Q,x,X,ee)},Se=(_,S,q,F,G,M,Q,x,X)=>{let H=0,de=S.length,ee=_.length-1,ie=de-1;for(;H<=ee&&H<=ie;){let ve=_[H],Oe=S[H]=X?Lt(S[H]):At(S[H]);if(Hs(ve,Oe))b(ve,Oe,q,null,G,M,Q,x,X);else break;H++}for(;H<=ee&&H<=ie;){let ve=_[ee],Oe=S[ie]=X?Lt(S[ie]):At(S[ie]);if(Hs(ve,Oe))b(ve,Oe,q,null,G,M,Q,x,X);else break;ee--,ie--}if(H>ee){if(H<=ie){let ve=ie+1,Oe=veie)for(;H<=ee;)V(_[H],G,M,!0),H++;else{let ve=H,Oe=H,Ue=new Map;for(H=Oe;H<=ie;H++){let ut=S[H]=X?Lt(S[H]):At(S[H]);ut.key!=null&&Ue.set(ut.key,H)}let $e,je=0,We=ie-Oe+1,bt=!1,dt=0,Ns=new Array(We);for(H=0;H=We){V(ut,G,M,!0);continue}let Et;if(ut.key!=null)Et=Ue.get(ut.key);else for($e=Oe;$e<=ie;$e++)if(Ns[$e-Oe]===0&&Hs(ut,S[$e])){Et=$e;break}Et===void 0?V(ut,G,M,!0):(Ns[Et-Oe]=H+1,Et>=dt?dt=Et:bt=!0,b(ut,S[Et],q,null,G,M,Q,x,X),je++)}let Zo=bt?au(Ns):Kt;for($e=Zo.length-1,H=We-1;H>=0;H--){let ut=Oe+H,Et=S[ut],xo=S[ut+1],er=ut+1{let{el:M,type:Q,transition:x,children:X,shapeFlag:H}=_;if(H&6){D(_.component.subTree,S,q,F);return}if(H&128){_.suspense.move(S,q,F);return}if(H&64){Q.move(_,S,q,fe);return}if(Q===J){r(M,S,q);for(let ee=0;eex.enter(M),G));else{let{leave:ee,delayLeave:ie,afterLeave:ve}=x,Oe=()=>{_.ctx.isUnmounted?n(M):r(M,S,q)},Ue=()=>{let $e=M._isLeaving||!!M[bo];M._isLeaving&&M[bo](!0),x.persisted&&!$e?Oe():ee(M,()=>{Oe(),ve&&ve()})};ie?ie(M,Oe,Ue):Ue()}else r(M,S,q)},V=(_,S,q,F=!1,G=!1)=>{let{type:M,props:Q,ref:x,children:X,dynamicChildren:H,shapeFlag:de,patchFlag:ee,dirs:ie,cacheIndex:ve,memo:Oe}=_;if(ee===-2&&(G=!1),x!=null&&(Dt(),Gs(x,null,q,_,!0),Rt()),ve!=null&&(S.renderCache[ve]=void 0),de&256){S.ctx.deactivate(_);return}let Ue=de&1&&ie,$e=!js(_),je;if($e&&(je=Q&&Q.onVnodeBeforeUnmount)&&Tt(je,S,_),de&6)le(_.component,q,F);else{if(de&128){_.suspense.unmount(q,F);return}Ue&&Zt(_,null,S,"beforeUnmount"),de&64?_.type.remove(_,S,q,fe,F):H&&!H.hasOnce&&(M!==J||ee>0&&ee&64)?U(H,S,q,!1,!0):(M===J&&ee&384||!G&&de&16)&&U(X,S,q),F&&W(_)}let We=Oe!=null&&ve==null;($e&&(je=Q&&Q.onVnodeUnmounted)||Ue||We)&&at(()=>{je&&Tt(je,S,_),Ue&&Zt(_,null,S,"unmounted"),We&&(_.el=null)},q)},W=_=>{let{type:S,el:q,anchor:F,transition:G}=_;if(S===J){oe(q,F);return}if(S===Ks){A(_);return}let M=()=>{n(q),G&&!G.persisted&&G.afterLeave&&G.afterLeave()};if(_.shapeFlag&1&&G&&!G.persisted){let{leave:Q,delayLeave:x}=G,X=()=>Q(q,M);x?x(_.el,M,X):X()}else M()},oe=(_,S)=>{let q;for(;_!==S;)q=p(_),n(_),_=q;n(S)},le=(_,S,q)=>{let{bum:F,scope:G,job:M,subTree:Q,um:x,m:X,a:H}=_;Lr(X),Lr(H),F&&Ts(F),G.stop(),M&&(M.flags|=8,V(Q,_,S,q)),x&&at(x,S),at(()=>{_.isUnmounted=!0},S)},U=(_,S,q,F=!1,G=!1,M=0)=>{for(let Q=M;Q<_.length;Q++)V(_[Q],S,q,F,G)},te=_=>{if(_.shapeFlag&6)return te(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();let S=p(_.anchor||_.el),q=S&&S[Sd];return q?p(q):S},L=!1,K=(_,S,q)=>{let F;_==null?S._vnode&&(V(S._vnode,null,null,!0),F=S._vnode.component):b(S._vnode||null,_,S,null,null,null,q),S._vnode=_,L||(L=!0,Rr(F),Kr(),L=!1)},fe={p:b,um:V,m:D,r:W,mt:ke,mc:j,pc:Te,pbc:ae,n:te,o:e},Ce,ce;return t&&([Ce,ce]=t(fe)),{render:K,hydrate:Ce,createApp:Gd(K,Ce)}}function _o({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function xt({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function iu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function wi(e,t,o=!1){let r=e.children,n=t.children;if(Ee(r)&&Ee(n))for(let i=0;i>1,e[o[u]]0&&(t[r]=o[i-1]),o[i]=r)}}for(i=o.length,a=o[i-1];i-- >0;)o[i]=a,a=t[a];return o}function ki(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ki(t)}function Lr(e){if(e)for(let t=0;te.__isSuspense;function lu(e,t){t&&t.pendingBranch?Ee(e)?t.effects.push(...e):t.effects.push(e):Wr(e)}var J=Symbol.for("v-fgt"),Mn=Symbol.for("v-txt"),Ft=Symbol.for("v-cmt"),Ks=Symbol.for("v-stc"),es=[],ft=null;function l(e=!1){es.push(ft=e?null:[])}function Ci(){es.pop(),ft=es[es.length-1]||null}var Js=1;function Dn(e,t=!1){Js+=e,e<0&&ft&&t&&(ft.hasOnce=!0)}function Ni(e){return e.dynamicChildren=Js>0?ft||Kt:null,Ci(),Js>0&&ft&&ft.push(e),e}function d(e,t,o,r,n,i){return Ni(s(e,t,o,r,n,i,!0))}function ks(e,t,o,r,n){return Ni(De(e,t,o,r,n,!0))}function Rn(e){return e?e.__v_isVNode===!0:!1}function Hs(e,t){return e.type===t.type&&e.key===t.key}var Si=({key:e})=>e??null,_n=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Fe(e)||Qe(e)||_e(e)?{i:pt,r:e,k:t,f:!!o}:e:null);function s(e,t=null,o=null,r=0,n=null,i=e===J?0:1,a=!1,u=!1){let m={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Si(t),ref:t&&_n(t),scopeId:Jr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:pt};return u?(Tn(m,o),i&128&&e.normalize(m)):o&&(m.shapeFlag|=Fe(o)?8:16),Js>0&&!a&&ft&&(m.patchFlag>0||i&6)&&m.patchFlag!==32&&ft.push(m),m}var De=du;function du(e,t=null,o=null,r=0,n=null,i=!1){if((!e||e===Md)&&(e=Ft),Rn(e)){let u=bs(e,t,!0);return o&&Tn(u,o),Js>0&&!i&&ft&&(u.shapeFlag&6?ft[ft.indexOf(e)]=u:ft.push(u)),u.patchFlag=-2,u}if(wu(e)&&(e=e.__vccOpts),t){t=uu(t);let{class:u,style:m}=t;u&&!Fe(u)&&(t.class=O(u)),Ve(m)&&(zs(m)&&!Ee(m)&&(m=Ge({},m)),t.style=Pe(m))}let a=Fe(e)?1:Ei(e)?128:An(e)?64:Ve(e)?4:_e(e)?2:0;return s(e,t,o,r,n,a,i,!0)}function uu(e){return e?zs(e)||fi(e)?Ge({},e):e:null}function bs(e,t,o=!1,r=!1){let{props:n,ref:i,patchFlag:a,children:u,transition:m}=e,h=t?cu(n||{},t):n,v={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Si(h),ref:t&&t.ref?o&&i?Ee(i)?i.concat(_n(t)):[i,_n(t)]:_n(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:m,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bs(e.ssContent),ssFallback:e.ssFallback&&bs(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return m&&r&&In(v,m.clone(v)),v}function y(e=" ",t=0){return De(Mn,null,e,t)}function ge(e,t){let o=De(Ks,null,e);return o.staticCount=t,o}function f(e="",t=!1){return t?(l(),ks(Ft,null,e)):De(Ft,null,e)}function At(e){return e==null||typeof e=="boolean"?De(Ft):Ee(e)?De(J,null,e.slice()):Rn(e)?Lt(e):De(Mn,null,String(e))}function Lt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bs(e)}function Tn(e,t){let o=0,{shapeFlag:r}=e;if(t==null)t=null;else if(Ee(t))o=16;else if(typeof t=="object")if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Tn(e,n()),n._c&&(n._d=!0));return}else{o=32;let n=t._;!n&&!fi(t)?t._ctx=pt:n===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(_e(t)){if(r&65){Tn(e,{default:t});return}t={default:t,_ctx:pt},o=32}else t=String(t),r&64?(o=16,t=[y(t)]):o=8;e.children=t,e.shapeFlag|=o}function cu(...e){let t={};for(let o=0;oxe||pt,On,Qs;{let e=Os(),t=(o,r)=>{let n;return(n=e[o])||(n=e[o]=[]),n.push(r),i=>{n.length>1?n.forEach(a=>a(i)):n[0](i)}};On=t("__VUE_INSTANCE_SETTERS__",o=>xe=o),Qs=t("__VUE_SSR_SETTERS__",o=>ws=o)}var tn=e=>{let t=xe;return On(e),e.scope.on(),()=>{e.scope.off(),On(t)}},Fr=()=>{xe&&xe.scope.off(),On(null)};function Di(e){return e.vnode.shapeFlag&4}var ws=!1;function hu(e,t=!1,o=!1){t&&Qs(t);let{props:r,children:n}=e.vnode,i=Di(e);Zd(e,r,i,t),su(e,n,o||t);let a=i?vu(e,t):void 0;return t&&Qs(!1),a}function vu(e,t){let o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$d);let{setup:r}=o;if(r){Dt();let n=e.setupContext=r.length>1?gu(e):null,i=tn(e),a=Xs(r,e,0,[e.props,n]),u=Zn(a);if(Rt(),i(),(u||e.sp)&&!js(e)&&Ro(e),u){if(a.then(Fr,Fr),t)return a.then(m=>{Qs(!0);try{zr(e,m,t)}finally{Qs(!1)}}).catch(m=>{Zs(m,e,0)});e.asyncDep=a}else zr(e,a,t)}else Ri(e,t)}function zr(e,t,o){_e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ve(t)&&(e.setupState=wn(t)),Ri(e,o)}var Hr,Br;function Ri(e,t,o){let r=e.type;if(!e.render){if(!t&&Hr&&!r.render){let n=r.template||To(e).template;if(n){let{isCustomElement:i,compilerOptions:a}=e.appContext.config,{delimiters:u,compilerOptions:m}=r,h=Ge(Ge({isCustomElement:i,delimiters:u},a),m);r.render=Hr(n,h)}}e.render=r.render||rt,Br&&Br(e)}{let n=tn(e);Dt();try{Ud(e)}finally{Rt(),n()}}}var yu={get(e,t){return Xe(e,"get",""),e[t]}};function gu(e){let t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,yu),slots:e.slots,emit:e.emit,expose:t}}function $n(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wn(go(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Ws)return Ws[o](e)},has(t,o){return o in t||o in Ws}})):e.proxy}function bu(e,t=!0){return _e(e)?e.displayName||e.name:e.name||t&&e.__name}function wu(e){return _e(e)&&"__vccOpts"in e}var tt=(e,t)=>Nr(e,t,ws);function Ne(e,t,o){try{Dn(-1);let r=arguments.length;return r===2?Ve(t)&&!Ee(t)?Rn(t)?De(e,null,[t]):De(e,t):De(e,null,t):(r>3?o=Array.prototype.slice.call(arguments,2):r===3&&Rn(o)&&(o=[o]),De(e,t,o))}finally{Dn(1)}}var ku="3.5.42";var qo,Ti=typeof window<"u"&&window.trustedTypes;if(Ti)try{qo=Ti.createPolicy("vue",{createHTML:e=>e})}catch{}var Ui=qo?e=>qo.createHTML(e):e=>e,_u="http://www.w3.org/2000/svg",Eu="http://www.w3.org/1998/Math/MathML",Ht=typeof document<"u"?document:null,Oi=Ht&&Ht.createElement("template"),Cu={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,r)=>{let n=t==="svg"?Ht.createElementNS(_u,e):t==="mathml"?Ht.createElementNS(Eu,e):o?Ht.createElement(e,{is:o}):Ht.createElement(e);return e==="select"&&r&&r.multiple!=null&&n.setAttribute("multiple",r.multiple),n},createText:e=>Ht.createTextNode(e),createComment:e=>Ht.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ht.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,r,n,i){let a=o?o.previousSibling:t.lastChild;if(n&&(n===i||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),o),!(n===i||!(n=n.nextSibling)););else{Oi.innerHTML=Ui(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);let u=Oi.content;if(r==="svg"||r==="mathml"){let m=u.firstChild;for(;m.firstChild;)u.appendChild(m.firstChild);u.removeChild(m)}t.insertBefore(u,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}};var Nu=Symbol("_vtc");function Su(e,t,o){let r=e[Nu];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}var Ln=Symbol("_vod"),Li=Symbol("_vsh"),B={name:"show",beforeMount(e,{value:t},{transition:o}){e[Ln]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):sn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:r}){!t!=!o&&(r?t?(r.beforeEnter(e),sn(e,!0),r.enter(e)):r.leave(e,()=>{sn(e,!1)}):sn(e,t))},beforeUnmount(e,{value:t}){sn(e,t)}};function sn(e,t){e.style.display=t?e[Ln]:"none",e[Li]=!t}var Du=Symbol("");var Ru=/(?:^|;)\s*display\s*:/;function Tu(e,t,o){let r=e.style,n=Fe(o),i=!1;if(o&&!n){if(t)if(Fe(t))for(let a of t.split(";")){let u=a.slice(0,a.indexOf(":")).trim();o[u]==null&&nn(r,u,"")}else for(let a in t)o[a]==null&&nn(r,a,"");for(let a in o){a==="display"&&(i=!0);let u=o[a];u!=null?Au(e,a,!Fe(t)&&t?t[a]:void 0,u)||nn(r,a,u):nn(r,a,"")}}else if(n){if(t!==o){let a=r[Du];a&&(o+=";"+a),r.cssText=o,i=Ru.test(o)}}else t&&e.removeAttribute("style");Ln in e&&(e[Ln]=i?r.display:"",e[Li]&&(r.display="none"))}var Un=/\s*!important$/;function nn(e,t,o){if(Ee(o))o.forEach(r=>nn(e,t,r));else if(o==null&&(o=""),t.startsWith("--"))Un.test(o)?e.setProperty(t,o.replace(Un,""),"important"):e.setProperty(t,o);else{let r=Ou(e,t);Un.test(o)?e.setProperty(qt(r),o.replace(Un,""),"important"):e[r]=o}}var Ai=["Webkit","Moz","ms"],Vo={};function Ou(e,t){let o=Vo[t];if(o)return o;let r=Ke(t);if(r!=="filter"&&r in e)return Vo[t]=r;r=Yt(r);for(let n=0;nPo||(Uu.then(()=>Po=0),Po=Date.now());function Fu(e,t){let o=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=o.attached)return;let n=o.value;if(Ee(n)){let i=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{i.call(r),r._stopped=!0};let a=n.slice(),u=[r];for(let m=0;me.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zu=(e,t,o,r,n,i)=>{let a=n==="svg";t==="class"?Su(e,r,a):t==="style"?Tu(e,o,r):us(t)?cs(t)||Pu(e,t,o,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Hu(e,t,r,a))?(Pi(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Vi(e,t,r,a,i,t!=="value")):e._isVueCE&&(Bu(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Fe(r)))?Pi(e,Ke(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Vi(e,t,r,a))};function Hu(e,t,o,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Mi(t)&&_e(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){let n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return Mi(t)&&Fe(o)?!1:t in e}function Bu(e,t){let o=e._def.props;if(!o)return!1;let r=Ke(t);return Array.isArray(o)?o.some(n=>Ke(n)===r):Object.keys(o).some(n=>Ke(n)===r)}var Gu=["ctrl","shift","alt","meta"],ju={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Gu.some(o=>e[`${o}Key`]&&!t.includes(o))},we=(e,t)=>{if(!e)return e;let o=e._withMods||(e._withMods={}),r=t.join(".");return o[r]||(o[r]=((n,...i)=>{for(let a=0;a{let t=Ku().createApp(...e),{mount:o}=t;return t.mount=r=>{let n=Ju(r);if(!n)return;let i=t._component;!_e(i)&&!i.render&&!i.template&&(i.template=n.innerHTML),n.nodeType===1&&(n.textContent="");let a=o(n,!1,Yu(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),a},t});function Yu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ju(e){return Fe(e)?document.querySelector(e):e}var rs=typeof document<"u";function Hi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Qu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Hi(e.default)}var qe=Object.assign;function Fn(e,t){let o={};for(let r in t){let n=t[r];o[r]=gt(n)?n.map(e):e(n)}return o}var Es=()=>{},gt=Array.isArray;function Uo(e,t){let o={};for(let r in e)o[r]=r in t?t[r]:e[r];return o}var Bi=/#/g,Xu=/&/g,Zu=/\//g,xu=/=/g,ec=/\?/g,Gi=/\+/g,tc=/%5B/g,sc=/%5D/g,ji=/%5E/g,nc=/%60/g,Wi=/%7B/g,oc=/%7C/g,Ki=/%7D/g,rc=/%20/g;function Lo(e){return e==null?"":encodeURI(""+e).replace(oc,"|").replace(tc,"[").replace(sc,"]")}function Yi(e){return Lo(e).replace(Wi,"{").replace(Ki,"}").replace(ji,"^")}function Mo(e){return Lo(e).replace(Gi,"%2B").replace(rc,"+").replace(Bi,"%23").replace(Xu,"%26").replace(nc,"`").replace(Wi,"{").replace(Ki,"}").replace(ji,"^")}function ic(e){return Mo(e).replace(xu,"%3D")}function ac(e){return Lo(e).replace(Bi,"%23").replace(ec,"%3F")}function Ji(e){return ac(e).replace(Zu,"%2F")}function _s(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}var lc=/\/$/,dc=e=>e.replace(lc,"");function zn(e,t,o="/"){let r,n={},i="",a="",u=t.indexOf("#"),m=t.indexOf("?");return m=u>=0&&m>u?-1:m,m>=0&&(r=t.slice(0,m),i=t.slice(m,u>0?u:t.length),n=e(i.slice(1))),u>=0&&(r=r||t.slice(0,u),a=t.slice(u,t.length)),r=cc(r??t,o),{fullPath:r+i+a,path:r,query:n,hash:_s(a)}}function Qi(e,t){let o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function Fo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Xi(e,t,o){let r=t.matched.length-1,n=o.matched.length-1;return r>-1&&r===n&&ns(t.matched[r],o.matched[n])&&zo(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function ns(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function zo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var o in e)if(!uc(e[o],t[o]))return!1;return!0}function uc(e,t){return gt(e)?zi(e,t):gt(t)?zi(t,e):e?.valueOf()===t?.valueOf()}function zi(e,t){return gt(t)?e.length===t.length&&e.every((o,r)=>o===t[r]):e.length===1&&e[0]===t}function cc(e,t){if(e.startsWith("/"))return e;if(!e)return t;let o=t.split("/"),r=e.split("/"),n=r[r.length-1];(n===".."||n===".")&&r.push("");let i=o.length-1,a,u;for(a=0;a1&&i--;else break;return o.slice(0,i).join("/")+"/"+r.slice(a).join("/")}var Gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Hn=(function(e){return e.pop="pop",e.push="push",e})({}),Bn=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Zi(e){if(!e)if(rs){let t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),dc(e)}var pc=/^[^#]+#/;function xi(e,t){return e.replace(pc,"#")+t}function fc(e,t){let o=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-o.left-(t.left||0),top:r.top-o.top-(t.top||0)}}var on=()=>({left:window.scrollX,top:window.scrollY});function ea(e){let t;if("el"in e){let o=e.el,r=typeof o=="string"&&o.startsWith("#"),n=typeof o=="string"?r?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!n)return;t=fc(n,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Ho(e,t){return(history.state?history.state.position-t:-1)+e}var $o=new Map;function ta(e,t){$o.set(e,t)}function sa(e){let t=$o.get(e);return $o.delete(e),t}function mc(e){return typeof e=="string"||e&&typeof e=="object"}function Bo(e){return typeof e=="string"||typeof e=="symbol"}var Be=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({}),na=Symbol("");var c5={[Be.MATCHER_NOT_FOUND]({location:e,currentLocation:t}){return`No match for +"use strict";(()=>{var Hl=Object.defineProperty;var Bl=(e,t)=>{for(var o in t)Hl(e,o,{get:t[o],enumerable:!0})};var ye=["abap","abc","actionscript","ada","alda","apache_conf","apex","applescript","aql","asciidoc","asl","assembly_x86","autohotkey","batchfile","c9search","c_cpp","cirru","clojure","cobol","coffee","coldfusion","crystal","csharp","csound_document","csound_orchestra","csound_score","csp","css","curly","d","dart","diff","django","dockerfile","dot","drools","edifact","eiffel","ejs","elixir","elm","erlang","forth","fortran","fsharp","fsl","ftl","gcode","gherkin","gitignore","glsl","gobstones","golang","graphqlschema","groovy","haml","handlebars","haskell","haskell_cabal","haxe","hjson","html","html_elixir","html_ruby","ini","io","jack","jade","java","javascript","json","json5","jsoniq","jsp","jssm","jsx","julia","kotlin","latex","less","liquid","lisp","livescript","logiql","logtalk","lsl","lua","luapage","lucene","makefile","markdown","mask","matlab","maze","mediawiki","mel","mixal","mushcode","mysql","nginx","nim","nix","nsis","nunjucks","objectivec","ocaml","pascal","perl","perl6","pgsql","php","php_laravel_blade","pig","plain_text","powershell","praat","prisma","prolog","properties","protobuf","puppet","python","qml","r","razor","rdoc","red","redshift","rhtml","rst","ruby","rust","sass","scad","scala","scheme","scss","sh","sjs","slim","smarty","snippets","soy_template","space","sparql","sql","sqlserver","stylus","svg","swift","tcl","terraform","tex","text","textile","toml","tsx","turtle","twig","typescript","vala","vbscript","velocity","verilog","vhdl","visualforce","wollok","xml","xquery","yaml","zeek"];var ge={org:"/script/org.f61f262915.min.js",notebook:"/script/notebook.c3144c18ae.min.js",editor:"/script/editor.4f142d3adc.min.js",markdown:"/script/markdown.44f2e93820.min.js",pdf:"/script/pdf.4d9cc6ff49.min.js"};var an=new Map,Wl=ge;function Kt(e){if(!an.has(e)){let t=document.createElement("script");t.src=Wl[e];let o=new Promise((r,n)=>{t.onload=r,t.onerror=()=>{an.delete(e),t.remove(),n(new Error(`Unable to load ${e}. Please retry.`))}});an.set(e,o),document.head.appendChild(t)}return an.get(e)}async function sr(){await Kt("editor"),ace.config.set("basePath","/script/external/ace/")}function us(e){let t=Object.create(null);for(let o of e.split(","))t[o]=1;return o=>o in t}var $e={},Yt=[],it=()=>{},Zn=()=>!1,cs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ps=e=>e.startsWith("onUpdate:"),je=Object.assign,Ds=(e,t)=>{let o=e.indexOf(t);o>-1&&e.splice(o,1)},Kl=Object.prototype.hasOwnProperty,Ie=(e,t)=>Kl.call(e,t),Ce=Array.isArray,qt=e=>Rs(e)==="[object Map]",ds=e=>Rs(e)==="[object Set]",nr=e=>Rs(e)==="[object Date]";var Ee=e=>typeof e=="function",ze=e=>typeof e=="string",pt=e=>typeof e=="symbol",Pe=e=>e!==null&&typeof e=="object",xn=e=>(Pe(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),ir=Object.prototype.toString,Rs=e=>ir.call(e),eo=e=>Rs(e).slice(8,-1),ln=e=>Rs(e)==="[object Object]",dn=e=>ze(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,fs=us(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");var un=e=>{let t=Object.create(null);return(o=>t[o]||(t[o]=e(o)))},Yl=/-\w/g,Ye=un(e=>e.replace(Yl,t=>t.slice(1).toUpperCase())),Jl=/\B([A-Z])/g,Mt=un(e=>e.replace(Jl,"-$1").toLowerCase()),Jt=un(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ts=un(e=>e?`on${Jt(e)}`:""),vt=(e,t)=>!Object.is(e,t),Os=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:o})},to=e=>{let t=parseFloat(e);return isNaN(t)?e:t};var or,As=()=>or||(or=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qe(e){if(Ce(e)){let t={};for(let o=0;o{if(o){let r=o.split(Xl);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function O(e){let t="";if(ze(e))t=e;else if(Ce(e))for(let o=0;o!!(e&&e.__v_isRef===!0),c=e=>ze(e)?e:e==null?"":Ce(e)||Pe(e)&&(e.toString===ir||!Ee(e.toString))?dr(e)?c(e.value):JSON.stringify(e,ur,2):String(e),ur=(e,t)=>dr(t)?ur(e,t.value):qt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[r,n],i)=>(o[Xn(r,i)+" =>"]=n,o),{})}:ds(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Xn(o))}:pt(t)?Xn(t):Pe(t)&&!Ce(t)&&!ln(t)?String(t):t,Xn=(e,t="")=>{var o;return pt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};function sd(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var Je,qs=class{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Je&&(Je.active?(this.parent=Je,this.index=(Je.scopes||(Je.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){let r=this.scopes.slice();for(t=0,o=r.length;t0&&--this._on===0){if(Je===this)Je=this.prevScope;else{let t=Je;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,r;for(o=0,r=this.effects.length;o0)return;if(Ps){let t=Ps;for(Ps=void 0;t;){let o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Vs;){let t=Vs;for(Vs=void 0;t;){let o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=o}}if(e)throw e}function vr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function yr(e){let t,o=e.depsTail,r=o;for(;r;){let n=r.prevDep;r.version===-1?(r===o&&(o=n),vo(r),nd(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=n}e.deps=t,e.depsTail=o}function ro(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(gr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function gr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ms)||(e.globalVersion=Ms,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ro(e))))return;e.flags|=2;let t=e.dep,o=Fe,r=kt;Fe=e,kt=!0;try{vr(e);let n=e.fn(e._value);(t.version===0||vt(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{Fe=o,kt=r,yr(e),e.flags&=-3}}function vo(e,t=!1){let{dep:o,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),o.subs===e&&(o.subs=r,!r&&o.computed)){o.computed.flags&=-5;for(let i=o.computed.deps;i;i=i.nextDep)vo(i,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function nd(e){let{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}var kt=!0,br=[];function Rt(){br.push(kt),kt=!1}function Tt(){let e=br.pop();kt=e===void 0?!0:e}function cr(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let o=Fe;Fe=void 0;try{t()}finally{Fe=o}}}var Ms=0,io=class{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},$s=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Fe||!kt||Fe===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Fe)o=this.activeLink=new io(Fe,this),Fe.deps?(o.prevDep=Fe.depsTail,Fe.depsTail.nextDep=o,Fe.depsTail=o):Fe.deps=Fe.depsTail=o,wr(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){let r=o.nextDep;r.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=r),o.prevDep=Fe.depsTail,o.nextDep=void 0,Fe.depsTail.nextDep=o,Fe.depsTail=o,Fe.deps===o&&(Fe.deps=r)}return o}trigger(t){this.version++,Ms++,this.notify(t)}notify(t){mo();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{ho()}}};function wr(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)wr(r)}let o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}var ao=new WeakMap,Xt=Symbol(""),lo=Symbol(""),Us=Symbol("");function Ze(e,t,o){if(kt&&Fe){let r=ao.get(e);r||ao.set(e,r=new Map);let n=r.get(o);n||(r.set(o,n=new $s),n.map=r,n.key=o),n.track()}}function St(e,t,o,r,n,i){let a=ao.get(e);if(!a){Ms++;return}let u=m=>{m&&m.trigger()};if(mo(),t==="clear")a.forEach(u);else{let m=Ce(e),h=m&&dn(o);if(m&&o==="length"){let v=Number(r);a.forEach((k,p)=>{(p==="length"||p===Us||!pt(p)&&p>=v)&&u(k)})}else switch((o!==void 0||a.has(void 0))&&u(a.get(o)),h&&u(a.get(Us)),t){case"add":m?h&&u(a.get("length")):(u(a.get(Xt)),qt(e)&&u(a.get(lo)));break;case"delete":m||(u(a.get(Xt)),qt(e)&&u(a.get(lo)));break;case"set":qt(e)&&u(a.get(Xt));break}}ho()}function hs(e){let t=Ve(e);return t===e?t:(Ze(t,"iterate",Us),at(e)?t:t.map(yt))}function Fs(e){return Ze(e=Ve(e),"iterate",Us),e}function Nt(e,t){return _t(e)?Zt(Ut(e)?yt(t):t):yt(t)}var od={__proto__:null,[Symbol.iterator](){return no(this,Symbol.iterator,e=>Nt(this,e))},concat(...e){return hs(this).concat(...e.map(t=>Ce(t)?hs(t):t))},entries(){return no(this,"entries",e=>(e[1]=Nt(this,e[1]),e))},every(e,t){return $t(this,"every",e,t,void 0,arguments)},filter(e,t){return $t(this,"filter",e,t,o=>o.map(r=>Nt(this,r)),arguments)},find(e,t){return $t(this,"find",e,t,o=>Nt(this,o),arguments)},findIndex(e,t){return $t(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return $t(this,"findLast",e,t,o=>Nt(this,o),arguments)},findLastIndex(e,t){return $t(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return $t(this,"forEach",e,t,void 0,arguments)},includes(...e){return oo(this,"includes",e)},indexOf(...e){return oo(this,"indexOf",e)},join(e){return hs(this).join(e)},lastIndexOf(...e){return oo(this,"lastIndexOf",e)},map(e,t){return $t(this,"map",e,t,void 0,arguments)},pop(){return Is(this,"pop")},push(...e){return Is(this,"push",e)},reduce(e,...t){return pr(this,"reduce",e,t)},reduceRight(e,...t){return pr(this,"reduceRight",e,t)},shift(){return Is(this,"shift")},some(e,t){return $t(this,"some",e,t,void 0,arguments)},splice(...e){return Is(this,"splice",e)},toReversed(){return hs(this).toReversed()},toSorted(e){return hs(this).toSorted(e)},toSpliced(...e){return hs(this).toSpliced(...e)},unshift(...e){return Is(this,"unshift",e)},values(){return no(this,"values",e=>Nt(this,e))}};function no(e,t,o){let r=Fs(e),n=r[t]();return r!==e&&!at(e)&&(n._next=n.next,n.next=()=>{let i=n._next();return i.done||(i.value=o(i.value)),i}),n}var rd=Array.prototype;function $t(e,t,o,r,n,i){let a=Fs(e),u=a!==e&&!at(e),m=a[t];if(m!==rd[t]){let k=m.apply(e,i);return u?yt(k):k}let h=o;a!==e&&(u?h=function(k,p){return o.call(this,Nt(e,k),p,e)}:o.length>2&&(h=function(k,p){return o.call(this,k,p,e)}));let v=m.call(a,h,r);return u&&n?n(v):v}function pr(e,t,o,r){let n=Fs(e),i=n!==e&&!at(e),a=o,u=!1;n!==e&&(i?(u=r.length===0,a=function(h,v,k){return u&&(u=!1,h=Nt(e,h)),o.call(this,h,Nt(e,v),k,e)}):o.length>3&&(a=function(h,v,k){return o.call(this,h,v,k,e)}));let m=n[t](a,...r);return u?Nt(e,m):m}function oo(e,t,o){let r=Ve(e);Ze(r,"iterate",Us);let n=r[t](...o);return(n===-1||n===!1)&&Hs(o[0])?(o[0]=Ve(o[0]),r[t](...o)):n}function Is(e,t,o=[]){Rt(),mo();let r=Ve(e)[t].apply(e,o);return ho(),Tt(),r}var id=us("__proto__,__v_isRef,__isVue"),kr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(pt));function ad(e){pt(e)||(e=String(e));let t=Ve(this);return Ze(t,"has",e),t.hasOwnProperty(e)}var vn=class{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,r){if(o==="__v_skip")return t.__v_skip;let n=this._isReadonly,i=this._isShallow;if(o==="__v_isReactive")return!n;if(o==="__v_isReadonly")return n;if(o==="__v_isShallow")return i;if(o==="__v_raw")return r===(n?i?vd:Cr:i?Er:_r).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;let a=Ce(t);if(!n){let m;if(a&&(m=od[o]))return m;if(o==="hasOwnProperty")return ad}let u=Reflect.get(t,o,Xe(t)?t:r);if((pt(o)?kr.has(o):id(o))||(n||Ze(t,"get",o),i))return u;if(Xe(u)){let m=a&&dn(o)?u:u.value;return n&&Pe(m)?gn(m):m}return Pe(u)?n?gn(u):He(u):u}},yn=class extends vn{constructor(t=!1){super(!1,t)}set(t,o,r,n){let i=t[o],a=Ce(t)&&dn(o);if(!this._isShallow){let h=_t(i);if(!at(r)&&!_t(r)&&(i=Ve(i),r=Ve(r)),!a&&Xe(i)&&!Xe(r))return h||(i.value=r),!0}let u=a?Number(o)e,fn=e=>Reflect.getPrototypeOf(e);function cd(e,t,o){return function(...r){let n=this.__v_raw,i=Ve(n),a=qt(i),u=e==="entries"||e===Symbol.iterator&&a,m=e==="keys"&&a,h=n[e](...r),v=o?co:t?Zt:yt;return!t&&Ze(i,"iterate",m?lo:Xt),je(Object.create(h),{next(){let{value:k,done:p}=h.next();return p?{value:k,done:p}:{value:u?[v(k[0]),v(k[1])]:v(k),done:p}}})}}function mn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function pd(e,t){let o={get(n){let i=this.__v_raw,a=Ve(i),u=Ve(n);e||(vt(n,u)&&Ze(a,"get",n),Ze(a,"get",u));let{has:m}=fn(a),h=t?co:e?Zt:yt;if(m.call(a,n))return h(i.get(n));if(m.call(a,u))return h(i.get(u));i!==a&&i.get(n)},get size(){let n=this.__v_raw;return!e&&Ze(Ve(n),"iterate",Xt),n.size},has(n){let i=this.__v_raw,a=Ve(i),u=Ve(n);return e||(vt(n,u)&&Ze(a,"has",n),Ze(a,"has",u)),n===u?i.has(n):i.has(n)||i.has(u)},forEach(n,i){let a=this,u=a.__v_raw,m=Ve(u),h=t?co:e?Zt:yt;return!e&&Ze(m,"iterate",Xt),u.forEach((v,k)=>n.call(i,h(v),h(k),a))}};return je(o,e?{add:mn("add"),set:mn("set"),delete:mn("delete"),clear:mn("clear")}:{add(n){let i=Ve(this),a=fn(i),u=Ve(n),m=!t&&!at(n)&&!_t(n)?u:n;return a.has.call(i,m)||vt(n,m)&&a.has.call(i,n)||vt(u,m)&&a.has.call(i,u)||(i.add(m),St(i,"add",m,m)),this},set(n,i){!t&&!at(i)&&!_t(i)&&(i=Ve(i));let a=Ve(this),{has:u,get:m}=fn(a),h=u.call(a,n);h||(n=Ve(n),h=u.call(a,n));let v=m.call(a,n);return a.set(n,i),h?vt(i,v)&&St(a,"set",n,i,v):St(a,"add",n,i),this},delete(n){let i=Ve(this),{has:a,get:u}=fn(i),m=a.call(i,n);m||(n=Ve(n),m=a.call(i,n));let h=u?u.call(i,n):void 0,v=i.delete(n);return m&&St(i,"delete",n,void 0,h),v},clear(){let n=Ve(this),i=n.size!==0,a=void 0,u=n.clear();return i&&St(n,"clear",void 0,void 0,a),u}}),["keys","values","entries",Symbol.iterator].forEach(n=>{o[n]=cd(n,e,t)}),o}function yo(e,t){let o=pd(e,t);return(r,n,i)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?r:Reflect.get(Ie(o,n)&&n in r?o:r,n,i)}var fd={get:yo(!1,!1)},md={get:yo(!1,!0)},hd={get:yo(!0,!1)};var _r=new WeakMap,Er=new WeakMap,Cr=new WeakMap,vd=new WeakMap;function yd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function He(e){return _t(e)?e:go(e,!1,ld,fd,_r)}function zs(e){return go(e,!1,ud,md,Er)}function gn(e){return go(e,!0,dd,hd,Cr)}function go(e,t,o,r,n){if(!Pe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let i=n.get(e);if(i)return i;let a=yd(eo(e));if(a===0)return e;let u=new Proxy(e,a===2?r:o);return n.set(e,u),u}function Ut(e){return _t(e)?Ut(e.__v_raw):!!(e&&e.__v_isReactive)}function _t(e){return!!(e&&e.__v_isReadonly)}function at(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function Ve(e){let t=e&&e.__v_raw;return t?Ve(t):e}function bo(e){return!Ie(e,"__v_skip")&&Object.isExtensible(e)&&cn(e,"__v_skip",!0),e}var yt=e=>Pe(e)?He(e):e,Zt=e=>Pe(e)?gn(e):e;function Xe(e){return e?e.__v_isRef===!0:!1}function xe(e){return Nr(e,!1)}function wn(e){return Nr(e,!0)}function Nr(e,t){return Xe(e)?e:new po(e,t)}var po=class{constructor(t,o){this.dep=new $s,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ve(t),this._value=o?t:yt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){let o=this._rawValue,r=this.__v_isShallow||at(t)||_t(t);t=r?t:Ve(t),vt(t,o)&&(this._rawValue=t,this._value=r?t:yt(t),this.dep.trigger())}};function Lt(e){return Xe(e)?e.value:e}var gd={get:(e,t,o)=>t==="__v_raw"?e:Lt(Reflect.get(e,t,o)),set:(e,t,o,r)=>{let n=e[t];return Xe(n)&&!Xe(o)?(n.value=o,!0):Reflect.set(e,t,o,r)}};function kn(e){return Ut(e)?e:new Proxy(e,gd)}var fo=class{constructor(t,o,r){this.fn=t,this.setter=o,this._value=void 0,this.dep=new $s(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ms-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Fe!==this)return hr(this,!0),!0}get value(){let t=this.dep.track();return gr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function Sr(e,t,o=!1){let r,n;return Ee(e)?r=e:(r=e.get,n=e.set),new fo(r,n,o)}var hn={},bn=new WeakMap,Qt;function Dr(e,t=!1,o=Qt){if(o){let r=bn.get(o);r||bn.set(o,r=[]),r.push(e)}}function Rr(e,t,o=$e){let{immediate:r,deep:n,once:i,scheduler:a,augmentJob:u,call:m}=o,h=A=>{(o.onWarn||sd)("Invalid watch source: ",A,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},v=A=>n?A:at(A)||n===!1||n===0?Dt(A,1):Dt(A),k,p,g,w,b=!1,T=!1;if(Xe(e)?(p=()=>e.value,b=at(e)):Ut(e)?(p=()=>v(e),b=!0):Ce(e)?(T=!0,b=e.some(A=>Ut(A)||at(A)),p=()=>e.map(A=>{if(Xe(A))return A.value;if(Ut(A))return v(A);if(Ee(A))return m?m(A,2):A()})):Ee(e)?t?p=m?()=>m(e,2):e:p=()=>{if(g){Rt();try{g()}finally{Tt()}}let A=Qt;Qt=k;try{return m?m(e,3,[w]):e(w)}finally{Qt=A}}:p=it,t&&n){let A=p,P=n===!0?1/0:n;p=()=>Dt(A(),P)}let N=fr(),R=()=>{k.stop(),N&&N.active&&Ds(N.effects,k)};if(i&&t){let A=t;t=(...P)=>{let Z=A(...P);return R(),Z}}let I=T?new Array(e.length).fill(hn):hn,C=A=>{if(!(!(k.flags&1)||!k.dirty&&!A))if(t){let P=k.run();if(A||n||b||(T?P.some((Z,Y)=>vt(Z,I[Y])):vt(P,I))){g&&g();let Z=Qt;Qt=k;try{let Y=[P,I===hn?void 0:T&&I[0]===hn?[]:I,w];I=P,m?m(t,3,Y):t(...Y)}finally{Qt=Z}}}else k.run()};return u&&u(C),k=new vs(p),k.scheduler=a?()=>a(C,!1):C,w=A=>Dr(A,!1,k),g=k.onStop=()=>{let A=bn.get(k);if(A){if(m)m(A,4);else for(let P of A)P();bn.delete(k)}},t?r?C(!0):I=k.run():a?a(C.bind(null,!0),!0):k.run(),R.pause=k.pause.bind(k),R.resume=k.resume.bind(k),R.stop=R,R}function Dt(e,t=1/0,o){if(t<=0||!Pe(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Xe(e))Dt(e.value,t,o);else if(Ce(e))for(let r=0;r{Dt(r,t,o)});else if(ln(e)){for(let r in e)Dt(e[r],t,o);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Dt(e[r],t,o)}return e}function Zs(e,t,o,r){try{return r?e(...r):e()}catch(n){xs(n,t,o)}}function gt(e,t,o,r){if(Ee(e)){let n=Zs(e,t,o,r);return n&&xn(n)&&n.catch(i=>{xs(i,t,o)}),n}if(Ce(e)){let n=[];for(let i=0;i>>1,n=ot[r],i=Js(n);i=Js(o)?ot.push(e):ot.splice(Ed(t),0,e),e.flags|=1,Wr()}}function Wr(){Cn||(Cn=jr.then(Jr))}function Kr(e){if(!Ce(e))Wt&&e.id===-1?Wt.splice(ys+1,0,e):e.flags&1||(gs.push(e),e.flags|=1);else for(let t=0;tJs(o)-Js(r));if(gs.length=0,Wt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Jr(e){let t=it;try{for(At=0;At{r._d&&Rn(-1);let i=Nn(t),a=ts.length,u;try{u=e(...n)}finally{for(let m=ts.length;m>a;m--)Ni();Nn(i),r._d&&Rn(1)}return u};return r._n=!0,r._c=!0,r._d=!0,r}function E(e,t){if(ft===null)return e;let o=Un(ft),r=e.dirs||(e.dirs=[]);for(let n=0;n1)return o&&Ee(t)?t.call(r&&r.proxy):t}}var Nd=Symbol.for("v-scx"),Sd=()=>{{let e=dt(Nd);return e}};function Be(e,t,o){return Xr(e,t,o)}function Xr(e,t,o=$e){let{immediate:r,deep:n,flush:i,once:a}=o,u=je({},o),m=t&&r||!t&&i!=="post",h;if(ks){if(i==="sync"){let g=Sd();h=g.__watcherHandles||(g.__watcherHandles=[])}else if(!m){let g=()=>{};return g.stop=it,g.resume=it,g.pause=it,g}}let v=et;u.call=(g,w,b)=>gt(g,v,w,b);let k=!1;i==="post"?u.scheduler=g=>{lt(g,v&&v.suspense)}:i!=="sync"&&(k=!0,u.scheduler=(g,w)=>{w?g():Ro(g)}),u.augmentJob=g=>{t&&(g.flags|=4),k&&(g.flags|=2,v&&(g.id=v.uid,g.i=v))};let p=Rr(e,t,u);return ks&&(h?h.push(p):m&&p()),p}function Dd(e,t,o){let r=this.proxy,n=ze(e)?e.includes(".")?Zr(r,e):()=>r[e]:e.bind(r,r),i;Ee(t)?i=t:(i=t.handler,o=t);let a=sn(this),u=Xr(n,i.bind(r),o);return a(),u}function Zr(e,t){let o=t.split(".");return()=>{let r=e;for(let n=0;ne.__isTeleport;var wo=Symbol("_leaveCb");function Td(e){let t=e[0];if(e.length>1){let o=!1;for(let r of e)if(r.type!==zt){t=r,o=!0;break}}return t}function xr(e){if(!Pn(e))return In(e.type)&&e.children?Td(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ee(o.default))return o.default()}}function Vn(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let o=e.component.subTree;Vn(In(o.type)&&xr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function en(e,t){return Ee(e)?je({name:e.name},t,{setup:e}):e}function To(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Or(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}var Sn=new WeakMap;function js(e,t,o,r,n=!1){if(Ce(e)){e.forEach((b,T)=>js(b,t&&(Ce(t)?t[T]:t),o,r,n));return}if(Ws(r)&&!n){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&js(e,t,o,r.component.subTree);return}let i=r.shapeFlag&4?Un(r.component):r.el,a=n?null:i,{i:u,r:m}=e,h=t&&t.r,v=u.refs===$e?u.refs={}:u.refs,k=u.setupState,p=Ve(k),g=k===$e?Zn:b=>Or(v,b)?!1:Ie(p,b),w=(b,T)=>!(T&&Or(v,T));if(h!=null&&h!==m){if(Ar(t),ze(h))v[h]=null,g(h)&&(k[h]=null);else if(Xe(h)){let b=t;w(h,b.k)&&(h.value=null),b.k&&(v[b.k]=null)}}if(Ee(m))Zs(m,u,12,[a,v]);else{let b=ze(m),T=Xe(m);if(b||T){let N=()=>{if(e.f){let R=b?g(m)?k[m]:v[m]:w(m)||!e.k?m.value:v[e.k];if(n)Ce(R)&&Ds(R,i);else if(Ce(R))R.includes(i)||R.push(i);else if(b)v[m]=[i],g(m)&&(k[m]=v[m]);else{let I=[i];w(m,e.k)&&(m.value=I),e.k&&(v[e.k]=I)}}else b?(v[m]=a,g(m)&&(k[m]=a)):T&&(w(m,e.k)&&(m.value=a),e.k&&(v[e.k]=a))};if(a){let R=()=>{N(),Sn.delete(e)};R.id=-1,Sn.set(e,R),lt(R,o)}else Ar(e),N()}}}function Ar(e){let t=Sn.get(e);t&&(t.flags|=8,Sn.delete(e))}var Ir=e=>e.nodeType===8;var H4=As().requestIdleCallback||(e=>setTimeout(e,1)),B4=As().cancelIdleCallback||(e=>clearTimeout(e));function Od(e,t){if(Ir(e)&&e.data==="["){let o=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Ir(r))if(r.data==="]"){if(--o===0)break}else r.data==="["&&o++;r=r.nextSibling}}else t(e)}var Ws=e=>!!e.type.__asyncLoader;function ei(e){Ee(e)&&(e={loader:e});let{loader:t,loadingComponent:o,errorComponent:r,delay:n=200,hydrate:i,timeout:a,suspensible:u=!0,onError:m}=e,h=null,v,k=0,p=()=>(k++,h=null,g()),g=()=>{let w;return h||(w=h=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),m)return new Promise((T,N)=>{m(b,()=>T(p()),()=>N(b),k+1)});throw b}).then(b=>w!==h&&h?h:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),v=b,b)))};return en({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(w,b,T){let N=w.isConnected,R=!1;(b.bu||(b.bu=[])).push(()=>R=!0);let I=()=>{R||!w.parentNode||N&&!w.isConnected||T()},C=i?()=>{let A=i(I,P=>Od(w,P));A&&(b.bum||(b.bum=[])).push(A)}:I;v?C():g().then(()=>!b.isUnmounted&&C())},get __asyncResolved(){return v},setup(){let w=et;if(To(w),v)return()=>_n(v,w);let b=A=>{h=null,xs(A,w,13,!r)};if(u&&w.suspense||ks)return g().then(A=>()=>_n(A,w)).catch(A=>(b(A),()=>r?Re(r,{error:A}):null));let T=xe(!1),N=xe(),R=xe(!!n),I,C;return tn(()=>{I!=null&&clearTimeout(I),C!=null&&clearTimeout(C)}),n&&(C=setTimeout(()=>{w.isUnmounted||(R.value=!1)},n)),a!=null&&(I=setTimeout(()=>{if(!w.isUnmounted&&!T.value&&!N.value){let A=new Error(`Async component timed out after ${a}ms.`);b(A),N.value=A}},a)),g().then(()=>{w.isUnmounted||(T.value=!0,w.parent&&Pn(w.parent.vnode)&&w.parent.update())}).catch(A=>{if(w.isUnmounted){h=null;return}b(A),N.value=A}),()=>{if(T.value&&v)return _n(v,w);if(N.value&&r)return Re(r,{error:N.value});if(o&&!R.value)return _n(o,w)}}})}function _n(e,t){let{ref:o,props:r,children:n,ce:i}=t.vnode,a=Re(e,r,n);return a.ref=o,a.ce=i,delete t.vnode.ce,a}var Pn=e=>e.type.__isKeepAlive;function ti(e,t){ni(e,"a",t)}function si(e,t){ni(e,"da",t)}function ni(e,t,o=et){let r=e.__wdc||(e.__wdc=()=>{let n=o;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(qn(t,r,o),o){let n=o.parent;for(;n&&n.parent;)Pn(n.parent.vnode)&&Ad(r,t,o,n),n=n.parent}}function Ad(e,t,o,r){let n=qn(t,e,r,!0);tn(()=>{Ds(r[t],n)},o)}function qn(e,t,o=et,r=!1){if(o){let n=o[e]||(o[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Rt();let u=sn(o),m=gt(t,o,e,a);return u(),Tt(),m});return r?n.unshift(i):n.push(i),i}}var Ht=e=>(t,o=et)=>{(!ks||e==="sp")&&qn(e,(...r)=>t(...r),o)},Id=Ht("bm"),Vt=Ht("m"),oi=Ht("bu"),ri=Ht("u"),ns=Ht("bum"),tn=Ht("um"),Vd=Ht("sp"),Pd=Ht("rtg"),qd=Ht("rtc");function Md(e,t=et){qn("ec",e,t)}var ii="components",$d="directives";function tt(e,t){return ai(ii,e,!0,t)||e}var Ud=Symbol.for("v-ndc");function we(e){return ai($d,e)}function ai(e,t,o=!0,r=!1){let n=ft||et;if(n){let i=n.type;if(e===ii){let u=ku(i,!1);if(u&&(u===t||u===Ye(t)||u===Jt(Ye(t))))return i}let a=Vr(n[e]||i[e],t)||Vr(n.appContext[e],t);return!a&&r?i:a}}function Vr(e,t){return e&&(e[t]||e[Ye(t)]||e[Jt(Ye(t))])}function ne(e,t,o,r){let n,i=o&&o[r],a=Ce(e);if(a||ze(e)){let u=a&&Ut(e),m=!1,h=!1;u&&(m=!at(e),h=_t(e),e=Fs(e)),n=new Array(e.length);for(let v=0,k=e.length;vt(u,m,void 0,i&&i[m]));else{let u=Object.keys(e);n=new Array(u.length);for(let m=0,h=u.length;me?Ri(e)?Un(e):Co(e.parent):null;var Ks=je(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Co(e.parent),$root:e=>Co(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Oo(e),$forceUpdate:e=>e.f||(e.f=()=>{Ro(e.update)}),$nextTick:e=>e.n||(e.n=Et.bind(e.proxy)),$watch:e=>Dd.bind(e)});var ko=(e,t)=>e!==$e&&!e.__isScriptSetup&&Ie(e,t),Ld={get({_:e},t){if(t==="__v_skip")return!0;let{ctx:o,setupState:r,data:n,props:i,accessCache:a,type:u,appContext:m}=e;if(t[0]!=="$"){let p=a[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return n[t];case 4:return o[t];case 3:return i[t]}else{if(ko(r,t))return a[t]=1,r[t];if(n!==$e&&Ie(n,t))return a[t]=2,n[t];if(Ie(i,t))return a[t]=3,i[t];if(o!==$e&&Ie(o,t))return a[t]=4,o[t];No&&(a[t]=0)}}let h=Ks[t],v,k;if(h)return t==="$attrs"&&Ze(e.attrs,"get",""),h(e);if((v=u.__cssModules)&&(v=v[t]))return v;if(o!==$e&&Ie(o,t))return a[t]=4,o[t];if(k=m.config.globalProperties,Ie(k,t))return k[t]},set({_:e},t,o){let{data:r,setupState:n,ctx:i}=e;return ko(n,t)?(n[t]=o,!0):r!==$e&&Ie(r,t)?(r[t]=o,!0):Ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:r,appContext:n,props:i,type:a}},u){let m;return!!(o[u]||e!==$e&&u[0]!=="$"&&Ie(e,u)||ko(t,u)||Ie(i,u)||Ie(r,u)||Ie(Ks,u)||Ie(n.config.globalProperties,u)||(m=a.__cssModules)&&m[u])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ie(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Pr(e){return Ce(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}var No=!0;function Fd(e){let t=Oo(e),o=e.proxy,r=e.ctx;No=!1,t.beforeCreate&&qr(t.beforeCreate,e,"bc");let{data:n,computed:i,methods:a,watch:u,provide:m,inject:h,created:v,beforeMount:k,mounted:p,beforeUpdate:g,updated:w,activated:b,deactivated:T,beforeDestroy:N,beforeUnmount:R,destroyed:I,unmounted:C,render:A,renderTracked:P,renderTriggered:Z,errorCaptured:Y,serverPrefetch:j,expose:z,inheritAttrs:ae,components:se,directives:re,filters:ue}=t;if(h&&zd(h,r,null),a)for(let me in a){let pe=a[me];Ee(pe)&&(r[me]=pe.bind(o))}if(n){let me=n.call(o,o);Pe(me)&&(e.data=He(me))}if(No=!0,i)for(let me in i){let pe=i[me],Oe=Ee(pe)?pe.bind(o,o):Ee(pe.get)?pe.get.bind(o,o):it,Te=!Ee(pe)&&Ee(pe.set)?pe.set.bind(o):it,De=st({get:Oe,set:Te});Object.defineProperty(r,me,{enumerable:!0,configurable:!0,get:()=>De.value,set:D=>De.value=D})}if(u)for(let me in u)li(u[me],r,o,me);if(m){let me=Ee(m)?m.call(o):m;Reflect.ownKeys(me).forEach(pe=>{ss(pe,me[pe])})}v&&qr(v,e,"c");function he(me,pe){Ce(pe)?pe.forEach(Oe=>me(Oe.bind(o))):pe&&me(pe.bind(o))}if(he(Id,k),he(Vt,p),he(oi,g),he(ri,w),he(ti,b),he(si,T),he(Md,Y),he(qd,P),he(Pd,Z),he(ns,R),he(tn,C),he(Vd,j),Ce(z))if(z.length){let me=e.exposed||(e.exposed={});z.forEach(pe=>{Object.defineProperty(me,pe,{get:()=>o[pe],set:Oe=>o[pe]=Oe,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===it&&(e.render=A),ae!=null&&(e.inheritAttrs=ae),se&&(e.components=se),re&&(e.directives=re),j&&To(e)}function zd(e,t,o=it){Ce(e)&&(e=So(e));for(let r in e){let n=e[r],i;Pe(n)?"default"in n?i=dt(n.from||r,n.default,!0):i=dt(n.from||r):i=dt(n),Xe(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[r]=i}}function qr(e,t,o){gt(Ce(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,o)}function li(e,t,o,r){let n=r.includes(".")?Zr(o,r):()=>o[r];if(ze(e)){let i=t[e];Ee(i)&&Be(n,i)}else if(Ee(e))Be(n,e.bind(o));else if(Pe(e))if(Ce(e))e.forEach(i=>li(i,t,o,r));else{let i=Ee(e.handler)?e.handler.bind(o):t[e.handler];Ee(i)&&Be(n,i,e)}}function Oo(e){let t=e.type,{mixins:o,extends:r}=t,{mixins:n,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,u=i.get(t),m;return u?m=u:!n.length&&!o&&!r?m=t:(m={},n.length&&n.forEach(h=>Dn(m,h,a,!0)),Dn(m,t,a)),Pe(t)&&i.set(t,m),m}function Dn(e,t,o,r=!1){let{mixins:n,extends:i}=t;i&&Dn(e,i,o,!0),n&&n.forEach(a=>Dn(e,a,o,!0));for(let a in t)if(!(r&&a==="expose")){let u=Hd[a]||o&&o[a];e[a]=u?u(e[a],t[a]):t[a]}return e}var Hd={data:Mr,props:$r,emits:$r,methods:Gs,computed:Gs,beforeCreate:nt,created:nt,beforeMount:nt,mounted:nt,beforeUpdate:nt,updated:nt,beforeDestroy:nt,beforeUnmount:nt,destroyed:nt,unmounted:nt,activated:nt,deactivated:nt,errorCaptured:nt,serverPrefetch:nt,components:Gs,directives:Gs,watch:Gd,provide:Mr,inject:Bd};function Mr(e,t){return t?e?function(){return je(Ee(e)?e.call(this,this):e,Ee(t)?t.call(this,this):t)}:t:e}function Bd(e,t){return Gs(So(e),So(t))}function So(e){if(Ce(e)){let t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Mt(t)}Modifiers`];function Yd(e,t,...o){if(e.isUnmounted)return;let r=e.vnode.props||$e,n=o,i=t.startsWith("update:"),a=i&&Kd(r,t.slice(7));a&&(a.trim&&(n=o.map(v=>ze(v)?v.trim():v)),a.number&&(n=n.map(to)));let u,m=r[u=Ts(t)]||r[u=Ts(Ye(t))];!m&&i&&(m=r[u=Ts(Mt(t))]),m&>(m,e,6,n);let h=r[u+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[u])return;e.emitted[u]=!0,gt(h,e,6,n)}}var Jd=new WeakMap;function ui(e,t,o=!1){let r=o?Jd:t.emitsCache,n=r.get(e);if(n!==void 0)return n;let i=e.emits,a={},u=!1;if(!Ee(e)){let m=h=>{let v=ui(h,t,!0);v&&(u=!0,je(a,v))};!o&&t.mixins.length&&t.mixins.forEach(m),e.extends&&m(e.extends),e.mixins&&e.mixins.forEach(m)}return!i&&!u?(Pe(e)&&r.set(e,null),null):(Ce(i)?i.forEach(m=>a[m]=null):je(a,i),Pe(e)&&r.set(e,a),a)}function Mn(e,t){return!e||!cs(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ie(e,t[0].toLowerCase()+t.slice(1))||Ie(e,Mt(t))||Ie(e,t))}function _o(e){let{type:t,vnode:o,proxy:r,withProxy:n,propsOptions:[i],slots:a,attrs:u,emit:m,render:h,renderCache:v,props:k,data:p,setupState:g,ctx:w,inheritAttrs:b}=e,T=Nn(e),N,R;try{if(o.shapeFlag&4){let A=n||r,P=A;N=It(h.call(P,A,v,k,g,p,w)),R=u}else{let A=t;N=It(A.length>1?A(k,{attrs:u,slots:a,emit:m}):A(k,null)),R=t.props?u:Qd(u)}}catch(A){ts.length=0,xs(A,e,1),N=Re(zt)}let I=N,C;if(R&&b!==!1){let A=Object.keys(R),{shapeFlag:P}=I;A.length&&P&7&&(i&&A.some(ps)&&(R=Xd(R,i)),I=ws(I,R,!1,!0))}if(o.dirs&&(I=ws(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(o.dirs):o.dirs),o.transition){let A=In(I.type)&&xr(I)||I;Vn(A,o.transition)}return N=I,Nn(T),N}var Qd=e=>{let t;for(let o in e)(o==="class"||o==="style"||cs(o))&&((t||(t={}))[o]=e[o]);return t},Xd=(e,t)=>{let o={};for(let r in e)(!ps(r)||!(r.slice(9)in t))&&(o[r]=e[r]);return o};function Zd(e,t,o){let{props:r,children:n,component:i}=e,{props:a,children:u,patchFlag:m}=t,h=i.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&m>=0){if(m&1024)return!0;if(m&16)return r?Ur(r,a,h):!!a;if(m&8){let v=t.dynamicProps;for(let k=0;kObject.create(pi),mi=e=>Object.getPrototypeOf(e)===pi;function eu(e,t,o,r=!1){let n={},i=fi();e.propsDefaults=Object.create(null),hi(e,t,n,i);for(let a in e.propsOptions[0])a in n||(n[a]=void 0);o?e.props=r?n:zs(n):e.type.props?e.props=n:e.props=i,e.attrs=i}function tu(e,t,o,r){let{props:n,attrs:i,vnode:{patchFlag:a}}=e,u=Ve(n),[m]=e.propsOptions,h=!1;if((r||a>0)&&!(a&16)){if(a&8){let v=e.vnode.dynamicProps;for(let k=0;k{m=!0;let[p,g]=vi(k,t,!0);je(a,p),g&&u.push(...g)};!o&&t.mixins.length&&t.mixins.forEach(v),e.extends&&v(e.extends),e.mixins&&e.mixins.forEach(v)}if(!i&&!m)return Pe(e)&&r.set(e,Yt),Yt;if(Ce(i))for(let v=0;ve==="_"||e==="_ctx"||e==="$stable",Io=e=>Ce(e)?e.map(It):[It(e)],nu=(e,t,o)=>{if(t._n)return t;let r=Cd((...n)=>Io(t(...n)),o);return r._c=!1,r},yi=(e,t,o)=>{let r=e._ctx;for(let n in e){if(Ao(n))continue;let i=e[n];if(Ee(i))t[n]=nu(n,i,r);else if(i!=null){let a=Io(i);t[n]=()=>a}}},gi=(e,t)=>{let o=Io(t);e.slots.default=()=>o},bi=(e,t,o)=>{for(let r in t)(o||!Ao(r))&&(e[r]=t[r])},ou=(e,t,o)=>{let r=e.slots=fi();if(e.vnode.shapeFlag&32){let n=t._;n?(bi(r,t,o),o&&cn(r,"_",n,!0)):yi(t,r)}else t&&gi(e,t)},ru=(e,t,o)=>{let{vnode:r,slots:n}=e,i=!0,a=$e;if(r.shapeFlag&32){let u=t._;u?o&&u===1?i=!1:bi(n,t,o):(i=!t.$stable,yi(t,n)),a=t}else t&&(gi(e,t),a={default:1});if(i)for(let u in n)!Ao(u)&&a[u]==null&&delete n[u]};function iu(){let e=[]}var lt=uu;function wi(e){return au(e)}function au(e,t){iu();let o=As();o.__VUE__=!0;let{insert:r,remove:n,patchProp:i,createElement:a,createText:u,createComment:m,setText:h,setElementText:v,parentNode:k,nextSibling:p,setScopeId:g=it,insertStaticContent:w}=e,b=(_,S,q,F=null,G=null,M=null,Q=void 0,x=null,X=!!S.dynamicChildren)=>{if(_===S)return;_&&!Bs(_,S)&&(F=te(_),V(_,G,M,!0),_=null),S.patchFlag===-2&&(X=!1,S.dynamicChildren=null);let{type:H,ref:de,shapeFlag:ee}=S;switch(H){case $n:T(_,S,q,F);break;case zt:N(_,S,q,F);break;case Ys:_==null&&R(S,q,F,Q);break;case J:re(_,S,q,F,G,M,Q,x,X);break;default:ee&1?P(_,S,q,F,G,M,Q,x,X):ee&6?ue(_,S,q,F,G,M,Q,x,X):(ee&64||ee&128)&&H.process(_,S,q,F,G,M,Q,x,X,fe)}de!=null&&G?js(de,_&&_.ref,M,S||_,!S):de==null&&_&&_.ref!=null&&js(_.ref,null,M,_,!0)},T=(_,S,q,F)=>{if(_==null)r(S.el=u(S.children),q,F);else{let G=S.el=_.el;S.children!==_.children&&h(G,S.children)}},N=(_,S,q,F)=>{_==null?r(S.el=m(S.children||""),q,F):S.el=_.el},R=(_,S,q,F)=>{[_.el,_.anchor]=w(_.children,S,q,F,_.el,_.anchor)},I=(_,S,q,F)=>{if(S.children!==_.children){let G=p(_.anchor);A(_),[S.el,S.anchor]=w(S.children,q,G,F)}else S.el=_.el,S.anchor=_.anchor},C=({el:_,anchor:S},q,F)=>{let G;for(;_&&_!==S;)G=p(_),r(_,q,F),_=G;r(S,q,F)},A=({el:_,anchor:S})=>{let q;for(;_&&_!==S;)q=p(_),n(_),_=q;n(S)},P=(_,S,q,F,G,M,Q,x,X)=>{if(S.type==="svg"?Q="svg":S.type==="math"&&(Q="mathml"),_==null)Z(S,q,F,G,M,Q,x,X);else{let H=_.el&&_.el._isVueCE?_.el:null;try{H&&H._beginPatch(),z(_,S,G,M,Q,x,X)}finally{H&&H._endPatch()}}},Z=(_,S,q,F,G,M,Q,x)=>{let X,H,{props:de,shapeFlag:ee,transition:ie,dirs:ve}=_;if(X=_.el=a(_.type,M,de&&de.is,de),ee&8?v(X,_.children):ee&16&&j(_.children,X,null,F,G,Eo(_,M),Q,x),ve&&xt(_,null,F,"created"),Y(X,_,_.scopeId,Q,F),de){for(let Le in de)Le!=="value"&&!fs(Le)&&i(X,Le,null,de[Le],M,F);"value"in de&&i(X,"value",null,de.value,M),(H=de.onVnodeBeforeMount)&&Ot(H,F,_)}ve&&xt(_,null,F,"beforeMount");let Ae=lu(G,ie);Ae&&ie.beforeEnter(X),r(X,S,q),((H=de&&de.onVnodeMounted)||Ae||ve)&<(()=>{let Ue;try{H&&Ot(H,F,_),Ae&&ie.enter(X),ve&&xt(_,null,F,"mounted")}finally{}},G)},Y=(_,S,q,F,G)=>{if(q&&g(_,q),F)for(let M=0;M{for(let H=X;H<_.length;H++){let de=_[H]=x?Ft(_[H]):It(_[H]);b(null,de,S,q,F,G,M,Q,x)}},z=(_,S,q,F,G,M,Q)=>{let x=S.el=_.el,{patchFlag:X,dynamicChildren:H,dirs:de}=S;X|=_.patchFlag&16;let ee=_.props||$e,ie=S.props||$e,ve;if(q&&es(q,!1),(ve=ie.onVnodeBeforeUpdate)&&Ot(ve,q,S,_),de&&xt(S,_,q,"beforeUpdate"),q&&es(q,!0),H&&(!_.dynamicChildren||_.dynamicChildren.length!==H.length)&&(X=0,Q=!1,H=null),(ee.innerHTML&&ie.innerHTML==null||ee.textContent&&ie.textContent==null)&&v(x,""),H?ae(_.dynamicChildren,H,x,q,F,Eo(S,G),M):Q||Oe(_,S,x,null,q,F,Eo(S,G),M,!1),X>0){if(X&16)se(x,ee,ie,q,G);else if(X&2&&ee.class!==ie.class&&i(x,"class",null,ie.class,G),X&4&&i(x,"style",ee.style,ie.style,G),X&8){let Ae=S.dynamicProps;for(let Le=0;Le{ve&&Ot(ve,q,S,_),de&&xt(S,_,q,"updated")},F)},ae=(_,S,q,F,G,M,Q)=>{for(let x=0;x{if(S!==q){if(S!==$e)for(let M in S)!fs(M)&&!(M in q)&&i(_,M,S[M],null,G,F);for(let M in q){if(fs(M))continue;let Q=q[M],x=S[M];Q!==x&&M!=="value"&&i(_,M,x,Q,G,F)}"value"in q&&i(_,"value",S.value,q.value,G)}},re=(_,S,q,F,G,M,Q,x,X)=>{let H=S.el=_?_.el:u(""),de=S.anchor=_?_.anchor:u(""),{patchFlag:ee,dynamicChildren:ie,slotScopeIds:ve}=S;ve&&(x=x?x.concat(ve):ve),_==null?(r(H,q,F),r(de,q,F),j(S.children||[],q,de,G,M,Q,x,X)):ee>0&&ee&64&&ie&&_.dynamicChildren&&_.dynamicChildren.length===ie.length?(ae(_.dynamicChildren,ie,q,G,M,Q,x),(S.key!=null||G&&S===G.subTree)&&ki(_,S,!0)):Oe(_,S,q,de,G,M,Q,x,X)},ue=(_,S,q,F,G,M,Q,x,X)=>{S.slotScopeIds=x,_==null?S.shapeFlag&512?G.ctx.activate(S,q,F,Q,X):_e(S,q,F,G,M,Q,X):he(_,S,X)},_e=(_,S,q,F,G,M,Q)=>{let x=_.component=vu(_,F,G);if(Pn(_)&&(x.ctx.renderer=fe),yu(x,!1,Q),x.asyncDep){if(G&&G.registerDep(x,me,Q),!_.el){let X=x.subTree=Re(zt);N(null,X,S,q),_.placeholder=X.el}}else me(x,_,S,q,G,M,Q)},he=(_,S,q)=>{let F=S.component=_.component;if(Zd(_,S,q))if(F.asyncDep&&!F.asyncResolved){pe(F,S,q);return}else F.next=S,F.update();else S.el=_.el,F.vnode=S},me=(_,S,q,F,G,M,Q)=>{let x=()=>{if(_.isMounted){let{next:ee,bu:ie,u:ve,parent:Ae,vnode:Le}=_;{let ut=_i(_);if(ut){ee&&(ee.el=Le.el,pe(_,ee,Q)),ut.asyncDep.then(()=>{lt(()=>{_.isUnmounted||H()},G)});return}}let Ue=ee,We;es(_,!1),ee?(ee.el=Le.el,pe(_,ee,Q)):ee=Le,ie&&Os(ie),(We=ee.props&&ee.props.onVnodeBeforeUpdate)&&Ot(We,Ae,ee,Le),es(_,!0);let Ke=_o(_),wt=_.subTree;_.subTree=Ke,b(wt,Ke,k(wt.el),te(wt),_,G,M),ee.el=Ke.el,Ue===null&&xd(_,Ke.el),ve&<(ve,G),(We=ee.props&&ee.props.onVnodeUpdated)&<(()=>Ot(We,Ae,ee,Le),G)}else{let ee,{el:ie,props:ve}=S,{bm:Ae,m:Le,parent:Ue,root:We,type:Ke}=_,wt=Ws(S);if(es(_,!1),Ae&&Os(Ae),!wt&&(ee=ve&&ve.onVnodeBeforeMount)&&Ot(ee,Ue,S),es(_,!0),ie&&ce){let ut=()=>{_.subTree=_o(_),ce(ie,_.subTree,_,G,null)};wt&&Ke.__asyncHydrate?Ke.__asyncHydrate(ie,_,ut):ut()}else{We.ce&&We.ce._hasShadowRoot()&&We.ce._injectChildStyle(Ke,_.parent?_.parent.type:void 0);let ut=_.subTree=_o(_);b(null,ut,q,F,_,G,M),S.el=ut.el}if(Le&<(Le,G),!wt&&(ee=ve&&ve.onVnodeMounted)){let ut=S;lt(()=>Ot(ee,Ue,ut),G)}(S.shapeFlag&256||Ue&&Ws(Ue.vnode)&&Ue.vnode.shapeFlag&256)&&_.a&<(_.a,G),_.isMounted=!0,S=q=F=null}};_.scope.on();let X=_.effect=new vs(x);_.scope.off();let H=_.update=X.run.bind(X),de=_.job=X.runIfDirty.bind(X);de.i=_,de.id=_.uid,X.scheduler=()=>Ro(de),es(_,!0),H()},pe=(_,S,q)=>{S.component=_;let F=_.vnode.props;_.vnode=S,_.next=null,tu(_,S.props,F,q),ru(_,S.children,q),Rt(),Tr(_),Tt()},Oe=(_,S,q,F,G,M,Q,x,X=!1)=>{let H=_&&_.children,de=_?_.shapeFlag:0,ee=S.children,{patchFlag:ie,shapeFlag:ve}=S;if(ie>0){if(ie&128){De(H,ee,q,F,G,M,Q,x,X);return}else if(ie&256){Te(H,ee,q,F,G,M,Q,x,X);return}}ve&8?(de&16&&U(H,G,M),ee!==H&&v(q,ee)):de&16?ve&16?De(H,ee,q,F,G,M,Q,x,X):U(H,G,M,!0):(de&8&&v(q,""),ve&16&&j(ee,q,F,G,M,Q,x,X))},Te=(_,S,q,F,G,M,Q,x,X)=>{_=_||Yt,S=S||Yt;let H=_.length,de=S.length,ee=Math.min(H,de),ie;for(ie=0;iede?U(_,G,M,!0,!1,ee):j(S,q,F,G,M,Q,x,X,ee)},De=(_,S,q,F,G,M,Q,x,X)=>{let H=0,de=S.length,ee=_.length-1,ie=de-1;for(;H<=ee&&H<=ie;){let ve=_[H],Ae=S[H]=X?Ft(S[H]):It(S[H]);if(Bs(ve,Ae))b(ve,Ae,q,null,G,M,Q,x,X);else break;H++}for(;H<=ee&&H<=ie;){let ve=_[ee],Ae=S[ie]=X?Ft(S[ie]):It(S[ie]);if(Bs(ve,Ae))b(ve,Ae,q,null,G,M,Q,x,X);else break;ee--,ie--}if(H>ee){if(H<=ie){let ve=ie+1,Ae=veie)for(;H<=ee;)V(_[H],G,M,!0),H++;else{let ve=H,Ae=H,Le=new Map;for(H=Ae;H<=ie;H++){let ct=S[H]=X?Ft(S[H]):It(S[H]);ct.key!=null&&Le.set(ct.key,H)}let Ue,We=0,Ke=ie-Ae+1,wt=!1,ut=0,Ss=new Array(Ke);for(H=0;H=Ke){V(ct,G,M,!0);continue}let Ct;if(ct.key!=null)Ct=Le.get(ct.key);else for(Ue=Ae;Ue<=ie;Ue++)if(Ss[Ue-Ae]===0&&Bs(ct,S[Ue])){Ct=Ue;break}Ct===void 0?V(ct,G,M,!0):(Ss[Ct-Ae]=H+1,Ct>=ut?ut=Ct:wt=!0,b(ct,S[Ct],q,null,G,M,Q,x,X),We++)}let xo=wt?du(Ss):Yt;for(Ue=xo.length-1,H=Ke-1;H>=0;H--){let ct=Ae+H,Ct=S[ct],er=S[ct+1],tr=ct+1{let{el:M,type:Q,transition:x,children:X,shapeFlag:H}=_;if(H&6){D(_.component.subTree,S,q,F);return}if(H&128){_.suspense.move(S,q,F);return}if(H&64){Q.move(_,S,q,fe);return}if(Q===J){r(M,S,q);for(let ee=0;eex.enter(M),G));else{let{leave:ee,delayLeave:ie,afterLeave:ve}=x,Ae=()=>{_.ctx.isUnmounted?n(M):r(M,S,q)},Le=()=>{let Ue=M._isLeaving||!!M[wo];M._isLeaving&&M[wo](!0),x.persisted&&!Ue?Ae():ee(M,()=>{Ae(),ve&&ve()})};ie?ie(M,Ae,Le):Le()}else r(M,S,q)},V=(_,S,q,F=!1,G=!1)=>{let{type:M,props:Q,ref:x,children:X,dynamicChildren:H,shapeFlag:de,patchFlag:ee,dirs:ie,cacheIndex:ve,memo:Ae}=_;if(ee===-2&&(G=!1),x!=null&&(Rt(),js(x,null,q,_,!0),Tt()),ve!=null&&(S.renderCache[ve]=void 0),de&256){S.ctx.deactivate(_);return}let Le=de&1&&ie,Ue=!Ws(_),We;if(Ue&&(We=Q&&Q.onVnodeBeforeUnmount)&&Ot(We,S,_),de&6)le(_.component,q,F);else{if(de&128){_.suspense.unmount(q,F);return}Le&&xt(_,null,S,"beforeUnmount"),de&64?_.type.remove(_,S,q,fe,F):H&&!H.hasOnce&&(M!==J||ee>0&&ee&64)?U(H,S,q,!1,!0):(M===J&&ee&384||!G&&de&16)&&U(X,S,q),F&&W(_)}let Ke=Ae!=null&&ve==null;(Ue&&(We=Q&&Q.onVnodeUnmounted)||Le||Ke)&<(()=>{We&&Ot(We,S,_),Le&&xt(_,null,S,"unmounted"),Ke&&(_.el=null)},q)},W=_=>{let{type:S,el:q,anchor:F,transition:G}=_;if(S===J){oe(q,F);return}if(S===Ys){A(_);return}let M=()=>{n(q),G&&!G.persisted&&G.afterLeave&&G.afterLeave()};if(_.shapeFlag&1&&G&&!G.persisted){let{leave:Q,delayLeave:x}=G,X=()=>Q(q,M);x?x(_.el,M,X):X()}else M()},oe=(_,S)=>{let q;for(;_!==S;)q=p(_),n(_),_=q;n(S)},le=(_,S,q)=>{let{bum:F,scope:G,job:M,subTree:Q,um:x,m:X,a:H}=_;Fr(X),Fr(H),F&&Os(F),G.stop(),M&&(M.flags|=8,V(Q,_,S,q)),x&<(x,S),lt(()=>{_.isUnmounted=!0},S)},U=(_,S,q,F=!1,G=!1,M=0)=>{for(let Q=M;Q<_.length;Q++)V(_[Q],S,q,F,G)},te=_=>{if(_.shapeFlag&6)return te(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();let S=p(_.anchor||_.el),q=S&&S[Rd];return q?p(q):S},L=!1,K=(_,S,q)=>{let F;_==null?S._vnode&&(V(S._vnode,null,null,!0),F=S._vnode.component):b(S._vnode||null,_,S,null,null,null,q),S._vnode=_,L||(L=!0,Tr(F),Yr(),L=!1)},fe={p:b,um:V,m:D,r:W,mt:_e,mc:j,pc:Oe,pbc:ae,n:te,o:e},Ne,ce;return t&&([Ne,ce]=t(fe)),{render:K,hydrate:Ne,createApp:Wd(K,Ne)}}function Eo({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function es({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function lu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ki(e,t,o=!1){let r=e.children,n=t.children;if(Ce(r)&&Ce(n))for(let i=0;i>1,e[o[u]]0&&(t[r]=o[i-1]),o[i]=r)}}for(i=o.length,a=o[i-1];i-- >0;)o[i]=a,a=t[a];return o}function _i(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:_i(t)}function Fr(e){if(e)for(let t=0;te.__isSuspense;function uu(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):Kr(e)}var J=Symbol.for("v-fgt"),$n=Symbol.for("v-txt"),zt=Symbol.for("v-cmt"),Ys=Symbol.for("v-stc"),ts=[],mt=null;function l(e=!1){ts.push(mt=e?null:[])}function Ni(){ts.pop(),mt=ts[ts.length-1]||null}var Qs=1;function Rn(e,t=!1){Qs+=e,e<0&&mt&&t&&(mt.hasOnce=!0)}function Si(e){return e.dynamicChildren=Qs>0?mt||Yt:null,Ni(),Qs>0&&mt&&mt.push(e),e}function d(e,t,o,r,n,i){return Si(s(e,t,o,r,n,i,!0))}function _s(e,t,o,r,n){return Si(Re(e,t,o,r,n,!0))}function Tn(e){return e?e.__v_isVNode===!0:!1}function Bs(e,t){return e.type===t.type&&e.key===t.key}var Di=({key:e})=>e??null,En=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ze(e)||Xe(e)||Ee(e)?{i:ft,r:e,k:t,f:!!o}:e:null);function s(e,t=null,o=null,r=0,n=null,i=e===J?0:1,a=!1,u=!1){let m={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Di(t),ref:t&&En(t),scopeId:Qr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:ft};return u?(On(m,o),i&128&&e.normalize(m)):o&&(m.shapeFlag|=ze(o)?8:16),Qs>0&&!a&&mt&&(m.patchFlag>0||i&6)&&m.patchFlag!==32&&mt.push(m),m}var Re=cu;function cu(e,t=null,o=null,r=0,n=null,i=!1){if((!e||e===Ud)&&(e=zt),Tn(e)){let u=ws(e,t,!0);return o&&On(u,o),Qs>0&&!i&&mt&&(u.shapeFlag&6?mt[mt.indexOf(e)]=u:mt.push(u)),u.patchFlag=-2,u}if(_u(e)&&(e=e.__vccOpts),t){t=pu(t);let{class:u,style:m}=t;u&&!ze(u)&&(t.class=O(u)),Pe(m)&&(Hs(m)&&!Ce(m)&&(m=je({},m)),t.style=qe(m))}let a=ze(e)?1:Ci(e)?128:In(e)?64:Pe(e)?4:Ee(e)?2:0;return s(e,t,o,r,n,a,i,!0)}function pu(e){return e?Hs(e)||mi(e)?je({},e):e:null}function ws(e,t,o=!1,r=!1){let{props:n,ref:i,patchFlag:a,children:u,transition:m}=e,h=t?fu(n||{},t):n,v={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Di(h),ref:t&&t.ref?o&&i?Ce(i)?i.concat(En(t)):[i,En(t)]:En(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:m,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ws(e.ssContent),ssFallback:e.ssFallback&&ws(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return m&&r&&Vn(v,m.clone(v)),v}function y(e=" ",t=0){return Re($n,null,e,t)}function be(e,t){let o=Re(Ys,null,e);return o.staticCount=t,o}function f(e="",t=!1){return t?(l(),_s(zt,null,e)):Re(zt,null,e)}function It(e){return e==null||typeof e=="boolean"?Re(zt):Ce(e)?Re(J,null,e.slice()):Tn(e)?Ft(e):Re($n,null,String(e))}function Ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ws(e)}function On(e,t){let o=0,{shapeFlag:r}=e;if(t==null)t=null;else if(Ce(t))o=16;else if(typeof t=="object")if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),On(e,n()),n._c&&(n._d=!0));return}else{o=32;let n=t._;!n&&!mi(t)?t._ctx=ft:n===3&&ft&&(ft.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ee(t)){if(r&65){On(e,{default:t});return}t={default:t,_ctx:ft},o=32}else t=String(t),r&64?(o=16,t=[y(t)]):o=8;e.children=t,e.shapeFlag|=o}function fu(...e){let t={};for(let o=0;oet||ft,An,Xs;{let e=As(),t=(o,r)=>{let n;return(n=e[o])||(n=e[o]=[]),n.push(r),i=>{n.length>1?n.forEach(a=>a(i)):n[0](i)}};An=t("__VUE_INSTANCE_SETTERS__",o=>et=o),Xs=t("__VUE_SSR_SETTERS__",o=>ks=o)}var sn=e=>{let t=et;return An(e),e.scope.on(),()=>{e.scope.off(),An(t)}},zr=()=>{et&&et.scope.off(),An(null)};function Ri(e){return e.vnode.shapeFlag&4}var ks=!1;function yu(e,t=!1,o=!1){t&&Xs(t);let{props:r,children:n}=e.vnode,i=Ri(e);eu(e,r,i,t),ou(e,n,o||t);let a=i?gu(e,t):void 0;return t&&Xs(!1),a}function gu(e,t){let o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ld);let{setup:r}=o;if(r){Rt();let n=e.setupContext=r.length>1?wu(e):null,i=sn(e),a=Zs(r,e,0,[e.props,n]),u=xn(a);if(Tt(),i(),(u||e.sp)&&!Ws(e)&&To(e),u){if(a.then(zr,zr),t)return a.then(m=>{Xs(!0);try{Hr(e,m,t)}finally{Xs(!1)}}).catch(m=>{xs(m,e,0)});e.asyncDep=a}else Hr(e,a,t)}else Ti(e,t)}function Hr(e,t,o){Ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Pe(t)&&(e.setupState=kn(t)),Ti(e,o)}var Br,Gr;function Ti(e,t,o){let r=e.type;if(!e.render){if(!t&&Br&&!r.render){let n=r.template||Oo(e).template;if(n){let{isCustomElement:i,compilerOptions:a}=e.appContext.config,{delimiters:u,compilerOptions:m}=r,h=je(je({isCustomElement:i,delimiters:u},a),m);r.render=Br(n,h)}}e.render=r.render||it,Gr&&Gr(e)}{let n=sn(e);Rt();try{Fd(e)}finally{Tt(),n()}}}var bu={get(e,t){return Ze(e,"get",""),e[t]}};function wu(e){let t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,bu),slots:e.slots,emit:e.emit,expose:t}}function Un(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(kn(bo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Ks)return Ks[o](e)},has(t,o){return o in t||o in Ks}})):e.proxy}function ku(e,t=!0){return Ee(e)?e.displayName||e.name:e.name||t&&e.__name}function _u(e){return Ee(e)&&"__vccOpts"in e}var st=(e,t)=>Sr(e,t,ks);function Se(e,t,o){try{Rn(-1);let r=arguments.length;return r===2?Pe(t)&&!Ce(t)?Tn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(r>3?o=Array.prototype.slice.call(arguments,2):r===3&&Tn(o)&&(o=[o]),Re(e,t,o))}finally{Rn(1)}}var Eu="3.5.42";var Mo,Oi=typeof window<"u"&&window.trustedTypes;if(Oi)try{Mo=Oi.createPolicy("vue",{createHTML:e=>e})}catch{}var Li=Mo?e=>Mo.createHTML(e):e=>e,Cu="http://www.w3.org/2000/svg",Nu="http://www.w3.org/1998/Math/MathML",Bt=typeof document<"u"?document:null,Ai=Bt&&Bt.createElement("template"),Su={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,r)=>{let n=t==="svg"?Bt.createElementNS(Cu,e):t==="mathml"?Bt.createElementNS(Nu,e):o?Bt.createElement(e,{is:o}):Bt.createElement(e);return e==="select"&&r&&r.multiple!=null&&n.setAttribute("multiple",r.multiple),n},createText:e=>Bt.createTextNode(e),createComment:e=>Bt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,r,n,i){let a=o?o.previousSibling:t.lastChild;if(n&&(n===i||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),o),!(n===i||!(n=n.nextSibling)););else{Ai.innerHTML=Li(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);let u=Ai.content;if(r==="svg"||r==="mathml"){let m=u.firstChild;for(;m.firstChild;)u.appendChild(m.firstChild);u.removeChild(m)}t.insertBefore(u,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}};var Du=Symbol("_vtc");function Ru(e,t,o){let r=e[Du];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}var Fn=Symbol("_vod"),Fi=Symbol("_vsh"),B={name:"show",beforeMount(e,{value:t},{transition:o}){e[Fn]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):nn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:r}){!t!=!o&&(r?t?(r.beforeEnter(e),nn(e,!0),r.enter(e)):r.leave(e,()=>{nn(e,!1)}):nn(e,t))},beforeUnmount(e,{value:t}){nn(e,t)}};function nn(e,t){e.style.display=t?e[Fn]:"none",e[Fi]=!t}var Tu=Symbol("");var Ou=/(?:^|;)\s*display\s*:/;function Au(e,t,o){let r=e.style,n=ze(o),i=!1;if(o&&!n){if(t)if(ze(t))for(let a of t.split(";")){let u=a.slice(0,a.indexOf(":")).trim();o[u]==null&&on(r,u,"")}else for(let a in t)o[a]==null&&on(r,a,"");for(let a in o){a==="display"&&(i=!0);let u=o[a];u!=null?Vu(e,a,!ze(t)&&t?t[a]:void 0,u)||on(r,a,u):on(r,a,"")}}else if(n){if(t!==o){let a=r[Tu];a&&(o+=";"+a),r.cssText=o,i=Ou.test(o)}}else t&&e.removeAttribute("style");Fn in e&&(e[Fn]=i?r.display:"",e[Fi]&&(r.display="none"))}var Ln=/\s*!important$/;function on(e,t,o){if(Ce(o))o.forEach(r=>on(e,t,r));else if(o==null&&(o=""),t.startsWith("--"))Ln.test(o)?e.setProperty(t,o.replace(Ln,""),"important"):e.setProperty(t,o);else{let r=Iu(e,t);Ln.test(o)?e.setProperty(Mt(r),o.replace(Ln,""),"important"):e[r]=o}}var Ii=["Webkit","Moz","ms"],Po={};function Iu(e,t){let o=Po[t];if(o)return o;let r=Ye(t);if(r!=="filter"&&r in e)return Po[t]=r;r=Jt(r);for(let n=0;nqo||(Fu.then(()=>qo=0),qo=Date.now());function Hu(e,t){let o=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=o.attached)return;let n=o.value;if(Ce(n)){let i=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{i.call(r),r._stopped=!0};let a=n.slice(),u=[r];for(let m=0;me.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Bu=(e,t,o,r,n,i)=>{let a=n==="svg";t==="class"?Ru(e,r,a):t==="style"?Au(e,o,r):cs(t)?ps(t)||Mu(e,t,o,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Gu(e,t,r,a))?(qi(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Pi(e,t,r,a,i,t!=="value")):e._isVueCE&&(ju(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ze(r)))?qi(e,Ye(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Pi(e,t,r,a))};function Gu(e,t,o,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&$i(t)&&Ee(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){let n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return $i(t)&&ze(o)?!1:t in e}function ju(e,t){let o=e._def.props;if(!o)return!1;let r=Ye(t);return Array.isArray(o)?o.some(n=>Ye(n)===r):Object.keys(o).some(n=>Ye(n)===r)}var Wu=["ctrl","shift","alt","meta"],Ku={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Wu.some(o=>e[`${o}Key`]&&!t.includes(o))},ke=(e,t)=>{if(!e)return e;let o=e._withMods||(e._withMods={}),r=t.join(".");return o[r]||(o[r]=((n,...i)=>{for(let a=0;a{let t=Ju().createApp(...e),{mount:o}=t;return t.mount=r=>{let n=Xu(r);if(!n)return;let i=t._component;!Ee(i)&&!i.render&&!i.template&&(i.template=n.innerHTML),n.nodeType===1&&(n.textContent="");let a=o(n,!1,Qu(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),a},t});function Qu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xu(e){return ze(e)?document.querySelector(e):e}var is=typeof document<"u";function Bi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Zu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Bi(e.default)}var Me=Object.assign;function zn(e,t){let o={};for(let r in t){let n=t[r];o[r]=bt(n)?n.map(e):e(n)}return o}var Cs=()=>{},bt=Array.isArray;function Lo(e,t){let o={};for(let r in e)o[r]=r in t?t[r]:e[r];return o}var Gi=/#/g,xu=/&/g,ec=/\//g,tc=/=/g,sc=/\?/g,ji=/\+/g,nc=/%5B/g,oc=/%5D/g,Wi=/%5E/g,rc=/%60/g,Ki=/%7B/g,ic=/%7C/g,Yi=/%7D/g,ac=/%20/g;function Fo(e){return e==null?"":encodeURI(""+e).replace(ic,"|").replace(nc,"[").replace(oc,"]")}function Ji(e){return Fo(e).replace(Ki,"{").replace(Yi,"}").replace(Wi,"^")}function $o(e){return Fo(e).replace(ji,"%2B").replace(ac,"+").replace(Gi,"%23").replace(xu,"%26").replace(rc,"`").replace(Ki,"{").replace(Yi,"}").replace(Wi,"^")}function lc(e){return $o(e).replace(tc,"%3D")}function dc(e){return Fo(e).replace(Gi,"%23").replace(sc,"%3F")}function Qi(e){return dc(e).replace(ec,"%2F")}function Es(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}var uc=/\/$/,cc=e=>e.replace(uc,"");function Hn(e,t,o="/"){let r,n={},i="",a="",u=t.indexOf("#"),m=t.indexOf("?");return m=u>=0&&m>u?-1:m,m>=0&&(r=t.slice(0,m),i=t.slice(m,u>0?u:t.length),n=e(i.slice(1))),u>=0&&(r=r||t.slice(0,u),a=t.slice(u,t.length)),r=fc(r??t,o),{fullPath:r+i+a,path:r,query:n,hash:Es(a)}}function Xi(e,t){let o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function zo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Zi(e,t,o){let r=t.matched.length-1,n=o.matched.length-1;return r>-1&&r===n&&os(t.matched[r],o.matched[n])&&Ho(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function os(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ho(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var o in e)if(!pc(e[o],t[o]))return!1;return!0}function pc(e,t){return bt(e)?Hi(e,t):bt(t)?Hi(t,e):e?.valueOf()===t?.valueOf()}function Hi(e,t){return bt(t)?e.length===t.length&&e.every((o,r)=>o===t[r]):e.length===1&&e[0]===t}function fc(e,t){if(e.startsWith("/"))return e;if(!e)return t;let o=t.split("/"),r=e.split("/"),n=r[r.length-1];(n===".."||n===".")&&r.push("");let i=o.length-1,a,u;for(a=0;a1&&i--;else break;return o.slice(0,i).join("/")+"/"+r.slice(a).join("/")}var jt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Bn=(function(e){return e.pop="pop",e.push="push",e})({}),Gn=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function xi(e){if(!e)if(is){let t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),cc(e)}var mc=/^[^#]+#/;function ea(e,t){return e.replace(mc,"#")+t}function hc(e,t){let o=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-o.left-(t.left||0),top:r.top-o.top-(t.top||0)}}var rn=()=>({left:window.scrollX,top:window.scrollY});function ta(e){let t;if("el"in e){let o=e.el,r=typeof o=="string"&&o.startsWith("#"),n=typeof o=="string"?r?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!n)return;t=hc(n,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Bo(e,t){return(history.state?history.state.position-t:-1)+e}var Uo=new Map;function sa(e,t){Uo.set(e,t)}function na(e){let t=Uo.get(e);return Uo.delete(e),t}function vc(e){return typeof e=="string"||e&&typeof e=="object"}function Go(e){return typeof e=="string"||typeof e=="symbol"}var Ge=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({}),oa=Symbol("");var k5={[Ge.MATCHER_NOT_FOUND]({location:e,currentLocation:t}){return`No match for ${JSON.stringify(e)}${t?` while being at -`+JSON.stringify(t):""}`},[Be.NAVIGATION_GUARD_REDIRECT]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${vc(t)}" via a navigation guard.`},[Be.NAVIGATION_ABORTED]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[Be.NAVIGATION_CANCELLED]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[Be.NAVIGATION_DUPLICATED]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function os(e,t){return qe(new Error,{type:e,[na]:!0},t)}function Vt(e,t){return e instanceof Error&&na in e&&(t==null||!!(e.type&t))}var hc=["params","query","hash"];function vc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;let t={};for(let o of hc)o in e&&(t[o]=e[o]);return JSON.stringify(t,null,2)}function oa(e){let t={};if(e===""||e==="?")return t;let o=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rn&&Mo(n)):[r&&Mo(r)]).forEach(n=>{n!==void 0&&(t+=(t.length?"&":"")+o,n!=null&&(t+="="+n))})}return t}function ra(e){let t={};for(let o in e){let r=e[o];r!==void 0&&(t[o]=gt(r)?r.map(n=>n==null?null:""+n):r==null?r:""+r)}return t}var ia=Symbol(""),jo=Symbol(""),Gn=Symbol(""),jn=Symbol(""),Wn=Symbol("");function Cs(){let e=[];function t(r){return e.push(r),()=>{let n=e.indexOf(r);n>-1&&e.splice(n,1)}}function o(){e=[]}return{add:t,list:()=>e.slice(),reset:o}}function Bt(e,t,o,r,n,i=a=>a()){let a=r&&(r.enterCallbacks[n]=r.enterCallbacks[n]||[]);return()=>new Promise((u,m)=>{let h=p=>{p===!1?m(os(Be.NAVIGATION_ABORTED,{from:o,to:t})):p instanceof Error?m(p):mc(p)?m(os(Be.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[n]===a&&typeof p=="function"&&a.push(p),u())},v=i(()=>e.call(r&&r.instances[n],t,o,h)),k=Promise.resolve(v);e.length<3&&(k=k.then(h)),k.catch(p=>m(p))})}function Kn(e,t,o,r,n=i=>i()){let i=[];for(let a of e)for(let u in a.components){let m=a.components[u];if(!(t!=="beforeRouteEnter"&&!a.instances[u]))if(Hi(m)){let h=(m.__vccOpts||m)[t];h&&i.push(Bt(h,o,r,a,u,n))}else{let h=m();i.push(()=>h.then(v=>{if(!v)throw new Error(`Couldn't resolve component "${u}" at "${a.path}"`);let k=Qu(v)?v.default:v;a.mods[u]=v,a.components[u]=k;let p=(k.__vccOpts||k)[t];return p&&Bt(p,o,r,a,u,n)()}))}}return i}function aa(e,t){let o=[],r=[],n=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;ans(h,u))?r.push(u):o.push(u));let m=e.matched[a];m&&(t.matched.find(h=>ns(h,m))||n.push(m))}return[o,r,n]}var yc=()=>location.protocol+"//"+location.host;function ga(e,t){let{pathname:o,search:r,hash:n}=t,i=e.indexOf("#");if(i>-1){let a=n.includes(e.slice(i))?e.slice(i).length:1,u=n.slice(a);return u[0]!=="/"&&(u="/"+u),Fo(u,"")}return Fo(o,e)+r+n}function gc(e,t,o,r){let n=[],i=[],a=null,u=({state:p})=>{let g=ga(e,location),w=o.value,b=t.value,T=0;if(p){if(o.value=g,t.value=p,a&&a===w){a=null;return}T=b?p.position-b.position:0}else r(g);n.forEach(N=>{N(o.value,w,{delta:T,type:Hn.pop,direction:T?T>0?Bn.forward:Bn.back:Bn.unknown})})};function m(){a=o.value}function h(p){n.push(p);let g=()=>{let w=n.indexOf(p);w>-1&&n.splice(w,1)};return i.push(g),g}function v(){if(document.visibilityState==="hidden"){let{history:p}=window;if(!p.state)return;p.replaceState(qe({},p.state,{scroll:on()}),"")}}function k(){for(let p of i)p();i=[],window.removeEventListener("popstate",u),window.removeEventListener("pagehide",v),document.removeEventListener("visibilitychange",v)}return window.addEventListener("popstate",u),window.addEventListener("pagehide",v),document.addEventListener("visibilitychange",v),{pauseListeners:m,listen:h,destroy:k}}function la(e,t,o,r=!1,n=!1){return{back:e,current:t,forward:o,replaced:r,position:window.history.length,scroll:n?on():null}}function bc(e){let{history:t,location:o}=window,r={value:ga(e,o)},n={value:t.state};n.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(m,h,v){let k=e.indexOf("#"),p=k>-1?(o.host&&document.querySelector("base")?e:e.slice(k))+m:yc()+e+m;try{t[v?"replaceState":"pushState"](h,"",p),n.value=h}catch(g){console.error(g),o[v?"replace":"assign"](p)}}function a(m,h){i(m,qe({},t.state,la(n.value.back,m,n.value.forward,!0),h,{position:n.value.position}),!0),r.value=m}function u(m,h){let v=qe({},n.value,t.state,{forward:m,scroll:on()});i(v.current,v,!0),i(m,qe({},la(r.value,m,null),{position:v.position+1},h),!1),r.value=m}return{location:r,state:n,push:u,replace:a}}function ba(e){e=Zi(e);let t=bc(e),o=gc(e,t.state,t.location,t.replace);function r(i,a=!0){a||o.pauseListeners(),history.go(i)}let n=qe({location:"",base:e,go:r,createHref:xi.bind(null,e)},t,o);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>t.state.value}),n}var is=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),Je=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Je||{}),wc={type:is.Static,value:""},kc=/[a-zA-Z0-9_]/;function _c(e){if(!e)return[[]];if(e==="/")return[[wc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${o})/"${h}": ${g}`)}let o=Je.Static,r=o,n=[],i;function a(){i&&n.push(i),i=[]}let u=0,m,h="",v="";function k(){h&&(o===Je.Static?i.push({type:is.Static,value:h}):o===Je.Param||o===Je.ParamRegExp||o===Je.ParamRegExpEnd?(i.length>1&&(m==="*"||m==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),i.push({type:is.Param,value:h,regexp:v,repeatable:m==="*"||m==="+",optional:m==="*"||m==="?"})):t("Invalid state to consume buffer"),h="")}function p(){h+=m}for(;ut.length?t.length===1&&t[0]===ot.Static+ot.Segment?1:-1:0}function wa(e,t){let o=0,r=e.score,n=t.score;for(;o0&&t[t.length-1]<0}var Dc={strict:!1,end:!0,sensitive:!1};function Rc(e,t,o){let r=Nc(_c(e.path),o),n=qe(r,{record:e,parent:t,children:[],alias:[]});return t&&!n.record.aliasOf==!t.record.aliasOf&&t.children.push(n),n}function Tc(e,t){let o=[],r=new Map;t=Uo(Dc,t);function n(k){return r.get(k)}function i(k,p,g){let w=!g,b=pa(k);b.aliasOf=g&&g.record;let T=Uo(t,k),N=[b];if("alias"in k){let C=typeof k.alias=="string"?[k.alias]:k.alias;for(let A of C)N.push(pa(qe({},b,{components:g?g.record.components:b.components,path:A,aliasOf:g?g.record:b})))}let R,I;for(let C of N){let{path:A}=C;if(p&&A[0]!=="/"){let P=p.record.path,Z=P[P.length-1]==="/"?"":"/";C.path=p.record.path+(A&&Z+A)}if(R=Rc(C,p,T),g?g.alias.push(R):(I=I||R,I!==R&&I.alias.push(R),w&&k.name&&!fa(R)&&a(k.name)),ka(R)&&m(R),b.children){let P=b.children;for(let Z=0;Z{a(I)}:Es}function a(k){if(Bo(k)){let p=r.get(k);p&&(r.delete(k),o.splice(o.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{let p=o.indexOf(k);p>-1&&(o.splice(p,1),k.record.name&&r.delete(k.record.name),k.children.forEach(a),k.alias.forEach(a))}}function u(){return o}function m(k){let p=Ic(k,o);o.splice(p,0,k),k.record.name&&!fa(k)&&r.set(k.record.name,k)}function h(k,p){let g,w={},b,T;if("name"in k&&k.name){if(g=r.get(k.name),!g)throw os(Be.MATCHER_NOT_FOUND,{location:k});T=g.record.name,w=qe(ca(p.params,g.keys.filter(I=>!I.optional).concat(g.parent?g.parent.keys.filter(I=>I.optional):[]).map(I=>I.name)),k.params&&ca(k.params,g.keys.map(I=>I.name))),b=g.stringify(w)}else if(k.path!=null)b=k.path,g=o.find(I=>I.re.test(b)),g&&(w=g.parse(b),T=g.record.name);else{if(g=p.name?r.get(p.name):o.find(I=>I.re.test(p.path)),!g)throw os(Be.MATCHER_NOT_FOUND,{location:k,currentLocation:p});T=g.record.name,w=qe({},p.params,k.params),b=g.stringify(w)}let N=[],R=g;for(;R;)N.unshift(R.record),R=R.parent;return{name:T,path:b,params:w,matched:N,meta:Ac(N)}}e.forEach(k=>i(k));function v(){o.length=0,r.clear()}return{addRoute:i,resolve:h,removeRoute:a,clearRoutes:v,getRoutes:u,getRecordMatcher:n}}function ca(e,t){let o={};for(let r of t)r in e&&(o[r]=e[r]);return o}function pa(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Oc(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Oc(e){let t={},o=e.props||!1;if("component"in e)t.default=o;else for(let r in e.components)t[r]=typeof o=="object"?o[r]:o;return t}function fa(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ac(e){return e.reduce((t,o)=>qe(t,o.meta),{})}function Ic(e,t){let o=0,r=t.length;for(;o!==r;){let i=o+r>>1;wa(e,t[i])<0?r=i:o=i+1}let n=Vc(e);return n&&(r=t.lastIndexOf(n,r-1)),r}function Vc(e){let t=e;for(;t=t.parent;)if(ka(t)&&wa(e,t)===0)return t}function ka({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ma(e){let t=lt(Gn),o=lt(jn),r=!1,n=null,i=tt(()=>{let v=Ut(e.to);return t.resolve(v)}),a=tt(()=>{let{matched:v}=i.value,{length:k}=v,p=v[k-1],g=o.matched;if(!p||!g.length)return-1;let w=g.findIndex(ns.bind(null,p));if(w>-1)return w;let b=ha(v[k-2]);return k>1&&ha(p)===b&&g[g.length-1].path!==b?g.findIndex(ns.bind(null,v[k-2])):w}),u=tt(()=>a.value>-1&&Uc(o.params,i.value.params)),m=tt(()=>a.value>-1&&a.value===o.matched.length-1&&zo(o.params,i.value.params));function h(v={}){if($c(v)){let k=t[Ut(e.replace)?"replace":"push"](Ut(e.to)).catch(Es);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>k),k}return Promise.resolve()}return{route:i,href:tt(()=>i.value.href),isActive:u,isExactActive:m,navigate:h}}function Pc(e){return e.length===1?e[0]:e}var qc=xs({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ma,setup(e,{slots:t}){let o=ze(ma(e)),{options:r}=lt(Gn),n=tt(()=>({[va(e.activeClass,r.linkActiveClass,"router-link-active")]:o.isActive,[va(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{let i=t.default&&Pc(t.default(o));return e.custom?i:Ne("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:n.value},i)}}}),Mc=qc;function $c(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Uc(e,t){for(let o in t){let r=t[o],n=e[o];if(typeof r=="string"){if(r!==n)return!1}else if(!gt(n)||n.length!==r.length||r.some((i,a)=>i.valueOf()!==n[a].valueOf()))return!1}return!0}function ha(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}var va=(e,t,o)=>e??t??o,Lc=xs({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){let r=lt(Wn),n=tt(()=>e.route||r.value),i=lt(jo,0),a=tt(()=>{let h=Ut(i),{matched:v}=n.value,k;for(;(k=v[h])&&!k.components;)h++;return h}),u=tt(()=>n.value.matched[a.value]);ts(jo,tt(()=>a.value+1)),ts(ia,u),ts(Wn,n);let m=Ze();return He(()=>[m.value,u.value,e.name],([h,v,k],[p,g,w])=>{v&&(v.instances[k]=h,g&&g!==v&&h&&h===p&&(v.leaveGuards.size||(v.leaveGuards=g.leaveGuards),v.updateGuards.size||(v.updateGuards=g.updateGuards))),h&&v&&(!g||!ns(v,g)||!p)&&(v.enterCallbacks[k]||[]).forEach(b=>b(h))},{flush:"post"}),()=>{let h=n.value,v=e.name,k=u.value,p=k&&k.components[v];if(!p)return ya(o.default,{Component:p,route:h});let g=k.props[v],w=g?g===!0?h.params:typeof g=="function"?g(h):g:null,T=Ne(p,qe({},w,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(k.instances[v]=null)},ref:m}));return ya(o.default,{Component:T,route:h})||T}}});function ya(e,t){if(!e)return null;let o=e(t);return o.length===1?o[0]:o}var Wo=Lc;function _a(e){let t=Tc(e.routes,e),o=e.parseQuery||oa,r=e.stringifyQuery||Go,n=e.history,i=Cs(),a=Cs(),u=Cs(),m=bn(Gt),h=Gt;rs&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");let v=Fn.bind(null,U=>""+U),k=Fn.bind(null,Ji),p=Fn.bind(null,_s);function g(U,te){let L,K;return Bo(U)?(L=t.getRecordMatcher(U),K=te):K=U,t.addRoute(K,L)}function w(U){let te=t.getRecordMatcher(U);te&&t.removeRoute(te)}function b(){return t.getRoutes().map(U=>U.record)}function T(U){return!!t.getRecordMatcher(U)}function N(U,te){if(te=qe({},te||m.value),typeof U=="string"){let _=zn(o,U,te.path),S=t.resolve({path:_.path},te),q=n.createHref(_.fullPath);return qe(_,S,{params:p(S.params),hash:_s(_.hash),redirectedFrom:void 0,href:q})}let L;if(U.path!=null)L=qe({},U,{path:zn(o,U.path,te.path).path});else{let _=qe({},U.params);for(let S in _)_[S]==null&&delete _[S];L=qe({},U,{params:k(_)}),te.params=k(te.params)}let K=t.resolve(L,te),fe=U.hash||"";K.params=v(p(K.params));let Ce=Qi(r,qe({},U,{hash:Yi(fe),path:K.path})),ce=n.createHref(Ce);return qe({fullPath:Ce,hash:fe,query:r===Go?ra(U.query):U.query||{}},K,{redirectedFrom:void 0,href:ce})}function R(U){return typeof U=="string"?zn(o,U,m.value.path):qe({},U)}function I(U,te){if(h!==U)return os(Be.NAVIGATION_CANCELLED,{from:te,to:U})}function C(U){return Z(U)}function A(U){return C(qe(R(U),{replace:!0}))}function P(U,te){let L=U.matched[U.matched.length-1];if(L&&L.redirect){let{redirect:K}=L,fe=typeof K=="function"?K(U,te):K;return typeof fe=="string"&&(fe=fe.includes("?")||fe.includes("#")?fe=R(fe):{path:fe},fe.params={}),qe({query:U.query,hash:U.hash,params:fe.path!=null?{}:U.params},fe)}}function Z(U,te){let L=h=N(U),K=m.value,fe=U.state,Ce=U.force,ce=U.replace===!0,_=P(L,K);if(_)return Z(qe(R(_),{state:typeof _=="object"?qe({},fe,_.state):fe,force:Ce,replace:ce}),te||L);let S=L;S.redirectedFrom=te;let q;return!Ce&&Xi(r,K,L)&&(q=os(Be.NAVIGATION_DUPLICATED,{to:S,from:K}),Se(K,K,!0,!1)),(q?Promise.resolve(q):z(S,K)).catch(F=>Vt(F)?Vt(F,Be.NAVIGATION_GUARD_REDIRECT)?F:Re(F):pe(F,S,K)).then(F=>{if(F){if(Vt(F,Be.NAVIGATION_GUARD_REDIRECT))return Z(qe({replace:ce},R(F.to),{state:typeof F.to=="object"?qe({},fe,F.to.state):fe,force:Ce}),te||S)}else F=se(S,K,!0,ce,fe);return ae(S,K,F),F})}function Y(U,te){let L=I(U,te);return L?Promise.reject(L):Promise.resolve()}function j(U){let te=W.values().next().value;return te&&typeof te.runWithContext=="function"?te.runWithContext(U):U()}function z(U,te){let L,[K,fe,Ce]=aa(U,te);L=Kn(K.reverse(),"beforeRouteLeave",U,te);for(let _ of K)_.leaveGuards.forEach(S=>{L.push(Bt(S,U,te))});let ce=Y.bind(null,U,te);return L.push(ce),le(L).then(()=>{L=[];for(let _ of i.list())L.push(Bt(_,U,te));return L.push(ce),le(L)}).then(()=>{L=Kn(fe,"beforeRouteUpdate",U,te);for(let _ of fe)_.updateGuards.forEach(S=>{L.push(Bt(S,U,te))});return L.push(ce),le(L)}).then(()=>{L=[];for(let _ of Ce)if(_.beforeEnter)if(gt(_.beforeEnter))for(let S of _.beforeEnter)L.push(Bt(S,U,te));else L.push(Bt(_.beforeEnter,U,te));return L.push(ce),le(L)}).then(()=>(U.matched.forEach(_=>_.enterCallbacks={}),L=Kn(Ce,"beforeRouteEnter",U,te,j),L.push(ce),le(L))).then(()=>{L=[];for(let _ of a.list())L.push(Bt(_,U,te));return L.push(ce),le(L)}).catch(_=>Vt(_,Be.NAVIGATION_CANCELLED)?_:Promise.reject(_))}function ae(U,te,L){u.list().forEach(K=>j(()=>K(U,te,L)))}function se(U,te,L,K,fe){let Ce=I(U,te);if(Ce)return Ce;let ce=te===Gt,_=rs?history.state:{};L&&(K||ce?n.replace(U.fullPath,qe({scroll:ce&&_&&_.scroll},fe)):n.push(U.fullPath,fe)),m.value=U,Se(U,te,L,ce),Re()}let re;function ue(){re||(re=n.listen((U,te,L)=>{if(!oe.listening)return;let K=N(U),fe=P(K,oe.currentRoute.value);if(fe){Z(qe(fe,{replace:!0,force:!0}),K).catch(Es);return}h=K;let Ce=m.value;rs&&ta(Ho(Ce.fullPath,L.delta),on()),z(K,Ce).catch(ce=>Vt(ce,Be.NAVIGATION_ABORTED|Be.NAVIGATION_CANCELLED)?ce:Vt(ce,Be.NAVIGATION_GUARD_REDIRECT)?(Z(qe(R(ce.to),{force:!0}),K).then(_=>{Vt(_,Be.NAVIGATION_ABORTED|Be.NAVIGATION_DUPLICATED)&&!L.delta&&L.type===Hn.pop&&n.go(-1,!1)}).catch(Es),Promise.reject()):(L.delta&&n.go(-L.delta,!1),pe(ce,K,Ce))).then(ce=>{ce=ce||se(K,Ce,!1),ce&&(L.delta&&!Vt(ce,Be.NAVIGATION_CANCELLED)?n.go(-L.delta,!1):L.type===Hn.pop&&Vt(ce,Be.NAVIGATION_ABORTED|Be.NAVIGATION_DUPLICATED)&&n.go(-1,!1)),ae(K,Ce,ce)}).catch(Es)}))}let ke=Cs(),he=Cs(),me;function pe(U,te,L){Re(U);let K=he.list();return K.length?K.forEach(fe=>fe(U,te,L)):console.error(U),Promise.reject(U)}function Te(){return me&&m.value!==Gt?Promise.resolve():new Promise((U,te)=>{ke.add([U,te])})}function Re(U){return me||(me=!U,ue(),ke.list().forEach(([te,L])=>U?L(U):te()),ke.reset()),U}function Se(U,te,L,K){let{scrollBehavior:fe}=e;if(!rs||!fe)return Promise.resolve();let Ce=!L&&sa(Ho(U.fullPath,0))||(K||!L)&&history.state&&history.state.scroll||null;return _t().then(()=>fe(U,te,Ce)).then(ce=>ce&&ea(ce)).catch(ce=>pe(ce,U,te))}let D=U=>n.go(U),V,W=new Set,oe={currentRoute:m,listening:!0,addRoute:g,removeRoute:w,clearRoutes:t.clearRoutes,hasRoute:T,getRoutes:b,resolve:N,options:e,push:C,replace:A,go:D,back:()=>D(-1),forward:()=>D(1),beforeEach:i.add,beforeResolve:a.add,afterEach:u.add,onError:he.add,isReady:Te,install(U){U.component("RouterLink",Mc),U.component("RouterView",Wo),U.config.globalProperties.$router=oe,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Ut(m)}),rs&&!V&&m.value===Gt&&(V=!0,C(n.location).catch(K=>{}));let te={};for(let K in Gt)Object.defineProperty(te,K,{get:()=>m.value[K],enumerable:!0});U.provide(Gn,oe),U.provide(jn,Fs(te)),U.provide(Wn,m);let L=U.unmount;W.add(U),U.unmount=function(){W.delete(U),W.size<1&&(h=Gt,re&&re(),re=null,m.value=Gt,V=!1,me=!1),L()}}};function le(U){return U.reduce((te,L)=>te.then(()=>j(L)),Promise.resolve())}return oe}function Ea(e){return lt(jn)}function Ca(e,t){return t?.split(".").reduce((o,r)=>o?.[r],e)}function Ko(e=null,t=new Map){let o=ze({}),r=[],n=!1,i=new Proxy(o,{get(a,u){return typeof u=="string"&&u.startsWith("__v_")||Reflect.has(a,u)?Reflect.get(a,u):e?.[u]}});return Object.defineProperty(o,"parent",{value:e,configurable:!0}),Object.defineProperty(o,"viewState",{get:()=>i}),i.watch=(a,u,m=!1)=>{let h=typeof a=="function"?()=>a(i):()=>Ca(i,a),v=He(h,u,{deep:m,flush:"post"});return r.push(v),_t(()=>{n||u(h(),h())}),v},i.watchGroup=(a,u)=>i.watch(()=>a.map(m=>Ca(i,m)),u,!0),i.on=(a,u)=>{if(a==="dispose")return r.push(u),()=>{};t.has(a)||t.set(a,new Set),t.get(a).add(u);let m=()=>t.get(a)?.delete(u);return r.push(m),m},i.emit=(a,...u)=>{for(let m of[...t.get(a)||[]])m({},...u)},i.dispose=()=>{n=!0,r.splice(0).reverse().forEach(a=>a())},Us(i.dispose),i}function mt(){let e=new Set,t=new Set,o=!1,r=(i,a=0)=>{if(o)return;let u=setTimeout(()=>{e.delete(u),i()},a);return e.add(u),u};r.cancel=i=>{clearTimeout(i),e.delete(i)};let n=(i,a)=>{if(o)return;let u=setInterval(i,a);return t.add(u),u};return n.cancel=i=>{clearInterval(i),t.delete(i)},Us(()=>{o=!0,e.forEach(clearTimeout),t.forEach(clearInterval)}),{timeout:r,interval:n}}function as(){let e=[];return Us(()=>e.forEach(t=>t())),(t,o,r,n)=>{t.addEventListener(o,r,n),e.push(()=>t.removeEventListener(o,r,n))}}var Na=function(e,t,o,r){e.title="Main",e.user={status:"connection"},e.site_options,e.toasts=[],e.removeToast=function(m){let h=e.toasts.indexOf(m);h!==-1&&e.toasts.splice(h,1)},e.addToast=function(m){return e.toasts.push(m),r(function(){e.removeToast(m)},8e3),m},e.path=o.url(),e.paths=o.path().substring(1).split("/"),e.darkMode=function(m){localStorage.setItem("darkMode",m),e.isDarkMode=m;let h="/css/prism-okaidia.css",v="/css/prism.css";if(m){$("body").addClass("dark-mode");let p=document.createElement("link");p.href=h,p.rel="stylesheet",document.head.append(p),$(`link[href='${v}']`).remove()}else{$("body").removeClass("dark-mode");let p=document.createElement("link");p.href=v,p.rel="stylesheet",document.head.append(p),$(`link[href='${h}']`).remove()}var k=document.querySelector(".floatingchat-container-wrap-mo498 .floating-chat-kofi-text-container-wrap");k&&(k.style.backgroundColor=m?"#FAF9F6":"#1A1815",k.style.color=m?"#1A1815":"#FAF9F6"),e.emit("dark-mode",m)},e.darkMode(localStorage.getItem("darkMode")=="true");function n(){t.get("/api/user").then(m=>{m&&(e.user=m.data)},()=>{e.user=null})}n();function i(){t.get("/api/options").then(m=>{m&&(e.site_options=m.data)},()=>{e.site_options=null})}i();function a(){t.get("/api/message").then(m=>{m&&(e.generalMessage=m.data)},()=>{e.generalMessage=null})}a();function u(m,h){h&&(e.title=h.title),e.path=o.url(),e.paths=o.path().substring(1).split("/")}e.on("routeChange",u),e.on("routeUpdate",u)},Sa=function(e,t){let o=as()},Da=function(e,t,o,r,n){e.terms="",e.options={expirationMode:"remove",update:!1,image:!0,pdf:!0,notebook:!0,loc:!0,link:!0},e.saving=!1,e.message=null,e.error=null,n.load().then(u=>{e.quota=u},console.error);function i(){t.get("/api/user/default").then(u=>{let m=u.data||{};m.terms&&(e.terms=m.terms.join(` +`+JSON.stringify(t):""}`},[Ge.NAVIGATION_GUARD_REDIRECT]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${gc(t)}" via a navigation guard.`},[Ge.NAVIGATION_ABORTED]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[Ge.NAVIGATION_CANCELLED]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[Ge.NAVIGATION_DUPLICATED]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function rs(e,t){return Me(new Error,{type:e,[oa]:!0},t)}function Pt(e,t){return e instanceof Error&&oa in e&&(t==null||!!(e.type&t))}var yc=["params","query","hash"];function gc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;let t={};for(let o of yc)o in e&&(t[o]=e[o]);return JSON.stringify(t,null,2)}function ra(e){let t={};if(e===""||e==="?")return t;let o=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rn&&$o(n)):[r&&$o(r)]).forEach(n=>{n!==void 0&&(t+=(t.length?"&":"")+o,n!=null&&(t+="="+n))})}return t}function ia(e){let t={};for(let o in e){let r=e[o];r!==void 0&&(t[o]=bt(r)?r.map(n=>n==null?null:""+n):r==null?r:""+r)}return t}var aa=Symbol(""),Wo=Symbol(""),jn=Symbol(""),Wn=Symbol(""),Kn=Symbol("");function Ns(){let e=[];function t(r){return e.push(r),()=>{let n=e.indexOf(r);n>-1&&e.splice(n,1)}}function o(){e=[]}return{add:t,list:()=>e.slice(),reset:o}}function Gt(e,t,o,r,n,i=a=>a()){let a=r&&(r.enterCallbacks[n]=r.enterCallbacks[n]||[]);return()=>new Promise((u,m)=>{let h=p=>{p===!1?m(rs(Ge.NAVIGATION_ABORTED,{from:o,to:t})):p instanceof Error?m(p):vc(p)?m(rs(Ge.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[n]===a&&typeof p=="function"&&a.push(p),u())},v=i(()=>e.call(r&&r.instances[n],t,o,h)),k=Promise.resolve(v);e.length<3&&(k=k.then(h)),k.catch(p=>m(p))})}function Yn(e,t,o,r,n=i=>i()){let i=[];for(let a of e)for(let u in a.components){let m=a.components[u];if(!(t!=="beforeRouteEnter"&&!a.instances[u]))if(Bi(m)){let h=(m.__vccOpts||m)[t];h&&i.push(Gt(h,o,r,a,u,n))}else{let h=m();i.push(()=>h.then(v=>{if(!v)throw new Error(`Couldn't resolve component "${u}" at "${a.path}"`);let k=Zu(v)?v.default:v;a.mods[u]=v,a.components[u]=k;let p=(k.__vccOpts||k)[t];return p&&Gt(p,o,r,a,u,n)()}))}}return i}function la(e,t){let o=[],r=[],n=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;aos(h,u))?r.push(u):o.push(u));let m=e.matched[a];m&&(t.matched.find(h=>os(h,m))||n.push(m))}return[o,r,n]}var bc=()=>location.protocol+"//"+location.host;function ba(e,t){let{pathname:o,search:r,hash:n}=t,i=e.indexOf("#");if(i>-1){let a=n.includes(e.slice(i))?e.slice(i).length:1,u=n.slice(a);return u[0]!=="/"&&(u="/"+u),zo(u,"")}return zo(o,e)+r+n}function wc(e,t,o,r){let n=[],i=[],a=null,u=({state:p})=>{let g=ba(e,location),w=o.value,b=t.value,T=0;if(p){if(o.value=g,t.value=p,a&&a===w){a=null;return}T=b?p.position-b.position:0}else r(g);n.forEach(N=>{N(o.value,w,{delta:T,type:Bn.pop,direction:T?T>0?Gn.forward:Gn.back:Gn.unknown})})};function m(){a=o.value}function h(p){n.push(p);let g=()=>{let w=n.indexOf(p);w>-1&&n.splice(w,1)};return i.push(g),g}function v(){if(document.visibilityState==="hidden"){let{history:p}=window;if(!p.state)return;p.replaceState(Me({},p.state,{scroll:rn()}),"")}}function k(){for(let p of i)p();i=[],window.removeEventListener("popstate",u),window.removeEventListener("pagehide",v),document.removeEventListener("visibilitychange",v)}return window.addEventListener("popstate",u),window.addEventListener("pagehide",v),document.addEventListener("visibilitychange",v),{pauseListeners:m,listen:h,destroy:k}}function da(e,t,o,r=!1,n=!1){return{back:e,current:t,forward:o,replaced:r,position:window.history.length,scroll:n?rn():null}}function kc(e){let{history:t,location:o}=window,r={value:ba(e,o)},n={value:t.state};n.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(m,h,v){let k=e.indexOf("#"),p=k>-1?(o.host&&document.querySelector("base")?e:e.slice(k))+m:bc()+e+m;try{t[v?"replaceState":"pushState"](h,"",p),n.value=h}catch(g){console.error(g),o[v?"replace":"assign"](p)}}function a(m,h){i(m,Me({},t.state,da(n.value.back,m,n.value.forward,!0),h,{position:n.value.position}),!0),r.value=m}function u(m,h){let v=Me({},n.value,t.state,{forward:m,scroll:rn()});i(v.current,v,!0),i(m,Me({},da(r.value,m,null),{position:v.position+1},h),!1),r.value=m}return{location:r,state:n,push:u,replace:a}}function wa(e){e=xi(e);let t=kc(e),o=wc(e,t.state,t.location,t.replace);function r(i,a=!0){a||o.pauseListeners(),history.go(i)}let n=Me({location:"",base:e,go:r,createHref:ea.bind(null,e)},t,o);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>t.state.value}),n}var as=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),Qe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Qe||{}),_c={type:as.Static,value:""},Ec=/[a-zA-Z0-9_]/;function Cc(e){if(!e)return[[]];if(e==="/")return[[_c]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${o})/"${h}": ${g}`)}let o=Qe.Static,r=o,n=[],i;function a(){i&&n.push(i),i=[]}let u=0,m,h="",v="";function k(){h&&(o===Qe.Static?i.push({type:as.Static,value:h}):o===Qe.Param||o===Qe.ParamRegExp||o===Qe.ParamRegExpEnd?(i.length>1&&(m==="*"||m==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),i.push({type:as.Param,value:h,regexp:v,repeatable:m==="*"||m==="+",optional:m==="*"||m==="?"})):t("Invalid state to consume buffer"),h="")}function p(){h+=m}for(;ut.length?t.length===1&&t[0]===rt.Static+rt.Segment?1:-1:0}function ka(e,t){let o=0,r=e.score,n=t.score;for(;o0&&t[t.length-1]<0}var Tc={strict:!1,end:!0,sensitive:!1};function Oc(e,t,o){let r=Dc(Cc(e.path),o),n=Me(r,{record:e,parent:t,children:[],alias:[]});return t&&!n.record.aliasOf==!t.record.aliasOf&&t.children.push(n),n}function Ac(e,t){let o=[],r=new Map;t=Lo(Tc,t);function n(k){return r.get(k)}function i(k,p,g){let w=!g,b=fa(k);b.aliasOf=g&&g.record;let T=Lo(t,k),N=[b];if("alias"in k){let C=typeof k.alias=="string"?[k.alias]:k.alias;for(let A of C)N.push(fa(Me({},b,{components:g?g.record.components:b.components,path:A,aliasOf:g?g.record:b})))}let R,I;for(let C of N){let{path:A}=C;if(p&&A[0]!=="/"){let P=p.record.path,Z=P[P.length-1]==="/"?"":"/";C.path=p.record.path+(A&&Z+A)}if(R=Oc(C,p,T),g?g.alias.push(R):(I=I||R,I!==R&&I.alias.push(R),w&&k.name&&!ma(R)&&a(k.name)),_a(R)&&m(R),b.children){let P=b.children;for(let Z=0;Z{a(I)}:Cs}function a(k){if(Go(k)){let p=r.get(k);p&&(r.delete(k),o.splice(o.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{let p=o.indexOf(k);p>-1&&(o.splice(p,1),k.record.name&&r.delete(k.record.name),k.children.forEach(a),k.alias.forEach(a))}}function u(){return o}function m(k){let p=Pc(k,o);o.splice(p,0,k),k.record.name&&!ma(k)&&r.set(k.record.name,k)}function h(k,p){let g,w={},b,T;if("name"in k&&k.name){if(g=r.get(k.name),!g)throw rs(Ge.MATCHER_NOT_FOUND,{location:k});T=g.record.name,w=Me(pa(p.params,g.keys.filter(I=>!I.optional).concat(g.parent?g.parent.keys.filter(I=>I.optional):[]).map(I=>I.name)),k.params&&pa(k.params,g.keys.map(I=>I.name))),b=g.stringify(w)}else if(k.path!=null)b=k.path,g=o.find(I=>I.re.test(b)),g&&(w=g.parse(b),T=g.record.name);else{if(g=p.name?r.get(p.name):o.find(I=>I.re.test(p.path)),!g)throw rs(Ge.MATCHER_NOT_FOUND,{location:k,currentLocation:p});T=g.record.name,w=Me({},p.params,k.params),b=g.stringify(w)}let N=[],R=g;for(;R;)N.unshift(R.record),R=R.parent;return{name:T,path:b,params:w,matched:N,meta:Vc(N)}}e.forEach(k=>i(k));function v(){o.length=0,r.clear()}return{addRoute:i,resolve:h,removeRoute:a,clearRoutes:v,getRoutes:u,getRecordMatcher:n}}function pa(e,t){let o={};for(let r of t)r in e&&(o[r]=e[r]);return o}function fa(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ic(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ic(e){let t={},o=e.props||!1;if("component"in e)t.default=o;else for(let r in e.components)t[r]=typeof o=="object"?o[r]:o;return t}function ma(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Vc(e){return e.reduce((t,o)=>Me(t,o.meta),{})}function Pc(e,t){let o=0,r=t.length;for(;o!==r;){let i=o+r>>1;ka(e,t[i])<0?r=i:o=i+1}let n=qc(e);return n&&(r=t.lastIndexOf(n,r-1)),r}function qc(e){let t=e;for(;t=t.parent;)if(_a(t)&&ka(e,t)===0)return t}function _a({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ha(e){let t=dt(jn),o=dt(Wn),r=!1,n=null,i=st(()=>{let v=Lt(e.to);return t.resolve(v)}),a=st(()=>{let{matched:v}=i.value,{length:k}=v,p=v[k-1],g=o.matched;if(!p||!g.length)return-1;let w=g.findIndex(os.bind(null,p));if(w>-1)return w;let b=va(v[k-2]);return k>1&&va(p)===b&&g[g.length-1].path!==b?g.findIndex(os.bind(null,v[k-2])):w}),u=st(()=>a.value>-1&&Fc(o.params,i.value.params)),m=st(()=>a.value>-1&&a.value===o.matched.length-1&&Ho(o.params,i.value.params));function h(v={}){if(Lc(v)){let k=t[Lt(e.replace)?"replace":"push"](Lt(e.to)).catch(Cs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>k),k}return Promise.resolve()}return{route:i,href:st(()=>i.value.href),isActive:u,isExactActive:m,navigate:h}}function Mc(e){return e.length===1?e[0]:e}var $c=en({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ha,setup(e,{slots:t}){let o=He(ha(e)),{options:r}=dt(jn),n=st(()=>({[ya(e.activeClass,r.linkActiveClass,"router-link-active")]:o.isActive,[ya(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{let i=t.default&&Mc(t.default(o));return e.custom?i:Se("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:n.value},i)}}}),Uc=$c;function Lc(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Fc(e,t){for(let o in t){let r=t[o],n=e[o];if(typeof r=="string"){if(r!==n)return!1}else if(!bt(n)||n.length!==r.length||r.some((i,a)=>i.valueOf()!==n[a].valueOf()))return!1}return!0}function va(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}var ya=(e,t,o)=>e??t??o,zc=en({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){let r=dt(Kn),n=st(()=>e.route||r.value),i=dt(Wo,0),a=st(()=>{let h=Lt(i),{matched:v}=n.value,k;for(;(k=v[h])&&!k.components;)h++;return h}),u=st(()=>n.value.matched[a.value]);ss(Wo,st(()=>a.value+1)),ss(aa,u),ss(Kn,n);let m=xe();return Be(()=>[m.value,u.value,e.name],([h,v,k],[p,g,w])=>{v&&(v.instances[k]=h,g&&g!==v&&h&&h===p&&(v.leaveGuards.size||(v.leaveGuards=g.leaveGuards),v.updateGuards.size||(v.updateGuards=g.updateGuards))),h&&v&&(!g||!os(v,g)||!p)&&(v.enterCallbacks[k]||[]).forEach(b=>b(h))},{flush:"post"}),()=>{let h=n.value,v=e.name,k=u.value,p=k&&k.components[v];if(!p)return ga(o.default,{Component:p,route:h});let g=k.props[v],w=g?g===!0?h.params:typeof g=="function"?g(h):g:null,T=Se(p,Me({},w,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(k.instances[v]=null)},ref:m}));return ga(o.default,{Component:T,route:h})||T}}});function ga(e,t){if(!e)return null;let o=e(t);return o.length===1?o[0]:o}var Ko=zc;function Ea(e){let t=Ac(e.routes,e),o=e.parseQuery||ra,r=e.stringifyQuery||jo,n=e.history,i=Ns(),a=Ns(),u=Ns(),m=wn(jt),h=jt;is&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");let v=zn.bind(null,U=>""+U),k=zn.bind(null,Qi),p=zn.bind(null,Es);function g(U,te){let L,K;return Go(U)?(L=t.getRecordMatcher(U),K=te):K=U,t.addRoute(K,L)}function w(U){let te=t.getRecordMatcher(U);te&&t.removeRoute(te)}function b(){return t.getRoutes().map(U=>U.record)}function T(U){return!!t.getRecordMatcher(U)}function N(U,te){if(te=Me({},te||m.value),typeof U=="string"){let _=Hn(o,U,te.path),S=t.resolve({path:_.path},te),q=n.createHref(_.fullPath);return Me(_,S,{params:p(S.params),hash:Es(_.hash),redirectedFrom:void 0,href:q})}let L;if(U.path!=null)L=Me({},U,{path:Hn(o,U.path,te.path).path});else{let _=Me({},U.params);for(let S in _)_[S]==null&&delete _[S];L=Me({},U,{params:k(_)}),te.params=k(te.params)}let K=t.resolve(L,te),fe=U.hash||"";K.params=v(p(K.params));let Ne=Xi(r,Me({},U,{hash:Ji(fe),path:K.path})),ce=n.createHref(Ne);return Me({fullPath:Ne,hash:fe,query:r===jo?ia(U.query):U.query||{}},K,{redirectedFrom:void 0,href:ce})}function R(U){return typeof U=="string"?Hn(o,U,m.value.path):Me({},U)}function I(U,te){if(h!==U)return rs(Ge.NAVIGATION_CANCELLED,{from:te,to:U})}function C(U){return Z(U)}function A(U){return C(Me(R(U),{replace:!0}))}function P(U,te){let L=U.matched[U.matched.length-1];if(L&&L.redirect){let{redirect:K}=L,fe=typeof K=="function"?K(U,te):K;return typeof fe=="string"&&(fe=fe.includes("?")||fe.includes("#")?fe=R(fe):{path:fe},fe.params={}),Me({query:U.query,hash:U.hash,params:fe.path!=null?{}:U.params},fe)}}function Z(U,te){let L=h=N(U),K=m.value,fe=U.state,Ne=U.force,ce=U.replace===!0,_=P(L,K);if(_)return Z(Me(R(_),{state:typeof _=="object"?Me({},fe,_.state):fe,force:Ne,replace:ce}),te||L);let S=L;S.redirectedFrom=te;let q;return!Ne&&Zi(r,K,L)&&(q=rs(Ge.NAVIGATION_DUPLICATED,{to:S,from:K}),De(K,K,!0,!1)),(q?Promise.resolve(q):z(S,K)).catch(F=>Pt(F)?Pt(F,Ge.NAVIGATION_GUARD_REDIRECT)?F:Te(F):pe(F,S,K)).then(F=>{if(F){if(Pt(F,Ge.NAVIGATION_GUARD_REDIRECT))return Z(Me({replace:ce},R(F.to),{state:typeof F.to=="object"?Me({},fe,F.to.state):fe,force:Ne}),te||S)}else F=se(S,K,!0,ce,fe);return ae(S,K,F),F})}function Y(U,te){let L=I(U,te);return L?Promise.reject(L):Promise.resolve()}function j(U){let te=W.values().next().value;return te&&typeof te.runWithContext=="function"?te.runWithContext(U):U()}function z(U,te){let L,[K,fe,Ne]=la(U,te);L=Yn(K.reverse(),"beforeRouteLeave",U,te);for(let _ of K)_.leaveGuards.forEach(S=>{L.push(Gt(S,U,te))});let ce=Y.bind(null,U,te);return L.push(ce),le(L).then(()=>{L=[];for(let _ of i.list())L.push(Gt(_,U,te));return L.push(ce),le(L)}).then(()=>{L=Yn(fe,"beforeRouteUpdate",U,te);for(let _ of fe)_.updateGuards.forEach(S=>{L.push(Gt(S,U,te))});return L.push(ce),le(L)}).then(()=>{L=[];for(let _ of Ne)if(_.beforeEnter)if(bt(_.beforeEnter))for(let S of _.beforeEnter)L.push(Gt(S,U,te));else L.push(Gt(_.beforeEnter,U,te));return L.push(ce),le(L)}).then(()=>(U.matched.forEach(_=>_.enterCallbacks={}),L=Yn(Ne,"beforeRouteEnter",U,te,j),L.push(ce),le(L))).then(()=>{L=[];for(let _ of a.list())L.push(Gt(_,U,te));return L.push(ce),le(L)}).catch(_=>Pt(_,Ge.NAVIGATION_CANCELLED)?_:Promise.reject(_))}function ae(U,te,L){u.list().forEach(K=>j(()=>K(U,te,L)))}function se(U,te,L,K,fe){let Ne=I(U,te);if(Ne)return Ne;let ce=te===jt,_=is?history.state:{};L&&(K||ce?n.replace(U.fullPath,Me({scroll:ce&&_&&_.scroll},fe)):n.push(U.fullPath,fe)),m.value=U,De(U,te,L,ce),Te()}let re;function ue(){re||(re=n.listen((U,te,L)=>{if(!oe.listening)return;let K=N(U),fe=P(K,oe.currentRoute.value);if(fe){Z(Me(fe,{replace:!0,force:!0}),K).catch(Cs);return}h=K;let Ne=m.value;is&&sa(Bo(Ne.fullPath,L.delta),rn()),z(K,Ne).catch(ce=>Pt(ce,Ge.NAVIGATION_ABORTED|Ge.NAVIGATION_CANCELLED)?ce:Pt(ce,Ge.NAVIGATION_GUARD_REDIRECT)?(Z(Me(R(ce.to),{force:!0}),K).then(_=>{Pt(_,Ge.NAVIGATION_ABORTED|Ge.NAVIGATION_DUPLICATED)&&!L.delta&&L.type===Bn.pop&&n.go(-1,!1)}).catch(Cs),Promise.reject()):(L.delta&&n.go(-L.delta,!1),pe(ce,K,Ne))).then(ce=>{ce=ce||se(K,Ne,!1),ce&&(L.delta&&!Pt(ce,Ge.NAVIGATION_CANCELLED)?n.go(-L.delta,!1):L.type===Bn.pop&&Pt(ce,Ge.NAVIGATION_ABORTED|Ge.NAVIGATION_DUPLICATED)&&n.go(-1,!1)),ae(K,Ne,ce)}).catch(Cs)}))}let _e=Ns(),he=Ns(),me;function pe(U,te,L){Te(U);let K=he.list();return K.length?K.forEach(fe=>fe(U,te,L)):console.error(U),Promise.reject(U)}function Oe(){return me&&m.value!==jt?Promise.resolve():new Promise((U,te)=>{_e.add([U,te])})}function Te(U){return me||(me=!U,ue(),_e.list().forEach(([te,L])=>U?L(U):te()),_e.reset()),U}function De(U,te,L,K){let{scrollBehavior:fe}=e;if(!is||!fe)return Promise.resolve();let Ne=!L&&na(Bo(U.fullPath,0))||(K||!L)&&history.state&&history.state.scroll||null;return Et().then(()=>fe(U,te,Ne)).then(ce=>ce&&ta(ce)).catch(ce=>pe(ce,U,te))}let D=U=>n.go(U),V,W=new Set,oe={currentRoute:m,listening:!0,addRoute:g,removeRoute:w,clearRoutes:t.clearRoutes,hasRoute:T,getRoutes:b,resolve:N,options:e,push:C,replace:A,go:D,back:()=>D(-1),forward:()=>D(1),beforeEach:i.add,beforeResolve:a.add,afterEach:u.add,onError:he.add,isReady:Oe,install(U){U.component("RouterLink",Uc),U.component("RouterView",Ko),U.config.globalProperties.$router=oe,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Lt(m)}),is&&!V&&m.value===jt&&(V=!0,C(n.location).catch(K=>{}));let te={};for(let K in jt)Object.defineProperty(te,K,{get:()=>m.value[K],enumerable:!0});U.provide(jn,oe),U.provide(Wn,zs(te)),U.provide(Kn,m);let L=U.unmount;W.add(U),U.unmount=function(){W.delete(U),W.size<1&&(h=jt,re&&re(),re=null,m.value=jt,V=!1,me=!1),L()}}};function le(U){return U.reduce((te,L)=>te.then(()=>j(L)),Promise.resolve())}return oe}function Ca(e){return dt(Wn)}function Na(e,t){return t?.split(".").reduce((o,r)=>o?.[r],e)}function Yo(e=null,t=new Map){let o=He({}),r=[],n=!1,i=new Proxy(o,{get(a,u){return typeof u=="string"&&u.startsWith("__v_")||Reflect.has(a,u)?Reflect.get(a,u):e?.[u]}});return Object.defineProperty(o,"parent",{value:e,configurable:!0}),Object.defineProperty(o,"viewState",{get:()=>i}),i.watch=(a,u,m=!1)=>{let h=typeof a=="function"?()=>a(i):()=>Na(i,a),v=Be(h,u,{deep:m,flush:"post"});return r.push(v),Et(()=>{n||u(h(),h())}),v},i.watchGroup=(a,u)=>i.watch(()=>a.map(m=>Na(i,m)),u,!0),i.on=(a,u)=>{if(a==="dispose")return r.push(u),()=>{};t.has(a)||t.set(a,new Set),t.get(a).add(u);let m=()=>t.get(a)?.delete(u);return r.push(m),m},i.emit=(a,...u)=>{for(let m of[...t.get(a)||[]])m({},...u)},i.dispose=()=>{n=!0,r.splice(0).reverse().forEach(a=>a())},Ls(i.dispose),i}function ht(){let e=new Set,t=new Set,o=!1,r=(i,a=0)=>{if(o)return;let u=setTimeout(()=>{e.delete(u),i()},a);return e.add(u),u};r.cancel=i=>{clearTimeout(i),e.delete(i)};let n=(i,a)=>{if(o)return;let u=setInterval(i,a);return t.add(u),u};return n.cancel=i=>{clearInterval(i),t.delete(i)},Ls(()=>{o=!0,e.forEach(clearTimeout),t.forEach(clearInterval)}),{timeout:r,interval:n}}function ls(){let e=[];return Ls(()=>e.forEach(t=>t())),(t,o,r,n)=>{t.addEventListener(o,r,n),e.push(()=>t.removeEventListener(o,r,n))}}var Sa=function(e,t,o,r){e.title="Main",e.user={status:"connection"},e.site_options,e.toasts=[],e.removeToast=function(m){let h=e.toasts.indexOf(m);h!==-1&&e.toasts.splice(h,1)},e.addToast=function(m){return e.toasts.push(m),r(function(){e.removeToast(m)},8e3),m},e.path=o.url(),e.paths=o.path().substring(1).split("/"),e.darkMode=function(m){localStorage.setItem("darkMode",m),e.isDarkMode=m;let h="/css/prism-okaidia.css",v="/css/prism.css";if(m){$("body").addClass("dark-mode");let p=document.createElement("link");p.href=h,p.rel="stylesheet",document.head.append(p),$(`link[href='${v}']`).remove()}else{$("body").removeClass("dark-mode");let p=document.createElement("link");p.href=v,p.rel="stylesheet",document.head.append(p),$(`link[href='${h}']`).remove()}var k=document.querySelector(".floatingchat-container-wrap-mo498 .floating-chat-kofi-text-container-wrap");k&&(k.style.backgroundColor=m?"#FAF9F6":"#1A1815",k.style.color=m?"#1A1815":"#FAF9F6"),e.emit("dark-mode",m)},e.darkMode(localStorage.getItem("darkMode")=="true");function n(){t.get("/api/user").then(m=>{m&&(e.user=m.data)},()=>{e.user=null})}n();function i(){t.get("/api/options").then(m=>{m&&(e.site_options=m.data)},()=>{e.site_options=null})}i();function a(){t.get("/api/message").then(m=>{m&&(e.generalMessage=m.data)},()=>{e.generalMessage=null})}a();function u(m,h){h&&(e.title=h.title),e.path=o.url(),e.paths=o.path().substring(1).split("/")}e.on("routeChange",u),e.on("routeUpdate",u)},Da=function(e,t){let o=ls()},Ra=function(e,t,o,r,n){e.terms="",e.options={expirationMode:"remove",update:!1,image:!0,pdf:!0,notebook:!0,loc:!0,link:!0},e.saving=!1,e.message=null,e.error=null,n.load().then(u=>{e.quota=u},console.error);function i(){t.get("/api/user/default").then(u=>{let m=u.data||{};m.terms&&(e.terms=m.terms.join(` `)),e.options=Object.assign({},e.options,m.options)})}i();let a=null;e.saveDefault=u=>{u&&u.preventDefault&&u.preventDefault();let m={terms:e.terms.split(` -`).map(h=>h.trim()).filter(h=>h.length>0),options:e.options};e.saving=!0,e.error=null,t.post("/api/user/default",m).then(()=>{i(),e.saving=!1,e.message="Saved",a&&r.cancel(a),a=r(()=>{e.message=null},2500)},h=>{e.saving=!1;let v=h&&h.data&&h.data.error;o("ERRORS."+v).then(k=>{e.error=k},()=>{e.error="Unable to save your defaults. Please try again."})})},e.deleteAccount=()=>{confirm("Delete your account? All your anonymized repositories, gists, and pull requests will be removed, and your personal data will be erased. This cannot be undone.")&&(e.deletingAccount=!0,t.delete("/api/user").then(()=>{window.location.href="/"},()=>{e.deletingAccount=!1,e.deleteError="Unable to delete the account. Please try again."}))}},Ra=function(e,t,o){e.repoId=null,e.repoUrl=null,e.claim=()=>{t.post("/api/repo/claim",{repoId:e.repoId,repoUrl:e.repoUrl}).then(r=>{o.url("/dashboard")},r=>{e.error=r.data,e.claimForm.repoUrl.setValidity("not_found",!1),e.claimForm.repoId.setValidity("not_found",!1)})}},Ta=function(e,t,o,r,n){e.user&&!e.user.status&&o.url("/dashboard"),e.watch("user.status",()=>{e.user&&!e.user.status&&o.url("/dashboard")}),e.features=[{key:"anonymize",num:"01",eyebrow:"Anonymize",title:"Double-anonymous,",accent:"your rules.",text:"Choose what reviewers may see: links, images, PDFs, notebooks, GitHub Pages. Add your own terms, with regex if you need it, and pick the expiration date.",cta:"Start an anonymization",href:"/anonymize",url:"anonymous.4open.science/anonymize",img:"/imgs/anonymize.png",alt:"The anonymize form: source repository, terms to redact, options and a live README preview"},{key:"review",num:"02",eyebrow:"Review",title:"Reviewers browse",accent:"the real thing.",text:"Highlighted source code, rendered PDFs, images, and notebooks, in a familiar file explorer. GitHub Pages is also supported.",cta:"Open the example",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/",target:"_self",url:"anonymous.4open.science/r/840c8c57-\u2026",img:"/imgs/explorer.png",alt:"The repository explorer with a file tree and a rendered README"},{key:"manage",num:"03",eyebrow:"Manage",title:"One dashboard,",accent:"until the decision.",text:"Monitor views, edit configuration, remove or update your repository. Program chairs can group submissions under a conference with one shared expiry.",cta:"Open the dashboard",href:"/dashboard",needsUser:!0,url:"anonymous.4open.science/dashboard",img:"/imgs/dashboard.png",alt:"The dashboard listing anonymized repositories with status, views and expiry"}],e.feature=e.features[0].key,e.selectFeature=function(u){e.feature=u},e.featureHref=function(u){return u.needsUser&&!e.user?"/signin":u.href},e.featureTarget=function(u){return u.needsUser&&!e.user?"_self":u.target||void 0},e.featureKeydown=function(u,m){let h={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1,Home:"first",End:"last"}[u.key];if(h===void 0)return;u.preventDefault();let v=e.features.length,k=h==="first"?0:h==="last"?v-1:(m+h+v)%v;e.feature=e.features[k].key,n(()=>{let p=r.document.getElementById("feature-tab-"+e.feature);p&&p.focus()})},e.cards=[{key:"repositories",total:0,label:"repositories anonymized"},{key:"users",total:0,label:"researchers"},{key:"pageViews",total:0,label:"page views"},{key:"pullRequests",total:0,label:"pull requests"}];function i(){t.get("/api/stat/").then(u=>{e.stat=u.data,e.cards[0].total=u.data.nbRepositories,e.cards[1].total=u.data.nbUsers,e.cards[2].total=u.data.nbPageViews,e.cards[3].total=u.data.nbPullRequests})}i();function a(u){let m={series:u,bars:[],viewW:100,deltaToday:0,pctChange:0,pctAbs:0,isUp:!0};if(!u||u.length<2)return m;let h=new Array(u.length-1);for(let b=1;b=2){let b=h[v-2];b&&(m.pctChange=(m.deltaToday-b)/b*100)}return m.pctAbs=Math.round(Math.abs(m.pctChange)),m.isUp=m.pctChange>=0,m}e.history={repositories:a([]),users:a([]),pageViews:a([]),pullRequests:a([])},t.get("/api/stat/history?days=60").then(u=>{let m=u.data||[];e.history={repositories:a(m.map(h=>h.nbRepositories||0)),users:a(m.map(h=>h.nbUsers||0)),pageViews:a(m.map(h=>h.nbPageViews||0)),pullRequests:a(m.map(h=>h.nbPullRequests||0))}})},Oa=function(e,t,o,r,n,i){let a=mt();e.on("routeLeave",function(){$('[data-toggle="tooltip"]').tooltip("dispose")}),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),a.timeout(()=>{$('[data-toggle="tooltip"]').tooltip()},250),e.items=[],e.search="",e.loading=!0,e.statusKeyLabels={ready:"Ready",progress:"In progress",error:"Error",expired:"Expired",removed:"Removed"};let u=["queue","download","downloaded","preparing","anonymizing"];function m(C){return C==="ready"||C==="error"?C:C==="expired"||C==="expiring"?"expired":C==="removed"||C==="removing"?"removed":(u.indexOf(C)>-1,"progress")}let h=7200*1e3,v="dashboard.filterPrefs",k={typeFilter:"all",filters:{status:{ready:!0,progress:!0,error:!0,expired:!0,removed:!1}},orderBy:"-anonymizeDate"},p=loadFilterPrefs(v)||{};e.typeFilter=p.typeFilter||k.typeFilter,e.filters={status:Object.assign({},k.filters.status,p.filters&&p.filters.status||{})},e.orderBy=p.orderBy||k.orderBy;let g={_name:{label:"Name",defaultDesc:!1},anonymizeDate:{label:"Anonymize date",defaultDesc:!0},status:{label:"Status",defaultDesc:!1},lastView:{label:"Last view",defaultDesc:!0},pageView:{label:"Views",defaultDesc:!0},"options.expirationDate":{label:"Expiration",defaultDesc:!1}};e.sortFields=g,e.sortField=()=>e.orderBy.replace(/^-/,""),e.sortDesc=()=>e.orderBy.charAt(0)==="-",e.sortLabel=()=>{let C=g[e.sortField()];return C?C.label:"Custom"},e.isSortedBy=C=>e.sortField()===C,e.setSort=(C,A)=>{typeof A!="boolean"&&(A=e.isSortedBy(C)?!e.sortDesc():!!(g[C]&&g[C].defaultDesc)),e.orderBy=(A?"-":"")+C},e.toggleSortDirection=()=>{e.setSort(e.sortField(),!e.sortDesc())},e.watchGroup(["typeFilter","orderBy"],()=>{saveFilterPrefs(v,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(v,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})},!0),i.load().then(C=>{e.quota=C},console.error);function w(C,A,P,Z,Y,j){C.pageView||(C.pageView=0),C.lastView||(C.lastView=""),C.options=C.options||{},C.options.terms=(C.options.terms||[]).filter(ae=>ae),C._id=A||"",C._source=Z,C._broken=!A,C._name=A||Z||"(unnamed)",C._editUrl=A?Y:null,C._viewUrl=A?j:null,C._broken&&(C.status="error",C.statusMessage="incomplete_record"),C._statusKey=m(C.status);let z=C.anonymizeDate||C.lastView;return C._stale=C._statusKey==="progress"&&!!z&&Date.now()-new Date(z).getTime()>h,C.status==="expired"||C.status==="expiring"?C._expiry={kind:"expired",date:C.options.expirationDate}:C.status!=="ready"?C._expiry={kind:"none"}:C.options.expirationMode==="never"||!C.options.expirationDate?C._expiry={kind:"never"}:C._expiry={kind:"date",date:C.options.expirationDate},C}function b(C){return t.get(C).then(A=>A.data||[],A=>(console.error(A),[]))}function T(){return e.loading=!0,r.all([b("/api/user/anonymized_repositories"),b("/api/user/anonymized_pull_requests"),b("/api/user/anonymized_gists")]).then(C=>{let A=C[0],P=C[1],Z=C[2],Y=[];A.forEach(j=>{j._type="repo";let z=j.source||{};Y.push(w(j,j.repoId,j.repoId,z.fullName,"/anonymize/"+j.repoId,"/r/"+j.repoId+"/"))}),P.forEach(j=>{j._type="pr";let z=j.source||{};Y.push(w(j,j.pullRequestId,j.pullRequestId,z.repositoryFullName+"#"+z.pullRequestId,"/pull-request-anonymize/"+j.pullRequestId,"/pr/"+j.pullRequestId+"/"))}),Z.forEach(j=>{j._type="gist";let z=j.source||{};Y.push(w(j,j.gistId,j.gistId,z.gistId,"/gist-anonymize/"+j.gistId,"/gist/"+j.gistId+"/"))}),e.items=Y,e.loading=!1})}T(),e.openItem=(C,A)=>{if(!C._viewUrl)return;let P=A&&A.target;P&&P.closest&&P.closest("a, button, .dropdown, input")||(n.location.href=C._viewUrl)},e.hiddenStatusCount=()=>Object.keys(e.filters.status).filter(C=>e.filters.status[C]===!1).length,e.hasHiddenStatus=()=>e.hiddenStatusCount()>0,e.hasActiveFilters=()=>e.typeFilter!=="all"||e.search.trim().length>0||Object.keys(e.filters.status).some(C=>e.filters.status[C]===!1),e.clearFilters=()=>{e.typeFilter="all",e.search="",Object.keys(e.filters.status).forEach(C=>{e.filters.status[C]=!0})};function N(C,A,P){t.get("/api/repo/"+C).then(Z=>{for(let Y of e.items)if(Y._type==="repo"&&Y.repoId==C){Y.status=Z.data.status,Y.statusMessage=Z.data.statusMessage;break}if(Z.data.status=="ready"||Z.data.status=="error"||Z.data.status=="removed"||Z.data.status=="expired"){A(Z.data);return}a.timeout(()=>N(C,A,P),2500)},P)}let R=C=>C==="repo"?"repository":C==="gist"?"gist":"pull request",I=C=>C==="repo"?"/api/repo":C==="gist"?"/api/gist":"/api/pr";e.removeItem=C=>{let A=R(C._type);if(confirm(`Are you sure that you want to remove the ${A} ${C._id}?`)){let P=ze({title:`Removing ${C._id}...`,date:new Date,body:`The ${A} ${C._id} is going to be removed.`});e.addToast(P);let Z=`${I(C._type)}/${C._id}`;t.delete(Z).then(()=>{C._type==="repo"?N(C._id,()=>{P.title=`${C._id} is removed.`,P.body=`The ${A} ${C._id} is removed.`}):(P.title=`${C._id} is removed.`,P.body=`The ${A} ${C._id} is removed.`,T())},Y=>{P.title=`Error during the removal of ${C._id}.`,P.body=Y.body,T()})}},e.refreshItem=C=>{let A=R(C._type),P=ze({title:`Refreshing ${C._id}...`,date:new Date,body:`The ${A} ${C._id} is going to be refreshed.`});e.addToast(P);let Z=j=>{P.title=`Error during the refresh of ${C._id}.`,P.body=j.data?.error||j.body||"The refresh could not be completed. Please try again.",T()},Y=`${I(C._type)}/${C._id}/refresh`;t.post(Y).then(()=>{C._type==="repo"?N(C._id,j=>{if(j.status!=="ready"){Z({body:j.statusMessage||`The repository is ${j.status}.`});return}P.title=`${C._id} is refreshed.`,P.body=`The ${A} ${C._id} is refreshed.`},Z):(P.title=`${C._id} is refreshed.`,P.body=`The ${A} ${C._id} is refreshed.`,T())},Z)},e.extendItem=C=>{let A=R(C._type),P=ze({title:`Extending ${C._id}...`,date:new Date,body:`The expiration of ${A} ${C._id} is going to be extended by 6 months.`});e.addToast(P);let Z=`${I(C._type)}/${C._id}/extend`;t.post(Z).then(()=>{C._type==="repo"?N(C._id,()=>{P.title=`${C._id} is extended.`,P.body=`The expiration of ${A} ${C._id} is extended by 6 months.`}):(P.title=`${C._id} is extended.`,P.body=`The expiration of ${A} ${C._id} is extended by 6 months.`,T())},Y=>{P.title=`Error during the extension of ${C._id}.`,P.body=Y.data&&Y.data.error||Y.body,T()})},e.itemFilter=C=>{if(e.typeFilter!=="all"&&C._type!==e.typeFilter||e.filters.status[C._statusKey]===!1)return!1;let A=e.search.trim().toLowerCase();return!!(A.length==0||C._source&&String(C._source).toLowerCase().indexOf(A)>-1||C._id&&String(C._id).toLowerCase().indexOf(A)>-1||C.conference&&String(C.conference).toLowerCase().indexOf(A)>-1)}};var Aa=function(e,t,o){let r=mt();e.repoId=o.repoId,e.repo=null,e.progress=0,e.rateLimitResetAt=0,e.rateLimitCountdown="";var n=null;let i=null,a=!1;function u(h){e.rateLimitResetAt=h,n&&r.interval.cancel(n);function v(){var k=Math.max(0,Math.ceil((h-Date.now())/1e3));if(k<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,r.interval.cancel(n),n=null;else{var p=Math.floor(k/60),g=k%60;e.rateLimitCountdown=p>0?p+"m "+g+"s":g+"s"}}v(),n=r.interval(v,1e3)}e.on("dispose",function(){a=!0,n&&r.interval.cancel(n),i&&r.timeout.cancel(i)});function m(h){if(!h)return h;var v=h.match(/^rate_limited:(\d+)$/);return v?(u(parseInt(v[1],10)),null):(e.rateLimitResetAt=0,h)}e.getStatus=()=>{a||t.get("/api/repo/"+e.repoId,{repoId:e.repoId,repoUrl:e.repoUrl}).then(h=>{if(!a){e.repo=h.data,h.data.rateLimitResetAt?u(h.data.rateLimitResetAt):e.repo.statusMessage=m(e.repo.statusMessage),e.repo.status=="ready"?e.progress=100:e.repo.status=="queue"?e.progress=10:e.repo.status=="downloaded"?e.progress=50:e.repo.status=="download"||e.repo.status=="preparing"?e.progress=25:e.repo.status=="anonymizing"&&(e.progress=75);var v=!["ready","removed","expired"].includes(e.repo.status);e.repo.status=="error"&&!e.rateLimitResetAt&&(v=!1),v&&(i=r.timeout(e.getStatus,2e3))}},h=>{e.error=h.data.error})},e.getStatus()},Yn=function(e,t,o,r,n,i,a){e.sourceUrl="",e.githubConnection=void 0,e.githubConnections=null,e.gistOAuthRequired=!1;let u=()=>{let D={};for(let V of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])D[V]=e[V];sessionStorage.setItem("github-access-draft",JSON.stringify({path:n.path(),savedAt:Date.now(),draft:D}))};e.connectGistOAuth=()=>{u(),window.location.href="/github/login?returnTo="+encodeURIComponent(n.path())},e.grantGitHubAccess=()=>{u();let D=n.path(),V=g(e.sourceUrl)||"",W=e.githubConnections?.appConnected?"/github/app/install":"/github/app/login";window.location.href=W+"?returnTo="+encodeURIComponent(D)+"&repository="+encodeURIComponent(V)+"&install=1"},e.chooseGitHubConnection=async D=>{e.githubConnection=D,e.readme="",e.sourceUrl&&await b()},e.detectedType=null,e.repoId="",e.pullRequestId="",e.gistId="",e.terms="",e.defaultTerms="",e.branches=[],e.source={branch:"",commit:""},e.options={expirationMode:"remove",expirationDate:new Date,update:!1,image:!0,pdf:!0,notebook:!0,link:!0,body:!0,title:!0,origin:!1,diff:!0,content:!0,comments:!0,username:!0,date:!0};function m(){let D=new Date;return D.setMonth(D.getMonth()+6),D}e.options.expirationDate=m();function h(D){let V=D.getFullYear(),W=String(D.getMonth()+1).padStart(2,"0"),oe=String(D.getDate()).padStart(2,"0");return`${V}-${W}-${oe}`}e.minExpirationDate=h(new Date);let v=new Date;v.setFullYear(v.getFullYear()+1),e.maxExpirationDate=h(v),e.anonymize_readme="",e.readme="",e.html_readme="",e.isUpdate=!1;function k(D){t.get("/api/user/default").then(V=>{let W=V.data;W.terms&&(e.defaultTerms=W.terms.join(` +`).map(h=>h.trim()).filter(h=>h.length>0),options:e.options};e.saving=!0,e.error=null,t.post("/api/user/default",m).then(()=>{i(),e.saving=!1,e.message="Saved",a&&r.cancel(a),a=r(()=>{e.message=null},2500)},h=>{e.saving=!1;let v=h&&h.data&&h.data.error;o("ERRORS."+v).then(k=>{e.error=k},()=>{e.error="Unable to save your defaults. Please try again."})})},e.deleteAccount=()=>{confirm("Delete your account? All your anonymized repositories, gists, and pull requests will be removed, and your personal data will be erased. This cannot be undone.")&&(e.deletingAccount=!0,t.delete("/api/user").then(()=>{window.location.href="/"},()=>{e.deletingAccount=!1,e.deleteError="Unable to delete the account. Please try again."}))}},Ta=function(e,t,o){e.repoId=null,e.repoUrl=null,e.claim=()=>{t.post("/api/repo/claim",{repoId:e.repoId,repoUrl:e.repoUrl}).then(r=>{o.url("/dashboard")},r=>{e.error=r.data,e.claimForm.repoUrl.setValidity("not_found",!1),e.claimForm.repoId.setValidity("not_found",!1)})}},Oa=function(e,t,o,r,n){e.user&&!e.user.status&&o.url("/dashboard"),e.watch("user.status",()=>{e.user&&!e.user.status&&o.url("/dashboard")}),e.features=[{key:"anonymize",num:"01",eyebrow:"Anonymize",title:"Double-anonymous,",accent:"your rules.",text:"Choose what reviewers may see: links, images, PDFs, notebooks, GitHub Pages. Add your own terms, with regex if you need it, and pick the expiration date.",cta:"Start an anonymization",href:"/anonymize",url:"anonymous.4open.science/anonymize",img:"/imgs/anonymize.png",alt:"The anonymize form: source repository, terms to redact, options and a live README preview"},{key:"review",num:"02",eyebrow:"Review",title:"Reviewers browse",accent:"the real thing.",text:"Highlighted source code, rendered PDFs, images, and notebooks, in a familiar file explorer. GitHub Pages is also supported.",cta:"Open the example",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/",target:"_self",url:"anonymous.4open.science/r/840c8c57-\u2026",img:"/imgs/explorer.png",alt:"The repository explorer with a file tree and a rendered README"},{key:"manage",num:"03",eyebrow:"Manage",title:"One dashboard,",accent:"until the decision.",text:"Monitor views, edit configuration, remove or update your repository. Program chairs can group submissions under a conference with one shared expiry.",cta:"Open the dashboard",href:"/dashboard",needsUser:!0,url:"anonymous.4open.science/dashboard",img:"/imgs/dashboard.png",alt:"The dashboard listing anonymized repositories with status, views and expiry"}],e.feature=e.features[0].key,e.selectFeature=function(u){e.feature=u},e.featureHref=function(u){return u.needsUser&&!e.user?"/signin":u.href},e.featureTarget=function(u){return u.needsUser&&!e.user?"_self":u.target||void 0},e.featureKeydown=function(u,m){let h={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1,Home:"first",End:"last"}[u.key];if(h===void 0)return;u.preventDefault();let v=e.features.length,k=h==="first"?0:h==="last"?v-1:(m+h+v)%v;e.feature=e.features[k].key,n(()=>{let p=r.document.getElementById("feature-tab-"+e.feature);p&&p.focus()})},e.cards=[{key:"repositories",total:0,label:"repositories anonymized"},{key:"users",total:0,label:"researchers"},{key:"pageViews",total:0,label:"page views"},{key:"pullRequests",total:0,label:"pull requests"}];function i(){t.get("/api/stat/").then(u=>{e.stat=u.data,e.cards[0].total=u.data.nbRepositories,e.cards[1].total=u.data.nbUsers,e.cards[2].total=u.data.nbPageViews,e.cards[3].total=u.data.nbPullRequests})}i();function a(u){let m={series:u,bars:[],viewW:100,deltaToday:0,pctChange:0,pctAbs:0,isUp:!0};if(!u||u.length<2)return m;let h=new Array(u.length-1);for(let b=1;b=2){let b=h[v-2];b&&(m.pctChange=(m.deltaToday-b)/b*100)}return m.pctAbs=Math.round(Math.abs(m.pctChange)),m.isUp=m.pctChange>=0,m}e.history={repositories:a([]),users:a([]),pageViews:a([]),pullRequests:a([])},t.get("/api/stat/history?days=60").then(u=>{let m=u.data||[];e.history={repositories:a(m.map(h=>h.nbRepositories||0)),users:a(m.map(h=>h.nbUsers||0)),pageViews:a(m.map(h=>h.nbPageViews||0)),pullRequests:a(m.map(h=>h.nbPullRequests||0))}})},Aa=function(e,t,o,r,n,i){let a=ht();e.on("routeLeave",function(){$('[data-toggle="tooltip"]').tooltip("dispose")}),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),a.timeout(()=>{$('[data-toggle="tooltip"]').tooltip()},250),e.items=[],e.search="",e.loading=!0,e.statusKeyLabels={ready:"Ready",progress:"In progress",error:"Error",expired:"Expired",removed:"Removed"};let u=["queue","download","downloaded","preparing","anonymizing"];function m(C){return C==="ready"||C==="error"?C:C==="expired"||C==="expiring"?"expired":C==="removed"||C==="removing"?"removed":(u.indexOf(C)>-1,"progress")}let h=7200*1e3,v="dashboard.filterPrefs",k={typeFilter:"all",filters:{status:{ready:!0,progress:!0,error:!0,expired:!0,removed:!1}},orderBy:"-anonymizeDate"},p=loadFilterPrefs(v)||{};e.typeFilter=p.typeFilter||k.typeFilter,e.filters={status:Object.assign({},k.filters.status,p.filters&&p.filters.status||{})},e.orderBy=p.orderBy||k.orderBy;let g={_name:{label:"Name",defaultDesc:!1},anonymizeDate:{label:"Anonymize date",defaultDesc:!0},status:{label:"Status",defaultDesc:!1},lastView:{label:"Last view",defaultDesc:!0},pageView:{label:"Views",defaultDesc:!0},"options.expirationDate":{label:"Expiration",defaultDesc:!1}};e.sortFields=g,e.sortField=()=>e.orderBy.replace(/^-/,""),e.sortDesc=()=>e.orderBy.charAt(0)==="-",e.sortLabel=()=>{let C=g[e.sortField()];return C?C.label:"Custom"},e.isSortedBy=C=>e.sortField()===C,e.setSort=(C,A)=>{typeof A!="boolean"&&(A=e.isSortedBy(C)?!e.sortDesc():!!(g[C]&&g[C].defaultDesc)),e.orderBy=(A?"-":"")+C},e.toggleSortDirection=()=>{e.setSort(e.sortField(),!e.sortDesc())},e.watchGroup(["typeFilter","orderBy"],()=>{saveFilterPrefs(v,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(v,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})},!0),i.load().then(C=>{e.quota=C},console.error);function w(C,A,P,Z,Y,j){C.pageView||(C.pageView=0),C.lastView||(C.lastView=""),C.options=C.options||{},C.options.terms=(C.options.terms||[]).filter(ae=>ae),C._id=A||"",C._source=Z,C._broken=!A,C._name=A||Z||"(unnamed)",C._editUrl=A?Y:null,C._viewUrl=A?j:null,C._broken&&(C.status="error",C.statusMessage="incomplete_record"),C._statusKey=m(C.status);let z=C.anonymizeDate||C.lastView;return C._stale=C._statusKey==="progress"&&!!z&&Date.now()-new Date(z).getTime()>h,C.status==="expired"||C.status==="expiring"?C._expiry={kind:"expired",date:C.options.expirationDate}:C.status!=="ready"?C._expiry={kind:"none"}:C.options.expirationMode==="never"||!C.options.expirationDate?C._expiry={kind:"never"}:C._expiry={kind:"date",date:C.options.expirationDate},C}function b(C){return t.get(C).then(A=>A.data||[],A=>(console.error(A),[]))}function T(){return e.loading=!0,r.all([b("/api/user/anonymized_repositories"),b("/api/user/anonymized_pull_requests"),b("/api/user/anonymized_gists")]).then(C=>{let A=C[0],P=C[1],Z=C[2],Y=[];A.forEach(j=>{j._type="repo";let z=j.source||{};Y.push(w(j,j.repoId,j.repoId,z.fullName,"/anonymize/"+j.repoId,"/r/"+j.repoId+"/"))}),P.forEach(j=>{j._type="pr";let z=j.source||{};Y.push(w(j,j.pullRequestId,j.pullRequestId,z.repositoryFullName+"#"+z.pullRequestId,"/pull-request-anonymize/"+j.pullRequestId,"/pr/"+j.pullRequestId+"/"))}),Z.forEach(j=>{j._type="gist";let z=j.source||{};Y.push(w(j,j.gistId,j.gistId,z.gistId,"/gist-anonymize/"+j.gistId,"/gist/"+j.gistId+"/"))}),e.items=Y,e.loading=!1})}T(),e.openItem=(C,A)=>{if(!C._viewUrl)return;let P=A&&A.target;P&&P.closest&&P.closest("a, button, .dropdown, input")||(n.location.href=C._viewUrl)},e.hiddenStatusCount=()=>Object.keys(e.filters.status).filter(C=>e.filters.status[C]===!1).length,e.hasHiddenStatus=()=>e.hiddenStatusCount()>0,e.hasActiveFilters=()=>e.typeFilter!=="all"||e.search.trim().length>0||Object.keys(e.filters.status).some(C=>e.filters.status[C]===!1),e.clearFilters=()=>{e.typeFilter="all",e.search="",Object.keys(e.filters.status).forEach(C=>{e.filters.status[C]=!0})};function N(C,A,P){t.get("/api/repo/"+C).then(Z=>{for(let Y of e.items)if(Y._type==="repo"&&Y.repoId==C){Y.status=Z.data.status,Y.statusMessage=Z.data.statusMessage;break}if(Z.data.status=="ready"||Z.data.status=="error"||Z.data.status=="removed"||Z.data.status=="expired"){A(Z.data);return}a.timeout(()=>N(C,A,P),2500)},P)}let R=C=>C==="repo"?"repository":C==="gist"?"gist":"pull request",I=C=>C==="repo"?"/api/repo":C==="gist"?"/api/gist":"/api/pr";e.removeItem=C=>{let A=R(C._type);if(confirm(`Are you sure that you want to remove the ${A} ${C._id}?`)){let P=He({title:`Removing ${C._id}...`,date:new Date,body:`The ${A} ${C._id} is going to be removed.`});e.addToast(P);let Z=`${I(C._type)}/${C._id}`;t.delete(Z).then(()=>{C._type==="repo"?N(C._id,()=>{P.title=`${C._id} is removed.`,P.body=`The ${A} ${C._id} is removed.`}):(P.title=`${C._id} is removed.`,P.body=`The ${A} ${C._id} is removed.`,T())},Y=>{P.title=`Error during the removal of ${C._id}.`,P.body=Y.body,T()})}},e.refreshItem=C=>{let A=R(C._type),P=He({title:`Refreshing ${C._id}...`,date:new Date,body:`The ${A} ${C._id} is going to be refreshed.`});e.addToast(P);let Z=j=>{P.title=`Error during the refresh of ${C._id}.`,P.body=j.data?.error||j.body||"The refresh could not be completed. Please try again.",T()},Y=`${I(C._type)}/${C._id}/refresh`;t.post(Y).then(()=>{C._type==="repo"?N(C._id,j=>{if(j.status!=="ready"){Z({body:j.statusMessage||`The repository is ${j.status}.`});return}P.title=`${C._id} is refreshed.`,P.body=`The ${A} ${C._id} is refreshed.`},Z):(P.title=`${C._id} is refreshed.`,P.body=`The ${A} ${C._id} is refreshed.`,T())},Z)},e.extendItem=C=>{let A=R(C._type),P=He({title:`Extending ${C._id}...`,date:new Date,body:`The expiration of ${A} ${C._id} is going to be extended by 6 months.`});e.addToast(P);let Z=`${I(C._type)}/${C._id}/extend`;t.post(Z).then(()=>{C._type==="repo"?N(C._id,()=>{P.title=`${C._id} is extended.`,P.body=`The expiration of ${A} ${C._id} is extended by 6 months.`}):(P.title=`${C._id} is extended.`,P.body=`The expiration of ${A} ${C._id} is extended by 6 months.`,T())},Y=>{P.title=`Error during the extension of ${C._id}.`,P.body=Y.data&&Y.data.error||Y.body,T()})},e.itemFilter=C=>{if(e.typeFilter!=="all"&&C._type!==e.typeFilter||e.filters.status[C._statusKey]===!1)return!1;let A=e.search.trim().toLowerCase();return!!(A.length==0||C._source&&String(C._source).toLowerCase().indexOf(A)>-1||C._id&&String(C._id).toLowerCase().indexOf(A)>-1||C.conference&&String(C.conference).toLowerCase().indexOf(A)>-1)}};var Ia=function(e,t,o){let r=ht();e.repoId=o.repoId,e.repo=null,e.progress=0,e.rateLimitResetAt=0,e.rateLimitCountdown="";var n=null;let i=null,a=!1;function u(h){e.rateLimitResetAt=h,n&&r.interval.cancel(n);function v(){var k=Math.max(0,Math.ceil((h-Date.now())/1e3));if(k<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,r.interval.cancel(n),n=null;else{var p=Math.floor(k/60),g=k%60;e.rateLimitCountdown=p>0?p+"m "+g+"s":g+"s"}}v(),n=r.interval(v,1e3)}e.on("dispose",function(){a=!0,n&&r.interval.cancel(n),i&&r.timeout.cancel(i)});function m(h){if(!h)return h;var v=h.match(/^rate_limited:(\d+)$/);return v?(u(parseInt(v[1],10)),null):(e.rateLimitResetAt=0,h)}e.getStatus=()=>{a||t.get("/api/repo/"+e.repoId,{repoId:e.repoId,repoUrl:e.repoUrl}).then(h=>{if(!a){e.repo=h.data,h.data.rateLimitResetAt?u(h.data.rateLimitResetAt):e.repo.statusMessage=m(e.repo.statusMessage),e.repo.status=="ready"?e.progress=100:e.repo.status=="queue"?e.progress=10:e.repo.status=="downloaded"?e.progress=50:e.repo.status=="download"||e.repo.status=="preparing"?e.progress=25:e.repo.status=="anonymizing"&&(e.progress=75);var v=!["ready","removed","expired"].includes(e.repo.status);e.repo.status=="error"&&!e.rateLimitResetAt&&(v=!1),v&&(i=r.timeout(e.getStatus,2e3))}},h=>{e.error=h.data.error})},e.getStatus()},Jn=function(e,t,o,r,n,i,a){e.sourceUrl="",e.githubConnection=void 0,e.githubConnections=null,e.gistOAuthRequired=!1;let u=()=>{let D={};for(let V of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])D[V]=e[V];sessionStorage.setItem("github-access-draft",JSON.stringify({path:n.path(),savedAt:Date.now(),draft:D}))};e.connectGistOAuth=()=>{u(),window.location.href="/github/login?returnTo="+encodeURIComponent(n.path())},e.grantGitHubAccess=()=>{u();let D=n.path(),V=g(e.sourceUrl)||"",W=e.githubConnections?.appConnected?"/github/app/install":"/github/app/login";window.location.href=W+"?returnTo="+encodeURIComponent(D)+"&repository="+encodeURIComponent(V)+"&install=1"},e.chooseGitHubConnection=async D=>{e.githubConnection=D,e.readme="",e.sourceUrl&&await b()},e.detectedType=null,e.repoId="",e.pullRequestId="",e.gistId="",e.terms="",e.defaultTerms="",e.branches=[],e.source={branch:"",commit:""},e.options={expirationMode:"remove",expirationDate:new Date,update:!1,image:!0,pdf:!0,notebook:!0,link:!0,body:!0,title:!0,origin:!1,diff:!0,content:!0,comments:!0,username:!0,date:!0};function m(){let D=new Date;return D.setMonth(D.getMonth()+6),D}e.options.expirationDate=m();function h(D){let V=D.getFullYear(),W=String(D.getMonth()+1).padStart(2,"0"),oe=String(D.getDate()).padStart(2,"0");return`${V}-${W}-${oe}`}e.minExpirationDate=h(new Date);let v=new Date;v.setFullYear(v.getFullYear()+1),e.maxExpirationDate=h(v),e.anonymize_readme="",e.readme="",e.html_readme="",e.isUpdate=!1;function k(D){t.get("/api/user/default").then(V=>{let W=V.data;W.terms&&(e.defaultTerms=W.terms.join(` `)),e.options=Object.assign({},e.options,W.options),e.options.expirationDate=W.options&&W.options.expirationDate?new Date(W.options.expirationDate):m(),D&&D()})}function p(D,V,W){e.anonymize&&e.anonymize[D]&&e.anonymize[D].setValidity(V,W)}function g(D){try{let V=parseGithubUrl(D);if(V&&V.owner&&V.repo)return V.owner+"/"+V.repo}catch{}return null}e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,e.reconnectSource=async()=>{if(confirm("Reconnect to the repository currently at this GitHub URL? Review its branch and commit before saving. Saving will replace the published snapshot.")){e.reconnectingSource=!0,e.reconnectRepositoryId=void 0,e.source.commit="",e.source.branch="",e.readme="",e.branches=[];try{await N()}catch{}}};function w(){return e.reconnectingSource||!e.isUpdate||!e._originalRepositoryID?void 0:g(e.sourceUrl)===e._originalFullName?e._originalRepositoryID:void 0}async function b(){e._preservingDraft=!0;try{await e.urlSelected(!0)}finally{e._preservingDraft=!1}}async function T(){let D;try{D=JSON.parse(sessionStorage.getItem("github-access-draft")||"null")}catch{return!1}if(!D||D.path!==n.path()||Date.now()-D.savedAt>=30*6e4)return!1;for(let V of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(D.draft,V)&&(e[V]=D.draft[V]);return e.options.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),await b(),sessionStorage.removeItem("github-access-draft"),!0}k(()=>{!r.repoId&&!r.pullRequestId&&!r.gistId&&a(T,0),r.repoId&&r.repoId!=""&&(e.isUpdate=!0,e.detectedType="repo",e.repoId=r.repoId,t.get("/api/repo/"+e.repoId).then(async D=>{e.githubConnection=D.data.connection||"oauth",e.sourceUrl="https://github.com/"+D.data.source.fullName,e._originalFullName=D.data.source.fullName,e.terms=D.data.options.terms.filter(V=>V).join(` `),e.source=D.data.source,e.role=D.data.role||"owner",e.coauthors=D.data.coauthors||[],e._originalBranch=D.data.source.branch,e.options=Object.assign({},e.options,D.data.options),e.conference=D.data.conference,e._originalConference=D.data.conference,e.repositoryID=D.data.source.repositoryID,e._originalRepositoryID=D.data.source.repositoryID,D.data.options.expirationDate&&(e.options.expirationDate=new Date(D.data.options.expirationDate)),!await T()&&(await Promise.all([N(),R()]),P())},()=>{n.url("/404")})),r.pullRequestId&&r.pullRequestId!=""&&(e.isUpdate=!0,e.detectedType="pr",e.pullRequestId=r.pullRequestId,t.get("/api/pr/"+e.pullRequestId).then(async D=>{if(e.githubConnection=D.data.connection||"oauth",e.sourceUrl="https://github.com/"+D.data.source.repositoryFullName+"/pull/"+D.data.source.pullRequestId,e.terms=D.data.options.terms.filter(V=>V).join(` -`),e.source=D.data.source,e.options=Object.assign({},e.options,D.data.options),e.conference=D.data.conference,e._originalConference=D.data.conference,D.data.options.expirationDate&&(e.options.expirationDate=new Date(D.data.options.expirationDate)),!await T())try{e.details=(await t.get(`/api/pr/${D.data.source.repositoryFullName}/${D.data.source.pullRequestId}`,{params:{connection:e.githubConnection}})).data}catch(V){let W=V&&V.data&&V.data.error;W&&(i("ERRORS."+W).then(oe=>{e.addToast({title:"Error",date:new Date,body:oe}),e.error=oe},console.error),Se(W))}},()=>{n.url("/404")})),r.gistId&&r.gistId!=""&&(e.isUpdate=!0,e.detectedType="gist",e.gistId=r.gistId,t.get("/api/gist/"+e.gistId).then(async D=>{e.sourceUrl="https://gist.github.com/"+D.data.source.gistId,e.terms=D.data.options.terms.filter(V=>V).join(` -`),e.source=D.data.source,e.options=Object.assign({},e.options,D.data.options),e.conference=D.data.conference,e._originalConference=D.data.conference,D.data.options.expirationDate&&(e.options.expirationDate=new Date(D.data.options.expirationDate)),!await T()&&await se()},()=>{n.url("/404")}))}),t.get("/github/connections").then(D=>{e.githubConnections=D.data,!r.repoId&&!r.pullRequestId&&!r.gistId&&e.githubConnection===void 0&&D.data.appEnabled&&D.data.appConnected&&(e.githubConnection="github-app")}).catch(()=>{}),e.urlSelected=async(D=!1)=>{e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,D||(e.terms=e.defaultTerms),!D&&!e.isUpdate&&(e.repoId="",e.pullRequestId="",e.gistId=""),e.details=null,e.branches=[],D||(e.source={type:"GitHubStream",branch:"",commit:""}),e.anonymize_readme="",e.readme="",e.html_readme="",e.detectedType=null,e.gistOAuthRequired=!1;let V;try{V=parseGithubUrl(e.sourceUrl)}catch{p("sourceUrl","github",!1);return}p("sourceUrl","github",!0);try{V.gistId&&!V.repo?(e.detectedType="gist",e.source={gistId:V.gistId},await se()):V.pullRequestId?(e.detectedType="pr",e.source={repositoryFullName:V.owner+"/"+V.repo,pullRequestId:V.pullRequestId},await Z()):(e.detectedType="repo",await Promise.all([N(),R()]),P())}catch{return}$('[data-toggle="tooltip"]').tooltip()},$('[data-toggle="tooltip"]').tooltip(),e.watch("source.branch",async()=>{if(e.detectedType!=="repo")return;let D=e.branches.filter(W=>W.name==e.source.branch)[0];if(!D)return;!(!e.reconnectingSource&&e.isUpdate&&e._originalBranch===e.source.branch&&!!e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=D.commit),e.readme=D.readme,await R(),P()}),e.getBranches=async D=>{let V=parseGithubUrl(e.sourceUrl);try{let W=await t.get(`/api/repo/${V.owner}/${V.repo}/branches`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&g(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:D===!0||e.reconnectingSource?"1":"0",repositoryID:w()}});e.branches=W.data,e.sourceUnreachable=!1,e.source.branch||(e.source.branch=e.details.defaultBranch);let oe=e.branches.filter(le=>le.name==e.source.branch);oe.length>0&&(!(!e.reconnectingSource&&!D&&e.isUpdate&&!e.options.update&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=oe[0].commit),e.readme=oe[0].readme,await R(D))}catch(W){e.branches=[],e.sourceUnreachable=W&&(W.status===404||W.data&&W.data.error==="repo_not_found");let oe=W&&W.data&&W.data.error||(W&&W.status===404?"repo_not_found":"unknown_error");i("ERRORS."+oe).then(le=>{e.toasts=e.toasts||[],e.addToast({title:"Error",date:new Date,body:le}),e.error=le},console.error),typeof p=="function"&&p("sourceUrl","missing",!1)}};async function N(){let D=parseGithubUrl(e.sourceUrl);try{Te();let V=await t.get(`/api/repo/${D.owner}/${D.repo}/`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&g(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,repositoryID:w(),force:"1"}});e.details=V.data,e.reconnectingSource&&(e.reconnectRepositoryId=e.details.externalId),e.details&&e.details.id&&(e.repositoryID=e.details.id),e.repoId||(e.repoId=e.details.repo+"-"+generateRandomId(4)),await e.getBranches(e.reconnectingSource)}catch(V){throw V.data&&(i("ERRORS."+V.data.error).then(W=>{e.addToast({title:"Error",date:new Date,body:W}),e.error=W},console.error),Se(V.data.error)),p("sourceUrl","missing",!1),V}}async function R(D){if(e.readme&&!D)return e.readme;let V=parseGithubUrl(e.sourceUrl);try{let W=await t.get(`/api/repo/${V.owner}/${V.repo}/readme`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&g(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:D===!0?"1":"0",branch:e.source.branch,repositoryID:w()}});e.readme=W.data}catch{e.readme=""}}function I(){let D={terms:e.terms?e.terms.split(` -`):[],image:!!e.options.image,link:!!e.options.link,repoId:e.repoId};e.source&&e.source.branch&&(D.branchName=e.source.branch);try{let V=parseGithubUrl(e.sourceUrl);D.repoName=`${V.owner}/${V.repo}`}catch{}return D}function C(D,V){let W=null,oe=0;return function(){W&&a.cancel(W),W=a(()=>{W=null;let U=++oe,te=D();te&&t.post("/api/anonymize-preview",te).then(L=>{U===oe&&V(L.data)},()=>{})},200)}}let A=C(()=>e.readme?{content:e.readme,options:I()}:null,D=>{e.anonymize_readme=D.content||"";let V="";try{let oe=parseGithubUrl(e.sourceUrl),le=e.source.branch||e.details&&e.details.defaultBranch||"main";V=`https://github.com/${oe.owner}/${oe.repo}/raw/${le}/`}catch{}let W=renderMD(e.anonymize_readme,V);e.html_readme=W,a(Prism.highlightAll,150)});function P(){!e.anonymize||!e.anonymize.terms||(e.termsRegexWarning=!!e.terms&&!!e.terms.match(/[-[\]{}()*+?.,\\^$|#]/g),A())}async function Z(){let D=parseGithubUrl(e.sourceUrl);try{Te();let V=await t.get(`/api/pr/${D.owner}/${D.repo}/${D.pullRequestId}`,{params:{connection:e.githubConnection}});e.details=V.data,e.pullRequestId||(e.pullRequestId=D.repo+"-PR"+D.pullRequestId+"-"+generateRandomId(4))}catch(V){throw V.data&&(i("ERRORS."+V.data.error).then(W=>{e.addToast({title:"Error",date:new Date,body:W}),e.error=W},console.error),Se(V.data.error)),p("sourceUrl","missing",!1),V}}let Y=ze(new Map),j=new Set;function z(){let D=new Set,V=e.details&&e.details.pullRequest;if(!V)return D;typeof V.title=="string"&&D.add(V.title),typeof V.body=="string"&&D.add(V.body),typeof V.diff=="string"&&D.add(V.diff);let W=V.comments||[];for(let oe of W)typeof oe.author=="string"&&D.add(oe.author),typeof oe.body=="string"&&D.add(oe.body);return D}let ae=C(()=>{let D=z();j=D;let V=Array.from(D);return V.length===0?null:{contents:V,options:I()}},D=>{if(!D||!Array.isArray(D.contents))return;let V=Array.from(j),W=new Map;for(let oe=0;oeY.set(le,oe))});e.anonymizePrContent=function(D){return D&&(Y.has(D)?Y.get(D):(j.has(D)||ae(),D))};async function se(){let D=parseGithubUrl(e.sourceUrl);try{if(Te(),e.gistOAuthRequired=!1,e.githubConnections?.oauthConnected===!1){e.gistOAuthRequired=!0,p("sourceUrl","missing",!1);return}let V=await t.get(`/api/gist/source/${D.gistId}`);e.details=V.data,e.gistId||(e.gistId="gist-"+D.gistId.substring(0,6)+"-"+generateRandomId(4))}catch(V){if(V.data?.error==="github_oauth_required"){e.gistOAuthRequired=!0,p("sourceUrl","missing",!1);return}throw V.data&&(i("ERRORS."+V.data.error).then(W=>{e.addToast({title:"Error",date:new Date,body:W}),e.error=W},console.error),Se(V.data.error)),p("sourceUrl","missing",!1),V}}let re=ze(new Map),ue=new Set;function ke(){let D=new Set,V=e.details&&e.details.gist;if(!V)return D;typeof V.description=="string"&&D.add(V.description),typeof V.ownerLogin=="string"&&D.add(V.ownerLogin);let W=V.files||[];for(let le of W)typeof le.filename=="string"&&D.add(le.filename),typeof le.content=="string"&&D.add(le.content);let oe=V.comments||[];for(let le of oe)typeof le.author=="string"&&D.add(le.author),typeof le.body=="string"&&D.add(le.body);return D}let he=C(()=>{let D=ke();ue=D;let V=Array.from(D);return V.length===0?null:{contents:V,options:I()}},D=>{if(!D||!Array.isArray(D.contents))return;let V=Array.from(ue),W=new Map;for(let oe=0;oere.set(le,oe)),me()});e.anonymizeGistContent=function(D){return D&&(re.has(D)?re.get(D):(ue.has(D)||he(),D))},e.previewGistFiles=[];function me(){let D=e.details&&e.details.gist&&e.details.gist.files||[];e.previewGistFiles=D.map(V=>({filename:e.anonymizeGistContent(V.filename),content:e.anonymizeGistContent(V.content),language:V.language}))}e.watch("details.gist.files",me,!0),e.watch("terms",me);function pe(){let D=e.conference;if(e.conference_data=null,!D)return;let V=e.isUpdate&&D===e._originalConference;t.get("/api/conferences/"+D).then(W=>{e.conference===D&&(e.conference_data=W.data,e.conference_data.startDate=new Date(e.conference_data.startDate),e.conference_data.endDate=new Date(e.conference_data.endDate),!V&&(e.options.expirationDate=new Date(e.conference_data.endDate),e.options.expirationMode="remove",e.options.update=e.conference_data.options.update,e.options.image=e.conference_data.options.image,e.options.pdf=e.conference_data.options.pdf,e.options.notebook=e.conference_data.options.notebook,e.options.link=e.conference_data.options.link))},()=>{e.conference===D&&(e.conference_data=null)})}function Te(){p("repoId","used",!0),p("repoId","format",!0),p("pullRequestId","used",!0),p("pullRequestId","format",!0),p("gistId","used",!0),p("gistId","format",!0),p("sourceUrl","used",!0),p("sourceUrl","missing",!0),p("sourceUrl","access",!0),p("sourceUrl","github",!0),p("commit","exists",!0),p("conference","activated",!0),p("terms","format",!0),e.termsRegexWarning=!1}function Re(){let D=e.anonymize&&e.anonymize.expirationDate;return!e.options.expirationDate||D&&D.invalid?(D&&D.setDirty&&D.setDirty(),e.error="Please choose a valid expiration date.",!0):!1}function Se(D){let V=e.detectedType==="pr"?"pullRequestId":e.detectedType==="gist"?"gistId":"repoId";switch(D){case"repoId_already_used":p(V,"used",!1);break;case"invalid_repoId":p(V,"format",!1);break;case"options_not_provided":p(V,"format",!1);break;case"repo_already_anonymized":p("sourceUrl","used",!1);break;case"invalid_terms_format":p("terms","format",!1);break;case"repo_not_found":p("sourceUrl","missing",!1);break;case"repo_not_accessible":p("sourceUrl","access",!1);break;case"commit_not_found":p("commit","exists",!1);break;case"conf_not_activated":p("conference","activated",!1);break}}e.coauthors=e.coauthors||[],e.coauthorResults=[],e.coauthorError="",e.searchCoauthors=()=>{let D=(e.coauthorSearch||"").trim();if(e.coauthorError="",D.length<2){e.coauthorResults=[];return}t.get("/api/user/search/github-users",{params:{q:D}}).then(V=>{let W=new Set((e.coauthors||[]).map(oe=>(oe.username||"").toLowerCase()));e.coauthorResults=(V.data||[]).filter(oe=>!W.has((oe.username||"").toLowerCase()))},()=>{e.coauthorResults=[]})},e.addCoauthor=(D,V)=>{V&&V.preventDefault(),!(!D||!D.username)&&t.post("/api/repo/"+e.repoId+"/coauthors",{username:D.username}).then(W=>{e.coauthors=W.data||[],e.coauthorResults=[],e.coauthorSearch="",e.coauthorError=""},W=>{let oe=W&&W.data&&W.data.error||"unknown_error";e.coauthorError=oe})},e.removeCoauthor=D=>{!D||!D.username||confirm("Remove co-author "+D.username+"?")&&t.delete("/api/repo/"+e.repoId+"/coauthors/"+encodeURIComponent(D.username)).then(V=>{e.coauthors=V.data||[]},V=>{let W=V&&V.data&&V.data.error||"unknown_error";e.coauthorError=W})},e.anonymizeRepo=D=>{if(e.reconnectingSource&&!e.reconnectRepositoryId||Re())return;D.target.disabled=!0;let V=parseGithubUrl(e.sourceUrl),W={repoId:e.repoId,terms:e.terms.trim().split(` -`).filter(le=>le),connection:e.githubConnection,fullName:`${V.owner}/${V.repo}`,repository:e.sourceUrl,reconnectRepositoryId:e.reconnectRepositoryId,options:e.options,source:e.source,conference:e.conference};e.details&&(W.options.pageSource=e.details.pageSource),Te();let oe=e.isUpdate?"/api/repo/"+e.repoId:"/api/repo/";t.post(oe,W,{headers:{"Content-Type":"application/json"}}).then(()=>{window.location.href="/status/"+e.repoId},le=>{le.data&&(i("ERRORS."+le.data.error).then(U=>{e.error=U},console.error),Se(le.data.error))}).finally(()=>{D.target.disabled=!1})},e.anonymizeGist=D=>{if(Re())return;D.target.disabled=!0;let V=parseGithubUrl(e.sourceUrl),W={gistId:e.gistId,terms:e.terms.trim().split(` -`).filter(le=>le),source:{gistId:V.gistId},options:e.options,conference:e.conference};Te();let oe=e.isUpdate?"/api/gist/"+e.gistId:"/api/gist/";t.post(oe,W,{headers:{"Content-Type":"application/json"}}).then(()=>{window.location.href="/gist/"+e.gistId},le=>{le.data&&(i("ERRORS."+le.data.error).then(U=>{e.error=U},console.error),Se(le.data.error))}).finally(()=>{D.target.disabled=!1})},e.anonymizePullRequest=D=>{if(Re())return;D.target.disabled=!0;let V=parseGithubUrl(e.sourceUrl),W={pullRequestId:e.pullRequestId,connection:e.githubConnection,terms:e.terms.trim().split(` -`).filter(le=>le),source:{repositoryFullName:`${V.owner}/${V.repo}`,pullRequestId:V.pullRequestId},options:e.options,conference:e.conference};Te();let oe=e.isUpdate?"/api/pr/"+e.pullRequestId:"/api/pr/";t.post(oe,W,{headers:{"Content-Type":"application/json"}}).then(()=>{window.location.href="/pr/"+e.pullRequestId},le=>{le.data&&(i("ERRORS."+le.data.error).then(U=>{e.error=U},console.error),Se(le.data.error))}).finally(()=>{D.target.disabled=!1})},e.watch("conference",()=>{pe()}),e.watch("terms",()=>{e.detectedType==="repo"&&P(),e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()}),e.watch("options.image",()=>{e.detectedType==="repo"&&P(),e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()}),e.watch("options.link",()=>{e.detectedType==="repo"&&P(),e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()}),e.watch("details",()=>{e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()},!0)},Yo=function(e,t,o,r,n,i){let a=mt(),u=as(),m=0,h=!1;e.on("dispose",()=>{h=!0,m++,v&&v.resolve()}),e.files=[],e.isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent),e.fileSearchQuery="",e.fileSearchResults=null,e.fileSearchLoading=!1,u(document,"keydown",function(z){if((z.metaKey||z.ctrlKey)&&z.key==="k"){z.preventDefault();var ae=document.querySelector(".tree-search-input");ae&&(ae.focus(),ae.select())}});var v=null;e.onFileSearchChange=function(){v&&(v.resolve(),v=null);let z=e.fileSearchQuery;if(!z||z.length<2){e.fileSearchResults=null,e.fileSearchLoading=!1;return}e.fileSearchLoading=!0;let ae=i.defer();v=ae,t.get(`/api/repo/${e.repoId}/files/search?q=${encodeURIComponent(z)}`,{timeout:ae.promise}).then(function(se){if(!(h||v!==ae)){v=null,e.fileSearchLoading=!1;var re={};e.files.forEach(function(U){re[(U.path||"")+"/"+U.name]=!0});for(var ue=[],ke={},he=0;he0&&e.files.push.apply(e.files,ue);for(var V=[],W=0;W0&&e.files.push.apply(e.files,V),e.fileSearchResults=se.data}},function(){!h&&v===ae&&(v=null,e.fileSearchLoading=!1,e.fileSearchResults=[])})};let k={yml:"yaml",txt:"text",py:"python",js:"javascript",ts:"typescript"},p=["license","txt"],g=["png","jpg","jpeg","gif","svg","ico","bmp","tiff","tif","webp","avif","heif","heic"],w=["wav","mp3","ogg","wma","flac","aac","m4a"],b=["mp4","avi","webm","mov","mpg","mpeg","mkv","flv","wmv","3gp","3g2","m4v","f4v","f4p","f4a","f4b"];e.on("routeUpdate",function(z,ae){if(e.repoId!=r.repoId)return j();if((r.path||"")!=e.filePath){e.filePath=r.path||"",e.paths=e.filePath.split("/").filter(se=>se&&se.trim().length>0),Y();for(let se=0;se0?e.paths.slice(0,se).join("/"):"";e.files.some(ke=>ke.path===re)||e.getFiles(re)}}});function T(){if(e.paths[0]!="")return;let z=["readme.md","readme.txt","readme.org","readme.1st","readme"],ae={};for(let re of e.files)re.name.toLowerCase().indexOf("readme")>-1&&(ae[re.name.toLowerCase()]=re.name);let se=null;for(let re of z)if(ae[re]){se=re;break}if(!se&&Object.keys(ae).length>0&&(se=Object.keys(ae)[0]),se){let re=o.url();re[re.length-1]!="/"&&(re+="/"),o.url(re+encodePathForUrl(ae[se]))}}e.fileCounts=null,e.getFiles=function(z){let ae=e.repoId;return t.get(`/api/repo/${e.repoId}/files/?path=${encodeURIComponent(z)}&v=${e.options.lastUpdateDate}`).then(function(se){if(h||ae!==e.repoId)return[];let re=z||"";return e.files=e.files.filter(ue=>ue.path!==re),e.files.push(...se.data),se.data},function(se){if(h||ae!==e.repoId)return[];e.type="error",e.content=se&&se.data&&se.data.error||"unknown_error",e.files=[]})};function N(){let z=e.repoId;t.get(`/api/repo/${e.repoId}/files/counts`).then(function(ae){h||z!==e.repoId||(e.fileCounts=ae.data)},function(){e.fileCounts={}})}function R(){return e.files.filter(z=>z.name==e.paths[e.paths.length-1]&&z.path==e.paths.slice(0,e.paths.length-1).join("/"))[0]}var I=null;e.on("dispose",function(){I&&a.interval.cancel(I)});function C(z){if(h)return;let ae=e.repoId;t.get(`/api/repo/${e.repoId}/options`).then(se=>{if(!(h||ae!==e.repoId)){if(e.options=se.data,e.options.url){window.location=e.options.url;return}z&&z(se.data)}},se=>{if(!(h||ae!==e.repoId)){var re=se.data||{};if(re.error==="rate_limited"&&re.resetAt){let ke=function(){var he=Math.max(0,Math.ceil((e.rateLimitResetAt-Date.now())/1e3));if(he<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,I&&(a.interval.cancel(I),I=null),C(z);else{var me=Math.floor(he/60),pe=he%60;e.rateLimitCountdown=me>0?me+"m "+pe+"s":pe+"s"}};var ue=ke;e.type="rate_limited",e.rateLimitResetAt=re.resetAt,I&&a.interval.cancel(I),ke(),I=a.interval(ke,1e3)}else re.error==="repository_not_ready"?(e.type="loading",a.timeout(function(){C(z)},3e3)):(e.type="error",e.content=re.error)}})}e.toggleSource=function(){e.showSource=!e.showSource},e.toggleAllowScripts=function(){e.allowScripts=!e.allowScripts};function A(z){return k[z]?k[z]:z}function P(z){return z=="pdf"?"pdf":z=="html"||z=="htm"?"html-doc":z=="md"?"md":z=="org"?"org":z=="ipynb"?"IPython":p.indexOf(z)>-1?"text":g.indexOf(z)>-1?"image":b.indexOf(z)>-1?"media":w.indexOf(z)>-1?"audio":"code"}function Z(z,ae){let se=m;if(!z){e.type="error",e.content="no_file_selected";return}let re=e.type;e.type="loading",e.content="loading";let ue=ae&&ae.sha||"0";t.get(`/api/repo/${e.repoId}/file/${encodePathForUrl(z)}?v=`+ue,{transformResponse:ke=>ke}).then(ke=>{if(!(h||se!==m)){if(e.type=re,e.content=ke.data,e.content==""&&(e.content=null),e.type=="md"&&(e.content=renderMD(ke.data,o.url()+"/../"),e.type="html"),e.type=="org"){let me=contentAbs2Relative(ke.data);var he=new Org.Parser().parse(me).convert(Org.ConverterHTML,{headerOffset:1,exportFromLineNumber:!1,suppressSubScriptHandling:!0,suppressAutoLink:!1});e.content=DOMPurify.sanitize(he.toString()),e.type="html"}e.type=="code"&&ke.headers("content-type")=="application/octet-stream"&&(e.type="binary",e.content="binary"),a.timeout(()=>{Prism.highlightAll()},50)}},ke=>{if(!(h||se!==m)){e.type="error",e.content="unknown_error";try{ke.data=JSON.parse(ke.data),ke.data.error?e.content=ke.data.error:e.content=ke.data}catch{console.log(ke),ke.status==-1?e.content="request_error":ke.status==502&&(e.content="unreachable")}}})}function Y(){m++,e.content="",e.file=R();let z="0";e.file&&e.file.sha&&(z=e.file.sha),e.url=`/api/repo/${e.repoId}/file/${encodePathForUrl(e.filePath)}?v=${z}`;let ae=e.filePath.substring(0,e.filePath.lastIndexOf("/")+1);e.fileBaseUrl=`/api/repo/${e.repoId}/file/${ae?encodePathForUrl(ae):""}`,e.showSource=!1,e.allowScripts=!1;let se=e.filePath.toLowerCase(),re=se.lastIndexOf(".");if(re>-1&&(se=se.substring(re+1)),e.aceOption={readOnly:!0,useWrapMode:!0,showGutter:!0,theme:"chrome",useSoftTab:!0,tabSize:2,fontSize:15,keyBinding:"vscode",fullLineSelection:!0,highlightActiveLine:!1,highlightGutterLine:!1,cursor:"hide",showInvisibles:!1,showIndentGuides:!0,showPrintMargin:!1,highlightSelectedWord:!1,enableBehaviours:!0,fadeFoldWidgets:!1,mode:A(se),onLoad:function(ue){let ke=ace.require("ace/range").Range,he=null;function me(Re,Se){he!==null&&(ue.session.removeMarker(he),he=null),Re!=null&&(he=ue.session.addMarker(new ke(Re,0,Se,1),"highlighted-line","fullLine"))}function pe(Re){let Se=window.location.hash.match(/^#L(\d+)(?:-L(\d+))?/);if(!Se){me(null);return}let D=parseInt(Se[1])-1,V=Se[2]?parseInt(Se[2])-1:D;me(D,V),Re&&a.timeout(()=>{ue.scrollToLine(D,!0,!0,function(){})},100)}pe(!0);let Te=null;ue.on("guttermousedown",function(Re){let Se=Re.getDocumentPosition().row,D=Re.domEvent&&Re.domEvent.shiftKey,V=Se,W=Se;D&&Te!==null?(V=Math.min(Te,Se),W=Math.max(Te,Se)):Te=Se;let oe=V===W?`#L${V+1}`:`#L${V+1}-L${W+1}`,le=window.location.pathname+window.location.search+oe;window.history.replaceState(null,"",le),me(V,W),Re.stop()}),u(window,"hashchange",()=>pe(!1)),ue.setFontSize(e.aceOption.fontSize),ue.setReadOnly(e.aceOption.readOnly),ue.setKeyboardHandler(e.aceOption.keyBinding),ue.setSelectionStyle(e.aceOption.fullLineSelection?"line":"text"),ue.setOption("displayIndentGuides",!0),ue.setHighlightActiveLine(e.aceOption.highlightActiveLine),e.aceOption.cursor=="hide"&&(ue.renderer.$cursorLayer.element.style.display="none"),ue.setHighlightGutterLine(e.aceOption.highlightGutterLine),ue.setShowInvisibles(e.aceOption.showInvisibles),ue.setDisplayIndentGuides(e.aceOption.showIndentGuides),ue.renderer.setShowPrintMargin(e.aceOption.showPrintMargin),ue.setHighlightSelectedWord(e.aceOption.highlightSelectedWord),ue.session.setUseSoftTabs(e.aceOption.useSoftTab),ue.session.setTabSize(e.aceOption.tabSize),ue.setBehavioursEnabled(e.aceOption.enableBehaviours),ue.setFadeFoldWidgets(e.aceOption.fadeFoldWidgets)}},e.on("dark-mode",(ue,ke)=>{ke?e.aceOption.theme="nord_dark":e.aceOption.theme="chrome"}),e.isDarkMode&&(e.aceOption.theme="nord_dark"),e.type=P(se),e.type=="pdf"){e.content="pdf";return}Z(e.filePath,e.file)}function j(){m++,e.files=[],e.content=null,e.fileCounts=null,e.fileSearchQuery="",e.onFileSearchChange(),e.repoId=r.repoId,e.type="loading",e.filePath=r.path||"",e.paths=e.filePath.split("/");let z=e.repoId;C(function(ae){N();var se=i.resolve();for(let re=0;re0?e.paths.slice(0,re).join("/"):"";se=se.then(function(){return e.getFiles(ue)}).then(function(){if(e.type==="error")return i.reject("error")})}se.then(function(){h||z!==e.repoId||(e.files.length==1&&e.files[0].name==""?(e.files=[],e.type="empty"):(T(),Y()))})})}j()},Ia=function(e,t,o,r,n){async function i(m){t.get(`/api/pr/${e.pullRequestId}/options`).then(h=>{if(e.options=h.data,e.options.url){window.location=e.options.url;return}m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}async function a(m){t.get(`/api/pr/${e.pullRequestId}/content`).then(h=>{e.details=h.data,e.tabState={active:h.data.diff?"diff":"comments"},m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}function u(){e.pullRequestId=r.pullRequestId,e.type="loading",i(m=>{a()})}u()},Va=function(e,t,o,r,n){async function i(m){t.get(`/api/gist/${e.gistId}/options`).then(h=>{if(e.options=h.data,e.options.url){window.location=e.options.url;return}m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}async function a(m){t.get(`/api/gist/${e.gistId}/content`).then(h=>{e.details=h.data;let v=h.data&&h.data.files&&h.data.files.length;e.tabState={active:v?"files":"comments"},m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}function u(){e.gistId=r.gistId,e.type="loading",i(()=>{a()})}u()},Pa=function(e,t,o){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.search="";let r="conferences.filterPrefs",n={filters:{status:{ready:!0,expired:!1,removed:!1}},orderBy:"name"},i=loadFilterPrefs(r)||{};e.filters={status:Object.assign({},n.filters.status,i.filters&&i.filters.status||{})},e.orderBy=i.orderBy||n.orderBy,e.watch("orderBy",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})},!0),e.removeConference=function(u){if(confirm(`Are you sure that you want to remove the conference ${u.name}? All the repositories linked to this conference will expire.`)){let m=ze({title:`Removing ${u.name}...`,date:new Date,body:`The conference ${u.name} is going to be removed.`});e.addToast(m),t.delete(`/api/conferences/${u.conferenceID}`).then(()=>{m.title=`${u.name} is removed.`,m.body=`The conference ${u.name} is removed.`,a()})}};function a(){t.get("/api/conferences/").then(u=>{e.conferences=u.data||[]},u=>{console.error(u)})}a(),e.conferenceFilter=u=>e.filters.status[u.status]==!1?!1:e.search.trim().length==0||u.name.indexOf(e.search)>-1||u.conferenceID.indexOf(e.search)>-1},Jo=function(e,t,o,r){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.plans=[],e.editionMode=!1;function n(){t.get("/api/conferences/"+r.conferenceId).then(v=>{e.options=v.data,e.options.startDate=new Date(e.options.startDate),e.options.endDate=new Date(e.options.endDate)})}r.conferenceId&&(e.editionMode=!0,n());function i(){t.get("/api/conferences/plans").then(v=>{e.plans=v.data,e.plan=e.plans.filter(k=>k.id==e.options.plan.planID)[0]})}i();let a=new Date;a.setDate(1),a.setMonth(a.getMonth()+1);let u=new Date(a);u.setMonth(a.getMonth()+7,0),e.options={startDate:a,endDate:u,plan:{planID:"free_conference"},options:{link:!0,image:!0,pdf:!0,notebook:!0,update:!0,page:!0}},e.plan=null,e.watch("options.plan.planID",()=>{e.plan=e.plans.filter(v=>v.id==e.options.plan.planID)[0]});function m(){e.conference.name.setValidity("required",!0),e.conference.conferenceID.setValidity("pattern",!0),e.conference.conferenceID.setValidity("required",!0),e.conference.conferenceID.setValidity("used",!0),e.conference.startDate.setValidity("required",!0),e.conference.startDate.setValidity("invalid",!0),e.conference.endDate.setValidity("required",!0),e.conference.endDate.setValidity("invalid",!0),e.conference.setValidity("error",!0)}function h(v){switch(v){case"conf_name_missing":e.conference.name.setValidity("required",!1);break;case"conf_id_missing":e.conference.conferenceID.setValidity("required",!1);break;case"conf_id_format":e.conference.conferenceID.setValidity("pattern",!1);break;case"conf_id_used":e.conference.conferenceID.setValidity("used",!1);break;case"conf_start_date_missing":e.conference.startDate.setValidity("required",!1);break;case"conf_end_date_missing":e.conference.endDate.setValidity("required",!1);break;case"conf_start_date_invalid":e.conference.startDate.setValidity("invalid",!1);break;case"conf_end_date_invalid":e.conference.endDate.setValidity("invalid",!1);break;default:e.conference.setValidity("error",!1);break}}e.submit=function(){let v=ze({title:`Creating ${e.options.name}...`,date:new Date,body:`The conference ${e.options.conferenceID} is in creation.`});e.editionMode&&(v.title=`Updating ${e.options.name}...`,v.body=`The conference '${e.options.conferenceID}' is updating.`),e.addToast(v),m(),t.post("/api/conferences/"+(e.editionMode?e.options.conferenceID:""),e.options).then(()=>{e.editionMode?(v.title=`${e.options.name} updated`,v.body=`The conference '${e.options.conferenceID}' is updated.`):(v.title=`${e.options.name} created`,v.body=`The conference '${e.options.conferenceID}' is created.`),o.url("/conference/"+e.options.conferenceID)},k=>{h(k.data.error),e.removeToast(v)})}},qa=function(e,t,o,r){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conference=null,e.search="",e.filters={status:{ready:!0,expired:!1,removed:!1}},e.orderBy="-anonymizeDate",e.repoFiler=i=>e.filters.status[i.status]==!1?!1:e.search.trim().length==0||i.source.fullName.indexOf(e.search)>-1||i.repoId.indexOf(e.search)>-1;function n(){t.get("/api/conferences/"+r.conferenceId).then(i=>{e.conference=i.data})}n()},Ma=function(e,t){e.connections=null,e.connectionError="",e.busy=!1,e.loadConnections=()=>t.get("/github/connections").then(o=>{e.connections=o.data}).catch(o=>{e.connectionError=o.data?.error||"Unable to load connections."}),e.changeConnection=async(o,r,n)=>{e.busy=!0,e.connectionError="";try{let i=await t.post("/github/connections/migrate",{type:o.type,id:o.id,connection:r,preview:n},{headers:{"X-CSRF-Token":e.connections.csrf}});n?o.eligible=i.data.eligible:await e.loadConnections()}catch(i){e.connectionError=i.data?.error||"Unable to change connection."}finally{e.busy=!1}},e.disconnectOAuth=async()=>{e.busy=!0;try{await t.post("/github/connections/disconnect-oauth",{},{headers:{"X-CSRF-Token":e.connections.csrf}}),await e.loadConnections()}catch(o){e.connectionError=o.data?.error||"Unable to disconnect OAuth."}finally{e.busy=!1}},e.loadConnections()},$a=function(e,t){e.accountRecovery=!1,t.get("/github/account-recovery").then(o=>{e.accountRecovery=o.data.required}).catch(()=>{})};var Ua=function(e,t,o){let r=mt(),n=as();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.repositories=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.totalSize=0,e.selected={},e.allSelected=!1;let i=w=>{if(w.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){w.preventDefault();let b=document.querySelector('.admin-filter-toolbar input[type="search"]');b&&b.focus()}};n(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=w=>{w==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[w]="",e.query.page=1},e.chips=[];let a=()=>{let w=[];e.query.owner&&w.push({key:"owner",label:"Owner",value:e.query.owner}),e.query.conference&&w.push({key:"conference",label:"Conference",value:e.query.conference}),e.chips=w};e.showStatusMessage=w=>{let b=w.statusMessage||"(no message)";window.prompt(`Status message for ${w.repoId} (${w.status}):`,b)},e.fetchGithubInfo=w=>{let b=window.open("","_blank");b&&b.document.write("
Loading GitHub info for "+w.repoId+"...
"),t.get("/api/admin/repos/"+w.repoId+"/github").then(T=>{b&&(b.document.open(),b.document.write('
'+JSON.stringify(T.data,null,2).replace(/[<>]/g,N=>N==="<"?"<":">")+"
"),b.document.close())},T=>{let N=T&&T.data?JSON.stringify(T.data,null,2):String(T);b&&(b.document.body.innerHTML='
'+N+"
")})},e.statusCountFor=w=>{let b=(e.statusCounts||[]).find(T=>T._id===w);return b?b.count:0},e.statusStorageFor=w=>{let b=(e.statusCounts||[]).find(T=>T._id===w);return b?b.storage:0},e.isErrorsOnly=()=>e.query&&e.query.error&&!e.query.ready&&!e.query.preparing&&!e.query.expired&&!e.query.removed,e.toggleErrorsOnly=()=>{e.isErrorsOnly()?Object.assign(e.query,{ready:!1,preparing:!0,expired:!1,removed:!1,error:!0}):Object.assign(e.query,{ready:!1,preparing:!1,expired:!1,removed:!1,error:!0}),e.query.page=1},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=w=>{e.query.sort===w?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=w,e.query.direction="desc"),e.query.page=1},e.sortIcon=w=>e.query.sort===w?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.repos.filterPrefs",m={page:1,limit:25,sort:"lastView",direction:"desc",search:"",owner:"",conference:"",dateFrom:"",dateTo:"",ready:!1,expired:!1,removed:!1,error:!0,preparing:!0},h=loadFilterPrefs(u)||{};e.query=Object.assign({},m,h,{page:1,search:""});let v=o.search();v.owner&&(e.query.owner=v.owner),v.conference&&(e.query.conference=v.conference),v.search&&(e.query.search=v.search);let k="admin.repos.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let w=window.prompt("Preset name:");if(!w)return;let b=Object.assign({},e.query);delete b.page,e.presets=(e.presets||[]).filter(T=>T.name!==w),e.presets.push({name:w,query:b}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=w=>{Object.assign(e.query,w.query,{page:1})},e.deletePreset=w=>{e.presets=(e.presets||[]).filter(b=>b.name!==w.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.repositories.forEach(w=>{e.selected[w.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(w=>e.selected[w.repoId]),e.bulkRefresh=()=>{let w=e.selectedRepos();w.length&&confirm(`Force refresh ${w.length} repositories?`)&&w.forEach(b=>e.updateRepository(b))},e.bulkRemoveCache=()=>{let w=e.selectedRepos();w.length&&confirm(`Purge cache for ${w.length} repositories?`)&&w.forEach(b=>e.removeCache(b))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let w=new URLSearchParams(Object.entries(e.query).filter(([,b])=>b!==""&&b!==!1&&b!=null));w.set("format","csv"),w.set("limit","10000"),window.open("/api/admin/repos?"+w.toString(),"_blank")},e.removeCache=w=>{confirm("Remove cached files for "+w.repoId+"?")&&t.delete("/api/admin/repos/"+w.repoId).then(()=>p(),b=>console.error(b))},e.removeRepository=w=>{confirm("Remove repository "+w.repoId+"?")&&t.delete("/api/repo/"+w.repoId+"/").then(()=>p(),b=>console.error(b))},e.updateRepository=w=>{let b=ze({title:`Refreshing ${w.repoId}...`,date:new Date,body:`The repository ${w.repoId} is going to be refreshed.`});e.toasts.push(b),t.post(`/api/repo/${w.repoId}/refresh`).then(T=>{T.data.status=="ready"?b.title=`${w.repoId} is refreshed.`:b.title=`Refreshing of ${w.repoId}.`},T=>{b.title=`Error during the refresh of ${w.repoId}.`,b.body=T.body})},e.fetchError=null;function p(){e.fetchError=null,t.get("/api/admin/repos",{params:e.query}).then(w=>{e.total=w.data.total,e.totalPage=Math.ceil(w.data.total/e.query.limit),e.repositories=w.data.results,e.statusCounts=w.data.statusCounts||[],e.totalSize=w.data.totalSize||0,e.allSelected=!1},w=>{e.fetchError=w&&w.data&&w.data.error||"Failed to load repositories",console.error(w)})}p();let g=null;e.watch("query",()=>{r.timeout.cancel(g),g=r.timeout(p,500);let{page:w,search:b,...T}=e.query;saveFilterPrefs(u,T),a()},!0),a()},La=function(e,t,o){let r=mt(),n=as();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.users=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.selected={},e.allSelected=!1;let i=p=>{if(p.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){p.preventDefault();let g=document.querySelector('.admin-filter-toolbar input[type="search"]');g&&g.focus()}};n(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=p=>{p==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[p]="",e.query.page=1},e.chips=[];let a=()=>{let p=[];e.query.role&&p.push({key:"role",label:"Role",value:e.query.role}),e.chips=p};e.statusCountFor=p=>{let g=(e.statusCounts||[]).find(w=>w._id===p);return g?g.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=p=>{e.query.sort===p?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=p,e.query.direction="desc"),e.query.page=1},e.sortIcon=p=>e.query.sort===p?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.users.filterPrefs",m={page:1,limit:25,sort:"username",direction:"asc",search:"",status:"",role:"",dateFrom:"",dateTo:""},h=loadFilterPrefs(u)||{};e.query=Object.assign({},m,h,{page:1,search:""}),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.users.forEach(p=>{e.selected[p.username]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedUsers=()=>e.users.filter(p=>e.selected[p.username]),e.banUser=p=>{confirm(`Ban user ${p.username}?`)&&t.post(`/api/admin/users/${p.username}/ban`).then(v,g=>console.error(g))},e.activateUser=p=>{t.post(`/api/admin/users/${p.username}/activate`).then(v,g=>console.error(g))},e.bulkBan=()=>{let p=e.selectedUsers();p.length&&confirm(`Ban ${p.length} users?`)&&p.forEach(g=>e.banUser(g))},e.exportCsv=()=>{let p=new URLSearchParams(Object.entries(e.query).filter(([,g])=>g!==""&&g!==!1&&g!=null));p.set("format","csv"),p.set("limit","10000"),window.open("/api/admin/users?"+p.toString(),"_blank")},e.fetchError=null;function v(){e.fetchError=null,t.get("/api/admin/users",{params:e.query}).then(p=>{e.total=p.data.total,e.totalPage=Math.ceil(p.data.total/e.query.limit),e.users=p.data.results,e.statusCounts=p.data.statusCounts||[],e.allSelected=!1},p=>{e.fetchError=p&&p.data&&p.data.error||"Failed to load users",console.error(p)})}v();let k=null;e.watch("query",()=>{r.timeout.cancel(k),k=r.timeout(v,500);let{page:p,search:g,...w}=e.query;saveFilterPrefs(u,w),a()},!0),a()},Fa=function(e,t,o,r){let n=mt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.userInfo,e.repositories=[],e.search="",e.selected={},e.allSelected=!1;let i="admin.user.filterPrefs",a={filters:{status:{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0}},sort:"anonymizeDate",direction:"desc"},u=loadFilterPrefs(i)||{};e.filters={status:Object.assign({},a.filters.status,u.filters&&u.filters.status||{})},e.query={sort:u.sort||a.sort,direction:u.direction||a.direction},e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort,e.sortBy=p=>{e.query.sort===p?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=p,e.query.direction="desc"),e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort},e.sortIcon=p=>e.query.sort===p?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"",e.watch("query",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.watch("filters",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.statusCountFor=p=>(e.repositories||[]).filter(g=>g.status===p).length,e.repoFiler=p=>e.filters.status[p.status]==!1?!1:!!(e.search.trim().length==0||p.source.fullName.indexOf(e.search)>-1||p.repoId.indexOf(e.search)>-1||p.statusMessage&&p.statusMessage.indexOf(e.search)>-1||p.conference&&p.conference.indexOf(e.search)>-1),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,(e.filteredRepositories||e.repositories).forEach(p=>{e.selected[p.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(p=>e.selected[p.repoId]),e.bulkRefresh=()=>{let p=e.selectedRepos();p.length&&confirm(`Force refresh ${p.length} repositories?`)&&p.forEach(g=>e.updateRepository(g))},e.bulkRemoveCache=()=>{let p=e.selectedRepos();p.length&&confirm(`Purge cache for ${p.length} repositories?`)&&p.forEach(g=>e.removeCache(g))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let p=e.filteredRepositories||e.repositories,w=["repoId","status","statusMessage","pageView","anonymizeDate","source.fullName","conference","size.storage"].join(","),b=p.map(R=>[R.repoId,R.status,R.statusMessage||"",R.pageView||0,R.anonymizeDate||"",R.source&&R.source.fullName||"",R.conference||"",R.size&&R.size.storage||0].map(I=>{let C=String(I??"");return/[",\n\r]/.test(C)?'"'+C.replace(/"/g,'""')+'"':C}).join(",")),T=new Blob([w+` +`),e.source=D.data.source,e.options=Object.assign({},e.options,D.data.options),e.conference=D.data.conference,e._originalConference=D.data.conference,D.data.options.expirationDate&&(e.options.expirationDate=new Date(D.data.options.expirationDate)),!await T())try{e.details=(await t.get(`/api/pr/${D.data.source.repositoryFullName}/${D.data.source.pullRequestId}`,{params:{connection:e.githubConnection}})).data}catch(V){let W=V&&V.data&&V.data.error;W&&(i("ERRORS."+W).then(oe=>{e.addToast({title:"Error",date:new Date,body:oe}),e.error=oe},console.error),De(W))}},()=>{n.url("/404")})),r.gistId&&r.gistId!=""&&(e.isUpdate=!0,e.detectedType="gist",e.gistId=r.gistId,t.get("/api/gist/"+e.gistId).then(async D=>{e.sourceUrl="https://gist.github.com/"+D.data.source.gistId,e.terms=D.data.options.terms.filter(V=>V).join(` +`),e.source=D.data.source,e.options=Object.assign({},e.options,D.data.options),e.conference=D.data.conference,e._originalConference=D.data.conference,D.data.options.expirationDate&&(e.options.expirationDate=new Date(D.data.options.expirationDate)),!await T()&&await se()},()=>{n.url("/404")}))}),t.get("/github/connections").then(D=>{e.githubConnections=D.data,!r.repoId&&!r.pullRequestId&&!r.gistId&&e.githubConnection===void 0&&D.data.appEnabled&&D.data.appConnected&&(e.githubConnection="github-app")}).catch(()=>{}),e.urlSelected=async(D=!1)=>{e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,D||(e.terms=e.defaultTerms),!D&&!e.isUpdate&&(e.repoId="",e.pullRequestId="",e.gistId=""),e.details=null,e.branches=[],D||(e.source={type:"GitHubStream",branch:"",commit:""}),e.anonymize_readme="",e.readme="",e.html_readme="",e.detectedType=null,e.gistOAuthRequired=!1;let V;try{V=parseGithubUrl(e.sourceUrl)}catch{p("sourceUrl","github",!1);return}p("sourceUrl","github",!0);try{V.gistId&&!V.repo?(e.detectedType="gist",e.source={gistId:V.gistId},await se()):V.pullRequestId?(e.detectedType="pr",e.source={repositoryFullName:V.owner+"/"+V.repo,pullRequestId:V.pullRequestId},await Z()):(e.detectedType="repo",await Promise.all([N(),R()]),P())}catch{return}$('[data-toggle="tooltip"]').tooltip()},$('[data-toggle="tooltip"]').tooltip(),e.watch("source.branch",async()=>{if(e.detectedType!=="repo")return;let D=e.branches.filter(W=>W.name==e.source.branch)[0];if(!D)return;!(!e.reconnectingSource&&e.isUpdate&&e._originalBranch===e.source.branch&&!!e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=D.commit),e.readme=D.readme,await R(),P()}),e.getBranches=async D=>{let V=parseGithubUrl(e.sourceUrl);try{let W=await t.get(`/api/repo/${V.owner}/${V.repo}/branches`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&g(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:D===!0||e.reconnectingSource?"1":"0",repositoryID:w()}});e.branches=W.data,e.sourceUnreachable=!1,e.source.branch||(e.source.branch=e.details.defaultBranch);let oe=e.branches.filter(le=>le.name==e.source.branch);oe.length>0&&(!(!e.reconnectingSource&&!D&&e.isUpdate&&!e.options.update&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=oe[0].commit),e.readme=oe[0].readme,await R(D))}catch(W){e.branches=[],e.sourceUnreachable=W&&(W.status===404||W.data&&W.data.error==="repo_not_found");let oe=W&&W.data&&W.data.error||(W&&W.status===404?"repo_not_found":"unknown_error");i("ERRORS."+oe).then(le=>{e.toasts=e.toasts||[],e.addToast({title:"Error",date:new Date,body:le}),e.error=le},console.error),typeof p=="function"&&p("sourceUrl","missing",!1)}};async function N(){let D=parseGithubUrl(e.sourceUrl);try{Oe();let V=await t.get(`/api/repo/${D.owner}/${D.repo}/`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&g(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,repositoryID:w(),force:"1"}});e.details=V.data,e.reconnectingSource&&(e.reconnectRepositoryId=e.details.externalId),e.details&&e.details.id&&(e.repositoryID=e.details.id),e.repoId||(e.repoId=e.details.repo+"-"+generateRandomId(4)),await e.getBranches(e.reconnectingSource)}catch(V){throw V.data&&(i("ERRORS."+V.data.error).then(W=>{e.addToast({title:"Error",date:new Date,body:W}),e.error=W},console.error),De(V.data.error)),p("sourceUrl","missing",!1),V}}async function R(D){if(e.readme&&!D)return e.readme;let V=parseGithubUrl(e.sourceUrl);try{let W=await t.get(`/api/repo/${V.owner}/${V.repo}/readme`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&g(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:D===!0?"1":"0",branch:e.source.branch,repositoryID:w()}});e.readme=W.data}catch{e.readme=""}}function I(){let D={terms:e.terms?e.terms.split(` +`):[],image:!!e.options.image,link:!!e.options.link,repoId:e.repoId};e.source&&e.source.branch&&(D.branchName=e.source.branch);try{let V=parseGithubUrl(e.sourceUrl);D.repoName=`${V.owner}/${V.repo}`}catch{}return D}function C(D,V){let W=null,oe=0;return function(){W&&a.cancel(W),W=a(()=>{W=null;let U=++oe,te=D();te&&t.post("/api/anonymize-preview",te).then(L=>{U===oe&&V(L.data)},()=>{})},200)}}let A=C(()=>e.readme?{content:e.readme,options:I()}:null,D=>{e.anonymize_readme=D.content||"";let V="";try{let oe=parseGithubUrl(e.sourceUrl),le=e.source.branch||e.details&&e.details.defaultBranch||"main";V=`https://github.com/${oe.owner}/${oe.repo}/raw/${le}/`}catch{}let W=renderMD(e.anonymize_readme,V);e.html_readme=W,a(Prism.highlightAll,150)});function P(){!e.anonymize||!e.anonymize.terms||(e.termsRegexWarning=!!e.terms&&!!e.terms.match(/[-[\]{}()*+?.,\\^$|#]/g),A())}async function Z(){let D=parseGithubUrl(e.sourceUrl);try{Oe();let V=await t.get(`/api/pr/${D.owner}/${D.repo}/${D.pullRequestId}`,{params:{connection:e.githubConnection}});e.details=V.data,e.pullRequestId||(e.pullRequestId=D.repo+"-PR"+D.pullRequestId+"-"+generateRandomId(4))}catch(V){throw V.data&&(i("ERRORS."+V.data.error).then(W=>{e.addToast({title:"Error",date:new Date,body:W}),e.error=W},console.error),De(V.data.error)),p("sourceUrl","missing",!1),V}}let Y=He(new Map),j=new Set;function z(){let D=new Set,V=e.details&&e.details.pullRequest;if(!V)return D;typeof V.title=="string"&&D.add(V.title),typeof V.body=="string"&&D.add(V.body),typeof V.diff=="string"&&D.add(V.diff);let W=V.comments||[];for(let oe of W)typeof oe.author=="string"&&D.add(oe.author),typeof oe.body=="string"&&D.add(oe.body);return D}let ae=C(()=>{let D=z();j=D;let V=Array.from(D);return V.length===0?null:{contents:V,options:I()}},D=>{if(!D||!Array.isArray(D.contents))return;let V=Array.from(j),W=new Map;for(let oe=0;oeY.set(le,oe))});e.anonymizePrContent=function(D){return D&&(Y.has(D)?Y.get(D):(j.has(D)||ae(),D))};async function se(){let D=parseGithubUrl(e.sourceUrl);try{if(Oe(),e.gistOAuthRequired=!1,e.githubConnections?.oauthConnected===!1){e.gistOAuthRequired=!0,p("sourceUrl","missing",!1);return}let V=await t.get(`/api/gist/source/${D.gistId}`);e.details=V.data,e.gistId||(e.gistId="gist-"+D.gistId.substring(0,6)+"-"+generateRandomId(4))}catch(V){if(V.data?.error==="github_oauth_required"){e.gistOAuthRequired=!0,p("sourceUrl","missing",!1);return}throw V.data&&(i("ERRORS."+V.data.error).then(W=>{e.addToast({title:"Error",date:new Date,body:W}),e.error=W},console.error),De(V.data.error)),p("sourceUrl","missing",!1),V}}let re=He(new Map),ue=new Set;function _e(){let D=new Set,V=e.details&&e.details.gist;if(!V)return D;typeof V.description=="string"&&D.add(V.description),typeof V.ownerLogin=="string"&&D.add(V.ownerLogin);let W=V.files||[];for(let le of W)typeof le.filename=="string"&&D.add(le.filename),typeof le.content=="string"&&D.add(le.content);let oe=V.comments||[];for(let le of oe)typeof le.author=="string"&&D.add(le.author),typeof le.body=="string"&&D.add(le.body);return D}let he=C(()=>{let D=_e();ue=D;let V=Array.from(D);return V.length===0?null:{contents:V,options:I()}},D=>{if(!D||!Array.isArray(D.contents))return;let V=Array.from(ue),W=new Map;for(let oe=0;oere.set(le,oe)),me()});e.anonymizeGistContent=function(D){return D&&(re.has(D)?re.get(D):(ue.has(D)||he(),D))},e.previewGistFiles=[];function me(){let D=e.details&&e.details.gist&&e.details.gist.files||[];e.previewGistFiles=D.map(V=>({filename:e.anonymizeGistContent(V.filename),content:e.anonymizeGistContent(V.content),language:V.language}))}e.watch("details.gist.files",me,!0),e.watch("terms",me);function pe(){let D=e.conference;if(e.conference_data=null,!D)return;let V=e.isUpdate&&D===e._originalConference;t.get("/api/conferences/"+D).then(W=>{e.conference===D&&(e.conference_data=W.data,e.conference_data.startDate=new Date(e.conference_data.startDate),e.conference_data.endDate=new Date(e.conference_data.endDate),!V&&(e.options.expirationDate=new Date(e.conference_data.endDate),e.options.expirationMode="remove",e.options.update=e.conference_data.options.update,e.options.image=e.conference_data.options.image,e.options.pdf=e.conference_data.options.pdf,e.options.notebook=e.conference_data.options.notebook,e.options.link=e.conference_data.options.link))},()=>{e.conference===D&&(e.conference_data=null)})}function Oe(){p("repoId","used",!0),p("repoId","format",!0),p("pullRequestId","used",!0),p("pullRequestId","format",!0),p("gistId","used",!0),p("gistId","format",!0),p("sourceUrl","used",!0),p("sourceUrl","missing",!0),p("sourceUrl","access",!0),p("sourceUrl","github",!0),p("commit","exists",!0),p("conference","activated",!0),p("terms","format",!0),e.termsRegexWarning=!1}function Te(){let D=e.anonymize&&e.anonymize.expirationDate;return!e.options.expirationDate||D&&D.invalid?(D&&D.setDirty&&D.setDirty(),e.error="Please choose a valid expiration date.",!0):!1}function De(D){let V=e.detectedType==="pr"?"pullRequestId":e.detectedType==="gist"?"gistId":"repoId";switch(D){case"repoId_already_used":p(V,"used",!1);break;case"invalid_repoId":p(V,"format",!1);break;case"options_not_provided":p(V,"format",!1);break;case"repo_already_anonymized":p("sourceUrl","used",!1);break;case"invalid_terms_format":p("terms","format",!1);break;case"repo_not_found":p("sourceUrl","missing",!1);break;case"repo_not_accessible":p("sourceUrl","access",!1);break;case"commit_not_found":p("commit","exists",!1);break;case"conf_not_activated":p("conference","activated",!1);break}}e.coauthors=e.coauthors||[],e.coauthorResults=[],e.coauthorError="",e.searchCoauthors=()=>{let D=(e.coauthorSearch||"").trim();if(e.coauthorError="",D.length<2){e.coauthorResults=[];return}t.get("/api/user/search/github-users",{params:{q:D}}).then(V=>{let W=new Set((e.coauthors||[]).map(oe=>(oe.username||"").toLowerCase()));e.coauthorResults=(V.data||[]).filter(oe=>!W.has((oe.username||"").toLowerCase()))},()=>{e.coauthorResults=[]})},e.addCoauthor=(D,V)=>{V&&V.preventDefault(),!(!D||!D.username)&&t.post("/api/repo/"+e.repoId+"/coauthors",{username:D.username}).then(W=>{e.coauthors=W.data||[],e.coauthorResults=[],e.coauthorSearch="",e.coauthorError=""},W=>{let oe=W&&W.data&&W.data.error||"unknown_error";e.coauthorError=oe})},e.removeCoauthor=D=>{!D||!D.username||confirm("Remove co-author "+D.username+"?")&&t.delete("/api/repo/"+e.repoId+"/coauthors/"+encodeURIComponent(D.username)).then(V=>{e.coauthors=V.data||[]},V=>{let W=V&&V.data&&V.data.error||"unknown_error";e.coauthorError=W})},e.anonymizeRepo=D=>{if(e.reconnectingSource&&!e.reconnectRepositoryId||Te())return;D.target.disabled=!0;let V=parseGithubUrl(e.sourceUrl),W={repoId:e.repoId,terms:e.terms.trim().split(` +`).filter(le=>le),connection:e.githubConnection,fullName:`${V.owner}/${V.repo}`,repository:e.sourceUrl,reconnectRepositoryId:e.reconnectRepositoryId,options:e.options,source:e.source,conference:e.conference};e.details&&(W.options.pageSource=e.details.pageSource),Oe();let oe=e.isUpdate?"/api/repo/"+e.repoId:"/api/repo/";t.post(oe,W,{headers:{"Content-Type":"application/json"}}).then(()=>{window.location.href="/status/"+e.repoId},le=>{le.data&&(i("ERRORS."+le.data.error).then(U=>{e.error=U},console.error),De(le.data.error))}).finally(()=>{D.target.disabled=!1})},e.anonymizeGist=D=>{if(Te())return;D.target.disabled=!0;let V=parseGithubUrl(e.sourceUrl),W={gistId:e.gistId,terms:e.terms.trim().split(` +`).filter(le=>le),source:{gistId:V.gistId},options:e.options,conference:e.conference};Oe();let oe=e.isUpdate?"/api/gist/"+e.gistId:"/api/gist/";t.post(oe,W,{headers:{"Content-Type":"application/json"}}).then(()=>{window.location.href="/gist/"+e.gistId},le=>{le.data&&(i("ERRORS."+le.data.error).then(U=>{e.error=U},console.error),De(le.data.error))}).finally(()=>{D.target.disabled=!1})},e.anonymizePullRequest=D=>{if(Te())return;D.target.disabled=!0;let V=parseGithubUrl(e.sourceUrl),W={pullRequestId:e.pullRequestId,connection:e.githubConnection,terms:e.terms.trim().split(` +`).filter(le=>le),source:{repositoryFullName:`${V.owner}/${V.repo}`,pullRequestId:V.pullRequestId},options:e.options,conference:e.conference};Oe();let oe=e.isUpdate?"/api/pr/"+e.pullRequestId:"/api/pr/";t.post(oe,W,{headers:{"Content-Type":"application/json"}}).then(()=>{window.location.href="/pr/"+e.pullRequestId},le=>{le.data&&(i("ERRORS."+le.data.error).then(U=>{e.error=U},console.error),De(le.data.error))}).finally(()=>{D.target.disabled=!1})},e.watch("conference",()=>{pe()}),e.watch("terms",()=>{e.detectedType==="repo"&&P(),e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()}),e.watch("options.image",()=>{e.detectedType==="repo"&&P(),e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()}),e.watch("options.link",()=>{e.detectedType==="repo"&&P(),e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()}),e.watch("details",()=>{e.detectedType==="pr"&&ae(),e.detectedType==="gist"&&he()},!0)},Jo=function(e,t,o,r,n,i){let a=ht(),u=ls(),m=0,h=!1;e.on("dispose",()=>{h=!0,m++,v&&v.resolve()}),e.files=[],e.isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent),e.fileSearchQuery="",e.fileSearchResults=null,e.fileSearchLoading=!1,u(document,"keydown",function(z){if((z.metaKey||z.ctrlKey)&&z.key==="k"){z.preventDefault();var ae=document.querySelector(".tree-search-input");ae&&(ae.focus(),ae.select())}});var v=null;e.onFileSearchChange=function(){v&&(v.resolve(),v=null);let z=e.fileSearchQuery;if(!z||z.length<2){e.fileSearchResults=null,e.fileSearchLoading=!1;return}e.fileSearchLoading=!0;let ae=i.defer();v=ae,t.get(`/api/repo/${e.repoId}/files/search?q=${encodeURIComponent(z)}`,{timeout:ae.promise}).then(function(se){if(!(h||v!==ae)){v=null,e.fileSearchLoading=!1;var re={};e.files.forEach(function(U){re[(U.path||"")+"/"+U.name]=!0});for(var ue=[],_e={},he=0;he0&&e.files.push.apply(e.files,ue);for(var V=[],W=0;W0&&e.files.push.apply(e.files,V),e.fileSearchResults=se.data}},function(){!h&&v===ae&&(v=null,e.fileSearchLoading=!1,e.fileSearchResults=[])})};let k={yml:"yaml",txt:"text",py:"python",js:"javascript",ts:"typescript"},p=["license","txt"],g=["png","jpg","jpeg","gif","svg","ico","bmp","tiff","tif","webp","avif","heif","heic"],w=["wav","mp3","ogg","wma","flac","aac","m4a"],b=["mp4","avi","webm","mov","mpg","mpeg","mkv","flv","wmv","3gp","3g2","m4v","f4v","f4p","f4a","f4b"];e.on("routeUpdate",function(z,ae){if(e.repoId!=r.repoId)return j();if((r.path||"")!=e.filePath){e.filePath=r.path||"",e.paths=e.filePath.split("/").filter(se=>se&&se.trim().length>0),Y();for(let se=0;se0?e.paths.slice(0,se).join("/"):"";e.files.some(_e=>_e.path===re)||e.getFiles(re)}}});function T(){if(e.paths[0]!="")return;let z=["readme.md","readme.txt","readme.org","readme.1st","readme"],ae={};for(let re of e.files)re.name.toLowerCase().indexOf("readme")>-1&&(ae[re.name.toLowerCase()]=re.name);let se=null;for(let re of z)if(ae[re]){se=re;break}if(!se&&Object.keys(ae).length>0&&(se=Object.keys(ae)[0]),se){let re=o.url();re[re.length-1]!="/"&&(re+="/"),o.url(re+encodePathForUrl(ae[se]))}}e.fileCounts=null,e.getFiles=function(z){let ae=e.repoId;return t.get(`/api/repo/${e.repoId}/files/?path=${encodeURIComponent(z)}&v=${e.options.lastUpdateDate}`).then(function(se){if(h||ae!==e.repoId)return[];let re=z||"";return e.files=e.files.filter(ue=>ue.path!==re),e.files.push(...se.data),se.data},function(se){if(h||ae!==e.repoId)return[];e.type="error",e.content=se&&se.data&&se.data.error||"unknown_error",e.files=[]})};function N(){let z=e.repoId;t.get(`/api/repo/${e.repoId}/files/counts`).then(function(ae){h||z!==e.repoId||(e.fileCounts=ae.data)},function(){e.fileCounts={}})}function R(){return e.files.filter(z=>z.name==e.paths[e.paths.length-1]&&z.path==e.paths.slice(0,e.paths.length-1).join("/"))[0]}var I=null;e.on("dispose",function(){I&&a.interval.cancel(I)});function C(z){if(h)return;let ae=e.repoId;t.get(`/api/repo/${e.repoId}/options`).then(se=>{if(!(h||ae!==e.repoId)){if(e.options=se.data,e.options.url){window.location=e.options.url;return}z&&z(se.data)}},se=>{if(!(h||ae!==e.repoId)){var re=se.data||{};if(re.error==="rate_limited"&&re.resetAt){let _e=function(){var he=Math.max(0,Math.ceil((e.rateLimitResetAt-Date.now())/1e3));if(he<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,I&&(a.interval.cancel(I),I=null),C(z);else{var me=Math.floor(he/60),pe=he%60;e.rateLimitCountdown=me>0?me+"m "+pe+"s":pe+"s"}};var ue=_e;e.type="rate_limited",e.rateLimitResetAt=re.resetAt,I&&a.interval.cancel(I),_e(),I=a.interval(_e,1e3)}else re.error==="repository_not_ready"?(e.type="loading",a.timeout(function(){C(z)},3e3)):(e.type="error",e.content=re.error)}})}e.toggleSource=function(){e.showSource=!e.showSource},e.toggleAllowScripts=function(){e.allowScripts=!e.allowScripts};function A(z){return k[z]?k[z]:z}function P(z){return z=="pdf"?"pdf":z=="html"||z=="htm"?"html-doc":z=="md"?"md":z=="org"?"org":z=="ipynb"?"IPython":p.indexOf(z)>-1?"text":g.indexOf(z)>-1?"image":b.indexOf(z)>-1?"media":w.indexOf(z)>-1?"audio":"code"}function Z(z,ae){let se=m;if(!z){e.type="error",e.content="no_file_selected";return}let re=e.type;e.type="loading",e.content="loading";let ue=ae&&ae.sha||"0";t.get(`/api/repo/${e.repoId}/file/${encodePathForUrl(z)}?v=`+ue,{transformResponse:_e=>_e}).then(_e=>{if(!(h||se!==m)){if(e.type=re,e.content=_e.data,e.content==""&&(e.content=null),e.type=="md"&&(e.content=renderMD(_e.data,o.url()+"/../"),e.type="html"),e.type=="org"){let me=contentAbs2Relative(_e.data);var he=new Org.Parser().parse(me).convert(Org.ConverterHTML,{headerOffset:1,exportFromLineNumber:!1,suppressSubScriptHandling:!0,suppressAutoLink:!1});e.content=DOMPurify.sanitize(he.toString()),e.type="html"}e.type=="code"&&_e.headers("content-type")=="application/octet-stream"&&(e.type="binary",e.content="binary"),a.timeout(()=>{Prism.highlightAll()},50)}},_e=>{if(!(h||se!==m)){e.type="error",e.content="unknown_error";try{_e.data=JSON.parse(_e.data),_e.data.error?e.content=_e.data.error:e.content=_e.data}catch{console.log(_e),_e.status==-1?e.content="request_error":_e.status==502&&(e.content="unreachable")}}})}function Y(){m++,e.content="",e.file=R();let z="0";e.file&&e.file.sha&&(z=e.file.sha),e.url=`/api/repo/${e.repoId}/file/${encodePathForUrl(e.filePath)}?v=${z}`;let ae=e.filePath.substring(0,e.filePath.lastIndexOf("/")+1);e.fileBaseUrl=`/api/repo/${e.repoId}/file/${ae?encodePathForUrl(ae):""}`,e.showSource=!1,e.allowScripts=!1;let se=e.filePath.toLowerCase(),re=se.lastIndexOf(".");if(re>-1&&(se=se.substring(re+1)),e.aceOption={readOnly:!0,useWrapMode:!0,showGutter:!0,theme:"chrome",useSoftTab:!0,tabSize:2,fontSize:15,keyBinding:"vscode",fullLineSelection:!0,highlightActiveLine:!1,highlightGutterLine:!1,cursor:"hide",showInvisibles:!1,showIndentGuides:!0,showPrintMargin:!1,highlightSelectedWord:!1,enableBehaviours:!0,fadeFoldWidgets:!1,mode:A(se),onLoad:function(ue){let _e=ace.require("ace/range").Range,he=null;function me(Te,De){he!==null&&(ue.session.removeMarker(he),he=null),Te!=null&&(he=ue.session.addMarker(new _e(Te,0,De,1),"highlighted-line","fullLine"))}function pe(Te){let De=window.location.hash.match(/^#L(\d+)(?:-L(\d+))?/);if(!De){me(null);return}let D=parseInt(De[1])-1,V=De[2]?parseInt(De[2])-1:D;me(D,V),Te&&a.timeout(()=>{ue.scrollToLine(D,!0,!0,function(){})},100)}pe(!0);let Oe=null;ue.on("guttermousedown",function(Te){let De=Te.getDocumentPosition().row,D=Te.domEvent&&Te.domEvent.shiftKey,V=De,W=De;D&&Oe!==null?(V=Math.min(Oe,De),W=Math.max(Oe,De)):Oe=De;let oe=V===W?`#L${V+1}`:`#L${V+1}-L${W+1}`,le=window.location.pathname+window.location.search+oe;window.history.replaceState(null,"",le),me(V,W),Te.stop()}),u(window,"hashchange",()=>pe(!1)),ue.setFontSize(e.aceOption.fontSize),ue.setReadOnly(e.aceOption.readOnly),ue.setKeyboardHandler(e.aceOption.keyBinding),ue.setSelectionStyle(e.aceOption.fullLineSelection?"line":"text"),ue.setOption("displayIndentGuides",!0),ue.setHighlightActiveLine(e.aceOption.highlightActiveLine),e.aceOption.cursor=="hide"&&(ue.renderer.$cursorLayer.element.style.display="none"),ue.setHighlightGutterLine(e.aceOption.highlightGutterLine),ue.setShowInvisibles(e.aceOption.showInvisibles),ue.setDisplayIndentGuides(e.aceOption.showIndentGuides),ue.renderer.setShowPrintMargin(e.aceOption.showPrintMargin),ue.setHighlightSelectedWord(e.aceOption.highlightSelectedWord),ue.session.setUseSoftTabs(e.aceOption.useSoftTab),ue.session.setTabSize(e.aceOption.tabSize),ue.setBehavioursEnabled(e.aceOption.enableBehaviours),ue.setFadeFoldWidgets(e.aceOption.fadeFoldWidgets)}},e.on("dark-mode",(ue,_e)=>{_e?e.aceOption.theme="nord_dark":e.aceOption.theme="chrome"}),e.isDarkMode&&(e.aceOption.theme="nord_dark"),e.type=P(se),e.type=="pdf"){e.content="pdf";return}Z(e.filePath,e.file)}function j(){m++,e.files=[],e.content=null,e.fileCounts=null,e.fileSearchQuery="",e.onFileSearchChange(),e.repoId=r.repoId,e.type="loading",e.filePath=r.path||"",e.paths=e.filePath.split("/");let z=e.repoId;C(function(ae){N();var se=i.resolve();for(let re=0;re0?e.paths.slice(0,re).join("/"):"";se=se.then(function(){return e.getFiles(ue)}).then(function(){if(e.type==="error")return i.reject("error")})}se.then(function(){h||z!==e.repoId||(e.files.length==1&&e.files[0].name==""?(e.files=[],e.type="empty"):(T(),Y()))})})}j()},Va=function(e,t,o,r,n){async function i(m){t.get(`/api/pr/${e.pullRequestId}/options`).then(h=>{if(e.options=h.data,e.options.url){window.location=e.options.url;return}m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}async function a(m){t.get(`/api/pr/${e.pullRequestId}/content`).then(h=>{e.details=h.data,e.tabState={active:h.data.diff?"diff":"comments"},m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}function u(){e.pullRequestId=r.pullRequestId,e.type="loading",i(m=>{a()})}u()},Pa=function(e,t,o,r,n){async function i(m){t.get(`/api/gist/${e.gistId}/options`).then(h=>{if(e.options=h.data,e.options.url){window.location=e.options.url;return}m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}async function a(m){t.get(`/api/gist/${e.gistId}/content`).then(h=>{e.details=h.data;let v=h.data&&h.data.files&&h.data.files.length;e.tabState={active:v?"files":"comments"},m&&m(h.data)},h=>{e.type="error",e.content=h.data.error})}function u(){e.gistId=r.gistId,e.type="loading",i(()=>{a()})}u()},qa=function(e,t,o){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.search="";let r="conferences.filterPrefs",n={filters:{status:{ready:!0,expired:!1,removed:!1}},orderBy:"name"},i=loadFilterPrefs(r)||{};e.filters={status:Object.assign({},n.filters.status,i.filters&&i.filters.status||{})},e.orderBy=i.orderBy||n.orderBy,e.watch("orderBy",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})},!0),e.removeConference=function(u){if(confirm(`Are you sure that you want to remove the conference ${u.name}? All the repositories linked to this conference will expire.`)){let m=He({title:`Removing ${u.name}...`,date:new Date,body:`The conference ${u.name} is going to be removed.`});e.addToast(m),t.delete(`/api/conferences/${u.conferenceID}`).then(()=>{m.title=`${u.name} is removed.`,m.body=`The conference ${u.name} is removed.`,a()})}};function a(){t.get("/api/conferences/").then(u=>{e.conferences=u.data||[]},u=>{console.error(u)})}a(),e.conferenceFilter=u=>e.filters.status[u.status]==!1?!1:e.search.trim().length==0||u.name.indexOf(e.search)>-1||u.conferenceID.indexOf(e.search)>-1},Qo=function(e,t,o,r){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.plans=[],e.editionMode=!1;function n(){t.get("/api/conferences/"+r.conferenceId).then(v=>{e.options=v.data,e.options.startDate=new Date(e.options.startDate),e.options.endDate=new Date(e.options.endDate)})}r.conferenceId&&(e.editionMode=!0,n());function i(){t.get("/api/conferences/plans").then(v=>{e.plans=v.data,e.plan=e.plans.filter(k=>k.id==e.options.plan.planID)[0]})}i();let a=new Date;a.setDate(1),a.setMonth(a.getMonth()+1);let u=new Date(a);u.setMonth(a.getMonth()+7,0),e.options={startDate:a,endDate:u,plan:{planID:"free_conference"},options:{link:!0,image:!0,pdf:!0,notebook:!0,update:!0,page:!0}},e.plan=null,e.watch("options.plan.planID",()=>{e.plan=e.plans.filter(v=>v.id==e.options.plan.planID)[0]});function m(){e.conference.name.setValidity("required",!0),e.conference.conferenceID.setValidity("pattern",!0),e.conference.conferenceID.setValidity("required",!0),e.conference.conferenceID.setValidity("used",!0),e.conference.startDate.setValidity("required",!0),e.conference.startDate.setValidity("invalid",!0),e.conference.endDate.setValidity("required",!0),e.conference.endDate.setValidity("invalid",!0),e.conference.setValidity("error",!0)}function h(v){switch(v){case"conf_name_missing":e.conference.name.setValidity("required",!1);break;case"conf_id_missing":e.conference.conferenceID.setValidity("required",!1);break;case"conf_id_format":e.conference.conferenceID.setValidity("pattern",!1);break;case"conf_id_used":e.conference.conferenceID.setValidity("used",!1);break;case"conf_start_date_missing":e.conference.startDate.setValidity("required",!1);break;case"conf_end_date_missing":e.conference.endDate.setValidity("required",!1);break;case"conf_start_date_invalid":e.conference.startDate.setValidity("invalid",!1);break;case"conf_end_date_invalid":e.conference.endDate.setValidity("invalid",!1);break;default:e.conference.setValidity("error",!1);break}}e.submit=function(){let v=He({title:`Creating ${e.options.name}...`,date:new Date,body:`The conference ${e.options.conferenceID} is in creation.`});e.editionMode&&(v.title=`Updating ${e.options.name}...`,v.body=`The conference '${e.options.conferenceID}' is updating.`),e.addToast(v),m(),t.post("/api/conferences/"+(e.editionMode?e.options.conferenceID:""),e.options).then(()=>{e.editionMode?(v.title=`${e.options.name} updated`,v.body=`The conference '${e.options.conferenceID}' is updated.`):(v.title=`${e.options.name} created`,v.body=`The conference '${e.options.conferenceID}' is created.`),o.url("/conference/"+e.options.conferenceID)},k=>{h(k.data.error),e.removeToast(v)})}},Ma=function(e,t,o,r){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conference=null,e.search="",e.filters={status:{ready:!0,expired:!1,removed:!1}},e.orderBy="-anonymizeDate",e.repoFiler=i=>e.filters.status[i.status]==!1?!1:e.search.trim().length==0||i.source.fullName.indexOf(e.search)>-1||i.repoId.indexOf(e.search)>-1;function n(){t.get("/api/conferences/"+r.conferenceId).then(i=>{e.conference=i.data})}n()},$a=function(e,t){e.connections=null,e.connectionError="",e.busy=!1,e.loadConnections=()=>t.get("/github/connections").then(o=>{e.connections=o.data}).catch(o=>{e.connectionError=o.data?.error||"Unable to load connections."}),e.changeConnection=async(o,r,n)=>{e.busy=!0,e.connectionError="";try{let i=await t.post("/github/connections/migrate",{type:o.type,id:o.id,connection:r,preview:n},{headers:{"X-CSRF-Token":e.connections.csrf}});n?o.eligible=i.data.eligible:await e.loadConnections()}catch(i){e.connectionError=i.data?.error||"Unable to change connection."}finally{e.busy=!1}},e.disconnectOAuth=async()=>{e.busy=!0;try{await t.post("/github/connections/disconnect-oauth",{},{headers:{"X-CSRF-Token":e.connections.csrf}}),await e.loadConnections()}catch(o){e.connectionError=o.data?.error||"Unable to disconnect OAuth."}finally{e.busy=!1}},e.loadConnections()},Ua=function(e,t){e.accountRecovery=!1,t.get("/github/account-recovery").then(o=>{e.accountRecovery=o.data.required}).catch(()=>{})};var La=function(e,t,o){let r=ht(),n=ls();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.repositories=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.totalSize=0,e.selected={},e.allSelected=!1;let i=w=>{if(w.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){w.preventDefault();let b=document.querySelector('.admin-filter-toolbar input[type="search"]');b&&b.focus()}};n(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=w=>{w==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[w]="",e.query.page=1},e.chips=[];let a=()=>{let w=[];e.query.owner&&w.push({key:"owner",label:"Owner",value:e.query.owner}),e.query.conference&&w.push({key:"conference",label:"Conference",value:e.query.conference}),e.chips=w};e.showStatusMessage=w=>{let b=w.statusMessage||"(no message)";window.prompt(`Status message for ${w.repoId} (${w.status}):`,b)},e.fetchGithubInfo=w=>{let b=window.open("","_blank");b&&b.document.write("
Loading GitHub info for "+w.repoId+"...
"),t.get("/api/admin/repos/"+w.repoId+"/github").then(T=>{b&&(b.document.open(),b.document.write('
'+JSON.stringify(T.data,null,2).replace(/[<>]/g,N=>N==="<"?"<":">")+"
"),b.document.close())},T=>{let N=T&&T.data?JSON.stringify(T.data,null,2):String(T);b&&(b.document.body.innerHTML='
'+N+"
")})},e.statusCountFor=w=>{let b=(e.statusCounts||[]).find(T=>T._id===w);return b?b.count:0},e.statusStorageFor=w=>{let b=(e.statusCounts||[]).find(T=>T._id===w);return b?b.storage:0},e.isErrorsOnly=()=>e.query&&e.query.error&&!e.query.ready&&!e.query.preparing&&!e.query.expired&&!e.query.removed,e.toggleErrorsOnly=()=>{e.isErrorsOnly()?Object.assign(e.query,{ready:!1,preparing:!0,expired:!1,removed:!1,error:!0}):Object.assign(e.query,{ready:!1,preparing:!1,expired:!1,removed:!1,error:!0}),e.query.page=1},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=w=>{e.query.sort===w?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=w,e.query.direction="desc"),e.query.page=1},e.sortIcon=w=>e.query.sort===w?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.repos.filterPrefs",m={page:1,limit:25,sort:"lastView",direction:"desc",search:"",owner:"",conference:"",dateFrom:"",dateTo:"",ready:!1,expired:!1,removed:!1,error:!0,preparing:!0},h=loadFilterPrefs(u)||{};e.query=Object.assign({},m,h,{page:1,search:""});let v=o.search();v.owner&&(e.query.owner=v.owner),v.conference&&(e.query.conference=v.conference),v.search&&(e.query.search=v.search);let k="admin.repos.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let w=window.prompt("Preset name:");if(!w)return;let b=Object.assign({},e.query);delete b.page,e.presets=(e.presets||[]).filter(T=>T.name!==w),e.presets.push({name:w,query:b}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=w=>{Object.assign(e.query,w.query,{page:1})},e.deletePreset=w=>{e.presets=(e.presets||[]).filter(b=>b.name!==w.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.repositories.forEach(w=>{e.selected[w.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(w=>e.selected[w.repoId]),e.bulkRefresh=()=>{let w=e.selectedRepos();w.length&&confirm(`Force refresh ${w.length} repositories?`)&&w.forEach(b=>e.updateRepository(b))},e.bulkRemoveCache=()=>{let w=e.selectedRepos();w.length&&confirm(`Purge cache for ${w.length} repositories?`)&&w.forEach(b=>e.removeCache(b))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let w=new URLSearchParams(Object.entries(e.query).filter(([,b])=>b!==""&&b!==!1&&b!=null));w.set("format","csv"),w.set("limit","10000"),window.open("/api/admin/repos?"+w.toString(),"_blank")},e.removeCache=w=>{confirm("Remove cached files for "+w.repoId+"?")&&t.delete("/api/admin/repos/"+w.repoId).then(()=>p(),b=>console.error(b))},e.removeRepository=w=>{confirm("Remove repository "+w.repoId+"?")&&t.delete("/api/repo/"+w.repoId+"/").then(()=>p(),b=>console.error(b))},e.updateRepository=w=>{let b=He({title:`Refreshing ${w.repoId}...`,date:new Date,body:`The repository ${w.repoId} is going to be refreshed.`});e.toasts.push(b),t.post(`/api/repo/${w.repoId}/refresh`).then(T=>{T.data.status=="ready"?b.title=`${w.repoId} is refreshed.`:b.title=`Refreshing of ${w.repoId}.`},T=>{b.title=`Error during the refresh of ${w.repoId}.`,b.body=T.body})},e.fetchError=null;function p(){e.fetchError=null,t.get("/api/admin/repos",{params:e.query}).then(w=>{e.total=w.data.total,e.totalPage=Math.ceil(w.data.total/e.query.limit),e.repositories=w.data.results,e.statusCounts=w.data.statusCounts||[],e.totalSize=w.data.totalSize||0,e.allSelected=!1},w=>{e.fetchError=w&&w.data&&w.data.error||"Failed to load repositories",console.error(w)})}p();let g=null;e.watch("query",()=>{r.timeout.cancel(g),g=r.timeout(p,500);let{page:w,search:b,...T}=e.query;saveFilterPrefs(u,T),a()},!0),a()},Fa=function(e,t,o){let r=ht(),n=ls();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.users=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.selected={},e.allSelected=!1;let i=p=>{if(p.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){p.preventDefault();let g=document.querySelector('.admin-filter-toolbar input[type="search"]');g&&g.focus()}};n(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=p=>{p==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[p]="",e.query.page=1},e.chips=[];let a=()=>{let p=[];e.query.role&&p.push({key:"role",label:"Role",value:e.query.role}),e.chips=p};e.statusCountFor=p=>{let g=(e.statusCounts||[]).find(w=>w._id===p);return g?g.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=p=>{e.query.sort===p?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=p,e.query.direction="desc"),e.query.page=1},e.sortIcon=p=>e.query.sort===p?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.users.filterPrefs",m={page:1,limit:25,sort:"username",direction:"asc",search:"",status:"",role:"",dateFrom:"",dateTo:""},h=loadFilterPrefs(u)||{};e.query=Object.assign({},m,h,{page:1,search:""}),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.users.forEach(p=>{e.selected[p.username]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedUsers=()=>e.users.filter(p=>e.selected[p.username]),e.banUser=p=>{confirm(`Ban user ${p.username}?`)&&t.post(`/api/admin/users/${p.username}/ban`).then(v,g=>console.error(g))},e.activateUser=p=>{t.post(`/api/admin/users/${p.username}/activate`).then(v,g=>console.error(g))},e.bulkBan=()=>{let p=e.selectedUsers();p.length&&confirm(`Ban ${p.length} users?`)&&p.forEach(g=>e.banUser(g))},e.exportCsv=()=>{let p=new URLSearchParams(Object.entries(e.query).filter(([,g])=>g!==""&&g!==!1&&g!=null));p.set("format","csv"),p.set("limit","10000"),window.open("/api/admin/users?"+p.toString(),"_blank")},e.fetchError=null;function v(){e.fetchError=null,t.get("/api/admin/users",{params:e.query}).then(p=>{e.total=p.data.total,e.totalPage=Math.ceil(p.data.total/e.query.limit),e.users=p.data.results,e.statusCounts=p.data.statusCounts||[],e.allSelected=!1},p=>{e.fetchError=p&&p.data&&p.data.error||"Failed to load users",console.error(p)})}v();let k=null;e.watch("query",()=>{r.timeout.cancel(k),k=r.timeout(v,500);let{page:p,search:g,...w}=e.query;saveFilterPrefs(u,w),a()},!0),a()},za=function(e,t,o,r){let n=ht();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.userInfo,e.repositories=[],e.search="",e.selected={},e.allSelected=!1;let i="admin.user.filterPrefs",a={filters:{status:{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0}},sort:"anonymizeDate",direction:"desc"},u=loadFilterPrefs(i)||{};e.filters={status:Object.assign({},a.filters.status,u.filters&&u.filters.status||{})},e.query={sort:u.sort||a.sort,direction:u.direction||a.direction},e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort,e.sortBy=p=>{e.query.sort===p?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=p,e.query.direction="desc"),e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort},e.sortIcon=p=>e.query.sort===p?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"",e.watch("query",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.watch("filters",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.statusCountFor=p=>(e.repositories||[]).filter(g=>g.status===p).length,e.repoFiler=p=>e.filters.status[p.status]==!1?!1:!!(e.search.trim().length==0||p.source.fullName.indexOf(e.search)>-1||p.repoId.indexOf(e.search)>-1||p.statusMessage&&p.statusMessage.indexOf(e.search)>-1||p.conference&&p.conference.indexOf(e.search)>-1),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,(e.filteredRepositories||e.repositories).forEach(p=>{e.selected[p.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(p=>e.selected[p.repoId]),e.bulkRefresh=()=>{let p=e.selectedRepos();p.length&&confirm(`Force refresh ${p.length} repositories?`)&&p.forEach(g=>e.updateRepository(g))},e.bulkRemoveCache=()=>{let p=e.selectedRepos();p.length&&confirm(`Purge cache for ${p.length} repositories?`)&&p.forEach(g=>e.removeCache(g))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let p=e.filteredRepositories||e.repositories,w=["repoId","status","statusMessage","pageView","anonymizeDate","source.fullName","conference","size.storage"].join(","),b=p.map(R=>[R.repoId,R.status,R.statusMessage||"",R.pageView||0,R.anonymizeDate||"",R.source&&R.source.fullName||"",R.conference||"",R.size&&R.size.storage||0].map(I=>{let C=String(I??"");return/[",\n\r]/.test(C)?'"'+C.replace(/"/g,'""')+'"':C}).join(",")),T=new Blob([w+` `+b.join(` -`)],{type:"text/csv"}),N=document.createElement("a");N.href=URL.createObjectURL(T),N.download=r.username+"-repositories.csv",N.click()},e.showStatusMessage=p=>{let g=p.statusMessage||"(no message)";window.prompt(`Status message for ${p.repoId} (${p.status}):`,g)},e.fetchGithubInfo=p=>{let g=window.open("","_blank");g&&g.document.write("
Loading GitHub info for "+p.repoId+"...
"),t.get("/api/admin/repos/"+p.repoId+"/github").then(w=>{g&&(g.document.open(),g.document.write('
'+JSON.stringify(w.data,null,2).replace(/[<>]/g,b=>b==="<"?"<":">")+"
"),g.document.close())},w=>{let b=w&&w.data?JSON.stringify(w.data,null,2):String(w);g&&(g.document.body.innerHTML='
'+b+"
")})};function m(p){t.get("/api/admin/users/"+p+"/repos",{}).then(g=>{e.repositories=g.data},g=>{console.error(g)})}function h(p){t.get("/api/admin/users/"+p,{}).then(g=>{e.userInfo=g.data},g=>{console.error(g)})}h(r.username),m(r.username),e.banUser=()=>{confirm(`Ban user ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/ban`).then(()=>h(r.username),p=>console.error(p))},e.activateUser=()=>{t.post(`/api/admin/users/${r.username}/activate`).then(()=>h(r.username),p=>console.error(p))},e.promoteUser=()=>{confirm(`Promote ${r.username} to admin?`)&&t.post(`/api/admin/users/${r.username}/promote`).then(()=>h(r.username),p=>console.error(p))},e.demoteUser=()=>{confirm(`Remove admin privileges from ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/demote`).then(()=>h(r.username),p=>console.error(p))},e.tokens=[],e.tokenForm={name:"",plaintext:null};function v(){t.get("/api/admin/tokens").then(p=>{e.tokens=p.data||[]},p=>{p.status!==401&&p.status!==403&&console.error(p)})}v(),e.createToken=()=>{e.tokenForm.name&&t.post("/api/admin/tokens",{name:e.tokenForm.name}).then(p=>{e.tokenForm.plaintext=p.data.token,e.tokenForm.name="",v()},p=>console.error(p))},e.revokeToken=p=>{confirm(`Revoke token "${p.name}"?`)&&t.delete("/api/admin/tokens/"+p.id).then(()=>v(),g=>console.error(g))},e.removeCache=p=>{confirm("Remove cached files for "+p.repoId+"?")&&t.delete("/api/admin/repos/"+p.repoId).then(()=>m(r.username),g=>console.error(g))},e.removeRepository=p=>{confirm("Remove repository "+p.repoId+"?")&&t.delete("/api/repo/"+p.repoId+"/").then(()=>m(r.username),g=>console.error(g))},e.updateRepository=p=>{let g=ze({title:`Refreshing ${p.repoId}...`,date:new Date,body:`The repository ${p.repoId} is going to be refreshed.`});e.toasts.push(g),t.post(`/api/repo/${p.repoId}/refresh`).then(w=>{w.data.status=="ready"?g.title=`${p.repoId} is refreshed.`:g.title=`Refreshing of ${p.repoId}.`},w=>{g.title=`Error during the refresh of ${p.repoId}.`,g.body=w.body})},e.getGitHubRepositories=p=>{t.get(`/api/user/${e.userInfo.username}/all_repositories`,{params:{force:"1"}}).then(g=>{e.userInfo.repositories=g.data})};let k=null;e.watch("query",()=>{n.timeout.cancel(k),k=n.timeout(()=>{m(r.username)},500)},!0)},za=function(e,t,o){let r=mt(),n=as();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.total=-1,e.totalPage=0,e.statusCounts=[];let i=w=>{if(w.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){w.preventDefault();let b=document.querySelector('.admin-filter-toolbar input[type="search"]');b&&b.focus()}};n(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=w=>{w==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[w]="",e.query.page=1},e.chips=[];let a=()=>{let w=[];(e.query.dateFrom||e.query.dateTo)&&w.push({key:"dateRange",label:"Date",value:(e.query.dateFrom||"\u2026")+" \u2013 "+(e.query.dateTo||"\u2026")}),e.chips=w};e.statusCountFor=w=>{let b=(e.statusCounts||[]).find(T=>T._id===w);return b?b.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=w=>{e.query.sort===w?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=w,e.query.direction="desc"),e.query.page=1},e.sortIcon=w=>e.query.sort===w?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.conferences.filterPrefs",m={page:1,limit:25,sort:"name",direction:"asc",search:"",dateFrom:"",dateTo:"",ready:!1,expired:!1,removed:!1,error:!0,preparing:!0},h=loadFilterPrefs(u)||{};e.query=Object.assign({},m,h,{page:1,search:""});let v=o.search();v.search&&(e.query.search=v.search);let k="admin.conferences.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let w=window.prompt("Preset name:");if(!w)return;let b=Object.assign({},e.query);delete b.page,e.presets=(e.presets||[]).filter(T=>T.name!==w),e.presets.push({name:w,query:b}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=w=>{Object.assign(e.query,w.query,{page:1})},e.deletePreset=w=>{e.presets=(e.presets||[]).filter(b=>b.name!==w.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.removeConference=w=>{confirm("Remove conference "+w.conferenceID+"?")&&t.delete("/api/admin/conferences/"+w.conferenceID).then(()=>p(),b=>console.error(b))},e.exportCsv=()=>{let w=new URLSearchParams(Object.entries(e.query).filter(([,b])=>b!==""&&b!==!1&&b!=null));w.set("format","csv"),w.set("limit","10000"),window.open("/api/admin/conferences?"+w.toString(),"_blank")},e.fetchError=null;function p(){e.fetchError=null,t.get("/api/admin/conferences",{params:e.query}).then(w=>{e.total=w.data.total,e.totalPage=Math.ceil(w.data.total/e.query.limit),e.conferences=w.data.results,e.statusCounts=w.data.statusCounts||[]},w=>{e.fetchError=w&&w.data&&w.data.error||"Failed to load conferences",console.error(w)})}p();let g=null;e.watch("query",()=>{r.timeout.cancel(g),g=r.timeout(p,500);let{page:w,search:b,...T}=e.query;saveFilterPrefs(u,T),a()},!0),a()},Ha=function(e,t,o,r,n){let i=mt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.queueList=[],e.jobs=[],e.selectedQueue="download",e.selectedStats=null,e.range="1h",e.allStates=["active","waiting","delayed","failed","completed"],e.stateFilter={active:!0,waiting:!0,delayed:!0,failed:!0,completed:!0},e.query={search:"",autoRefresh:!0},e.filteredJobs=()=>(e.jobs||[]).filter(b=>e.stateFilter[b._state]),e.jobProgressPct=b=>b&&b.progress&&typeof b.progress=="object"&&typeof b.progress.percent=="number"?Math.max(0,Math.min(100,Math.round(b.progress.percent))):typeof b.progress=="number"?Math.max(0,Math.min(100,Math.round(b.progress))):null,e.jobDuration=b=>{if(!b.processedOn)return"-";let N=(b.finishedOn||Date.now())-b.processedOn;return N<1e3?N+"ms":(N/1e3).toFixed(1)+"s"},e.metricsPoints=[],e.selectQueue=b=>{e.selectedQueue=b,a(),u()},e.setRange=b=>{e.range=b,u()};function a(){let b={queue:e.selectedQueue,search:e.query.search};t.get("/api/admin/queues",{params:b}).then(T=>{e.queueList=T.data.queues||[],e.jobs=T.data.jobs||[],e.selectedStats=e.queueList.find(N=>N.key===e.selectedQueue)||e.queueList[0]||null},T=>console.error(T))}function u(){t.get("/api/admin/queues/metrics",{params:{queue:e.selectedQueue,range:e.range}}).then(b=>{e.metricsPoints=b.data.points||[],n(p,0)},b=>console.error(b))}a(),u();let m=r(()=>{e.query.autoRefresh&&(a(),u())},15e3);e.on("dispose",()=>r.cancel(m)),e.refreshNow=function(){a(),u()};function h(b){let T=b&&b.data&&(b.data.message||b.data.error)||"Request failed";e.actionError=T,n(()=>{e.actionError=null},5e3),console.error(b)}e.actionError=null,e.removeJob=b=>{t.delete(`/api/admin/queue/${e.selectedQueue}/${b.id}`).then(a,h)},e.retryJob=b=>{t.post(`/api/admin/queue/${e.selectedQueue}/${b.id}`).then(a,h)},e.retryFailed=()=>{confirm(`Retry all failed jobs in ${e.selectedQueue}?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/retry-failed`).then(a,b=>console.error(b))},e.drainSelected=()=>{confirm(`Drain the ${e.selectedQueue} queue?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/drain`).then(a,b=>console.error(b))},e.togglePause=()=>{let b=e.selectedStats&&e.selectedStats.paused?"resume":"pause";t.post(`/api/admin/queue/${e.selectedQueue}/${b}`).then(a,T=>console.error(T))},e.emptyQueue=()=>{confirm(`Empty the ${e.selectedQueue} queue? This removes ALL jobs.`)&&t.post(`/api/admin/queue/${e.selectedQueue}/empty`).then(a,b=>console.error(b))},e.pauseAll=()=>{confirm("Pause all queues?")&&t.post("/api/admin/queues/pause-all").then(a,b=>console.error(b))};let v=null;e.watch("query.search",()=>{i.timeout.cancel(v),v=i.timeout(a,350)}),e.expanded={},e.toggleJob=b=>{e.expanded[b.id]=!e.expanded[b.id]},e.humanTime=b=>{if(!b)return"";let T=new Date(b);return T.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})+" "+T.toLocaleDateString([],{month:"short",day:"numeric"})},e.delayCountdown=b=>{if(!b)return"";var T=Math.max(0,Math.ceil((b-Date.now())/1e3));if(T<=0)return"resuming soon";var N=Math.floor(T/60),R=T%60;return"in "+(N>0?N+"m "+R+"s":R+"s")};function k(b){if(b<=0)return{ticks:[0],niceMax:1};let T=Math.pow(10,Math.floor(Math.log10(b))),N=T;b/N<2?N=T/2:b/N>5&&(N=T*2);let R=Math.ceil(b/N)*N,I=[];for(let C=0;C<=R;C+=N)I.push(C);return{ticks:I,niceMax:R}}function p(){var b=document.getElementById("q-throughput-chart");if(!b)return;var T=b.getContext("2d"),N=window.devicePixelRatio||1,R=b.parentElement.getBoundingClientRect(),I=44,C=50,A=20,P=R.width-40,Z=180,Y=P-I-C,j=Z-A;b.width=P*N,b.height=Z*N,b.style.width=P+"px",b.style.height=Z+"px",T.setTransform(N,0,0,N,0,0);var z=document.body.classList.contains("dark-mode"),ae="#8A857C",se=z?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",re=z?"#A7B2FF":"#3B4AD6",ue=z?"rgba(167,178,255,0.12)":"rgba(59,74,214,0.08)",ke=z?"#F08A82":"#B42318",he=z?"rgba(240,138,130,0.08)":"rgba(180,35,24,0.06)",me=z?"#F5C842":"#B8860B",pe=e.metricsPoints||[];if(pe.length===0){T.fillStyle=ae,T.font="12px monospace",T.textAlign="center",T.fillText("No metrics data yet",P/2,Z/2),g=null;return}var Te=pe.map(function(M){return M.completed}),Re=pe.map(function(M){return M.failed}),Se=pe.map(function(M){return M.avgMs}),D=pe.length,V=Y/(D-1||1),W=Math.max(1,Math.max.apply(null,Te),Math.max.apply(null,Re)),oe=k(W),le=Math.max.apply(null,Se),U=le>0?k(le):{ticks:[0],niceMax:1},te=function(M){return j-M/oe.niceMax*(j-10)},L=function(M){return j-M/U.niceMax*(j-10)},K=function(M){return I+M*V};T.textAlign="right",T.textBaseline="middle",T.font="10px monospace",oe.ticks.forEach(function(M){var Q=te(M);T.strokeStyle=se,T.lineWidth=1,T.beginPath(),T.moveTo(I,Q),T.lineTo(P-C,Q),T.stroke(),T.fillStyle=ae,T.fillText(M>=1e3?(M/1e3).toFixed(1)+"k":String(M),I-6,Q)}),le>0&&(T.textAlign="left",U.ticks.forEach(function(M){var Q=L(M);T.fillStyle=me,T.fillText(M>=1e3?(M/1e3).toFixed(1)+"s":M+"ms",P-C+6,Q)}));var fe=Date.now(),Ce=Math.min(6,D);T.textAlign="center",T.textBaseline="top";for(var ce=0;ce0&&(T.beginPath(),Se.forEach(function(M,Q){var x=K(Q),X=L(M);if(Q===0)T.moveTo(x,X);else{var H=(K(Q-1)+x)/2;T.bezierCurveTo(H,L(Se[Q-1]),H,X,x,X)}}),T.strokeStyle=me,T.lineWidth=1,T.setLineDash([4,3]),T.stroke(),T.setLineDash([])),g={pts:pe,maxLen:D,marginLeft:I,step:V,totalW:P,toX:K}}var g=null;function w(){var b=document.getElementById("q-throughput-chart");if(!(!b||b._tipBound)){b._tipBound=!0;var T=document.getElementById("q-chart-tooltip"),N=document.getElementById("q-chart-crosshair");b.addEventListener("mousemove",function(R){if(!(!g||!T||!N)){var I=g,C=b.getBoundingClientRect(),A=R.clientX-C.left,P=Math.round((A-I.marginLeft)/I.step);if(P<0||P>=I.maxLen){T.style.display="none",N.style.display="none";return}var Z=I.pts[P],Y=Date.now(),j=Math.round((Y-Z.ts)/6e4),z;if(j<=0)z="now";else if(j<60)z=j+"m ago";else if(j<1440){var ae=Math.floor(j/60),se=j%60;z=ae+"h"+(se?" "+se+"m":"")+" ago"}else z=Math.round(j/1440)+"d ago";var re='
'+z+'
● completed: '+Z.completed+'/min
● failed: '+Z.failed+"/min
";if(Z.avgMs>0){var ue=Z.avgMs>=1e3?(Z.avgMs/1e3).toFixed(1)+"s":Z.avgMs+"ms";re+='
● avg time: '+ue+"
"}T.innerHTML=re;var ke=I.toX(P),he=T.offsetWidth,me=ke+10;me+he>I.totalW&&(me=ke-he-10),T.style.display="block",T.style.left=me+"px",T.style.top="8px",N.style.display="block",N.style.left=ke+"px"}}),b.addEventListener("mouseleave",function(){T&&(T.style.display="none"),N&&(N.style.display="none")})}}e.watch("metricsPoints",function(){n(w,50)})},Ba=function(e,t,o,r){let n=mt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.entries=[],e.visible=[],e.available=!0,e.cap=1e3,e.total=0,e.pageSize=250,e.expanded={},e.detailTab={},e.copyHint="",e.parsedFilterCount=0,e.stats={last24h:0,prev24h:0,delta:0,severity:{error:0,warn:0,info:0},unique:{error:0,warn:0,info:0},buckets:[],dropped:0},e.query={search:"",bucket:"",sort:"recent",group:"code",autoRefresh:!0},e.relTime=N=>{if(!N)return"";let R=new Date(N).getTime();if(isNaN(R))return N;let I=Math.max(0,Date.now()-R),C=Math.floor(I/1e3);if(C<5)return"just now";if(C<60)return`${C}s ago`;let A=Math.floor(C/60);if(A<60)return`${A}m ago`;let P=Math.floor(A/60);if(P<24)return`${P}h ago`;let Z=Math.floor(P/24);return Z<7?`${Z}d ago`:new Date(N).toLocaleDateString()},e.absTime=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleString()},e.absTimeShort=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})};let i=/^[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+$/;function a(N,R){let I=N&&(N.httpStatus||N.status)||null;if(typeof I=="number"){if(I>=500)return"error";if(I===401||I===403||I===404)return"info";if(I>=400)return"warn"}return R==="error"?"error":R==="warn"?"warn":"info"}function u(N){let R=(N.raw||[]).find(P=>P&&typeof P=="object"&&!Array.isArray(P));if(R){R.message&&i.test(R.message)?(N.displayMessage=R.message,N.displayContext=N.message):R.code&&i.test(String(R.code))?(N.displayMessage=String(R.code),N.displayContext=N.message):R.name&&R.name!=="AnonymousError"&&R.name!=="Error"?(N.displayMessage=R.name,N.displayContext=R.message||N.message):N.displayMessage=N.message,N._status=R.httpStatus||R.status||null,N._url=R.url||null,N._method=R.method||null,N._repoId=R.repoId||R.detail||null,N._detail=R.detail&&R.detail!==N._repoId?R.detail:null;let P=typeof R.stack=="string"?R.stack:null;for(var I=[R.cause,R.err].filter(Boolean),C=0;!P&&C{j==null||j===""||I.push([Y,j])};C("name",R&&R.name),C("code",N.displayMessage||R&&R.message),N._bucket&&C("kind",N._bucket),C("httpStatus",R&&R.httpStatus),R&&R.status&&!R.httpStatus&&C("status",R.status),C("module",N.module);let A=R&&R.detail;if(typeof A=="string"){let Y=A.trim();if(Y[0]==="{"||Y[0]==="[")try{A=JSON.parse(A)}catch{}}if(C("detail",A),C("repoId",R&&R.repoId),C("filePath",R&&R.filePath),C("upstreamStatus",R&&R.upstreamStatus),C("upstreamBody",R&&R.upstreamBody),C("url",N._url),C("err",R&&R.err),C("cause",R&&!R.err&&R.cause),C("ts",N.ts),!I.length)return JSON.stringify(N,null,2);let P=I.reduce((Y,j)=>Math.max(Y,j[0].length),0),Z=["{"];return I.forEach(([Y,j],z)=>{let se=` ${`"${Y}":`.padEnd(P+3," ")} `,re=zme===0?he:ke+he).join(` +`)],{type:"text/csv"}),N=document.createElement("a");N.href=URL.createObjectURL(T),N.download=r.username+"-repositories.csv",N.click()},e.showStatusMessage=p=>{let g=p.statusMessage||"(no message)";window.prompt(`Status message for ${p.repoId} (${p.status}):`,g)},e.fetchGithubInfo=p=>{let g=window.open("","_blank");g&&g.document.write("
Loading GitHub info for "+p.repoId+"...
"),t.get("/api/admin/repos/"+p.repoId+"/github").then(w=>{g&&(g.document.open(),g.document.write('
'+JSON.stringify(w.data,null,2).replace(/[<>]/g,b=>b==="<"?"<":">")+"
"),g.document.close())},w=>{let b=w&&w.data?JSON.stringify(w.data,null,2):String(w);g&&(g.document.body.innerHTML='
'+b+"
")})};function m(p){t.get("/api/admin/users/"+p+"/repos",{}).then(g=>{e.repositories=g.data},g=>{console.error(g)})}function h(p){t.get("/api/admin/users/"+p,{}).then(g=>{e.userInfo=g.data},g=>{console.error(g)})}h(r.username),m(r.username),e.banUser=()=>{confirm(`Ban user ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/ban`).then(()=>h(r.username),p=>console.error(p))},e.activateUser=()=>{t.post(`/api/admin/users/${r.username}/activate`).then(()=>h(r.username),p=>console.error(p))},e.promoteUser=()=>{confirm(`Promote ${r.username} to admin?`)&&t.post(`/api/admin/users/${r.username}/promote`).then(()=>h(r.username),p=>console.error(p))},e.demoteUser=()=>{confirm(`Remove admin privileges from ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/demote`).then(()=>h(r.username),p=>console.error(p))},e.tokens=[],e.tokenForm={name:"",plaintext:null};function v(){t.get("/api/admin/tokens").then(p=>{e.tokens=p.data||[]},p=>{p.status!==401&&p.status!==403&&console.error(p)})}v(),e.createToken=()=>{e.tokenForm.name&&t.post("/api/admin/tokens",{name:e.tokenForm.name}).then(p=>{e.tokenForm.plaintext=p.data.token,e.tokenForm.name="",v()},p=>console.error(p))},e.revokeToken=p=>{confirm(`Revoke token "${p.name}"?`)&&t.delete("/api/admin/tokens/"+p.id).then(()=>v(),g=>console.error(g))},e.removeCache=p=>{confirm("Remove cached files for "+p.repoId+"?")&&t.delete("/api/admin/repos/"+p.repoId).then(()=>m(r.username),g=>console.error(g))},e.removeRepository=p=>{confirm("Remove repository "+p.repoId+"?")&&t.delete("/api/repo/"+p.repoId+"/").then(()=>m(r.username),g=>console.error(g))},e.updateRepository=p=>{let g=He({title:`Refreshing ${p.repoId}...`,date:new Date,body:`The repository ${p.repoId} is going to be refreshed.`});e.toasts.push(g),t.post(`/api/repo/${p.repoId}/refresh`).then(w=>{w.data.status=="ready"?g.title=`${p.repoId} is refreshed.`:g.title=`Refreshing of ${p.repoId}.`},w=>{g.title=`Error during the refresh of ${p.repoId}.`,g.body=w.body})},e.getGitHubRepositories=p=>{t.get(`/api/user/${e.userInfo.username}/all_repositories`,{params:{force:"1"}}).then(g=>{e.userInfo.repositories=g.data})};let k=null;e.watch("query",()=>{n.timeout.cancel(k),k=n.timeout(()=>{m(r.username)},500)},!0)},Ha=function(e,t,o){let r=ht(),n=ls();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.total=-1,e.totalPage=0,e.statusCounts=[];let i=w=>{if(w.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){w.preventDefault();let b=document.querySelector('.admin-filter-toolbar input[type="search"]');b&&b.focus()}};n(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=w=>{w==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[w]="",e.query.page=1},e.chips=[];let a=()=>{let w=[];(e.query.dateFrom||e.query.dateTo)&&w.push({key:"dateRange",label:"Date",value:(e.query.dateFrom||"\u2026")+" \u2013 "+(e.query.dateTo||"\u2026")}),e.chips=w};e.statusCountFor=w=>{let b=(e.statusCounts||[]).find(T=>T._id===w);return b?b.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=w=>{e.query.sort===w?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=w,e.query.direction="desc"),e.query.page=1},e.sortIcon=w=>e.query.sort===w?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.conferences.filterPrefs",m={page:1,limit:25,sort:"name",direction:"asc",search:"",dateFrom:"",dateTo:"",ready:!1,expired:!1,removed:!1,error:!0,preparing:!0},h=loadFilterPrefs(u)||{};e.query=Object.assign({},m,h,{page:1,search:""});let v=o.search();v.search&&(e.query.search=v.search);let k="admin.conferences.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let w=window.prompt("Preset name:");if(!w)return;let b=Object.assign({},e.query);delete b.page,e.presets=(e.presets||[]).filter(T=>T.name!==w),e.presets.push({name:w,query:b}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=w=>{Object.assign(e.query,w.query,{page:1})},e.deletePreset=w=>{e.presets=(e.presets||[]).filter(b=>b.name!==w.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.removeConference=w=>{confirm("Remove conference "+w.conferenceID+"?")&&t.delete("/api/admin/conferences/"+w.conferenceID).then(()=>p(),b=>console.error(b))},e.exportCsv=()=>{let w=new URLSearchParams(Object.entries(e.query).filter(([,b])=>b!==""&&b!==!1&&b!=null));w.set("format","csv"),w.set("limit","10000"),window.open("/api/admin/conferences?"+w.toString(),"_blank")},e.fetchError=null;function p(){e.fetchError=null,t.get("/api/admin/conferences",{params:e.query}).then(w=>{e.total=w.data.total,e.totalPage=Math.ceil(w.data.total/e.query.limit),e.conferences=w.data.results,e.statusCounts=w.data.statusCounts||[]},w=>{e.fetchError=w&&w.data&&w.data.error||"Failed to load conferences",console.error(w)})}p();let g=null;e.watch("query",()=>{r.timeout.cancel(g),g=r.timeout(p,500);let{page:w,search:b,...T}=e.query;saveFilterPrefs(u,T),a()},!0),a()},Ba=function(e,t,o,r,n){let i=ht();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.queueList=[],e.jobs=[],e.selectedQueue="download",e.selectedStats=null,e.range="1h",e.allStates=["active","waiting","delayed","failed","completed"],e.stateFilter={active:!0,waiting:!0,delayed:!0,failed:!0,completed:!0},e.query={search:"",autoRefresh:!0},e.filteredJobs=()=>(e.jobs||[]).filter(b=>e.stateFilter[b._state]),e.jobProgressPct=b=>b&&b.progress&&typeof b.progress=="object"&&typeof b.progress.percent=="number"?Math.max(0,Math.min(100,Math.round(b.progress.percent))):typeof b.progress=="number"?Math.max(0,Math.min(100,Math.round(b.progress))):null,e.jobDuration=b=>{if(!b.processedOn)return"-";let N=(b.finishedOn||Date.now())-b.processedOn;return N<1e3?N+"ms":(N/1e3).toFixed(1)+"s"},e.metricsPoints=[],e.selectQueue=b=>{e.selectedQueue=b,a(),u()},e.setRange=b=>{e.range=b,u()};function a(){let b={queue:e.selectedQueue,search:e.query.search};t.get("/api/admin/queues",{params:b}).then(T=>{e.queueList=T.data.queues||[],e.jobs=T.data.jobs||[],e.selectedStats=e.queueList.find(N=>N.key===e.selectedQueue)||e.queueList[0]||null},T=>console.error(T))}function u(){t.get("/api/admin/queues/metrics",{params:{queue:e.selectedQueue,range:e.range}}).then(b=>{e.metricsPoints=b.data.points||[],n(p,0)},b=>console.error(b))}a(),u();let m=r(()=>{e.query.autoRefresh&&(a(),u())},15e3);e.on("dispose",()=>r.cancel(m)),e.refreshNow=function(){a(),u()};function h(b){let T=b&&b.data&&(b.data.message||b.data.error)||"Request failed";e.actionError=T,n(()=>{e.actionError=null},5e3),console.error(b)}e.actionError=null,e.removeJob=b=>{t.delete(`/api/admin/queue/${e.selectedQueue}/${b.id}`).then(a,h)},e.retryJob=b=>{t.post(`/api/admin/queue/${e.selectedQueue}/${b.id}`).then(a,h)},e.retryFailed=()=>{confirm(`Retry all failed jobs in ${e.selectedQueue}?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/retry-failed`).then(a,b=>console.error(b))},e.drainSelected=()=>{confirm(`Drain the ${e.selectedQueue} queue?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/drain`).then(a,b=>console.error(b))},e.togglePause=()=>{let b=e.selectedStats&&e.selectedStats.paused?"resume":"pause";t.post(`/api/admin/queue/${e.selectedQueue}/${b}`).then(a,T=>console.error(T))},e.emptyQueue=()=>{confirm(`Empty the ${e.selectedQueue} queue? This removes ALL jobs.`)&&t.post(`/api/admin/queue/${e.selectedQueue}/empty`).then(a,b=>console.error(b))},e.pauseAll=()=>{confirm("Pause all queues?")&&t.post("/api/admin/queues/pause-all").then(a,b=>console.error(b))};let v=null;e.watch("query.search",()=>{i.timeout.cancel(v),v=i.timeout(a,350)}),e.expanded={},e.toggleJob=b=>{e.expanded[b.id]=!e.expanded[b.id]},e.humanTime=b=>{if(!b)return"";let T=new Date(b);return T.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})+" "+T.toLocaleDateString([],{month:"short",day:"numeric"})},e.delayCountdown=b=>{if(!b)return"";var T=Math.max(0,Math.ceil((b-Date.now())/1e3));if(T<=0)return"resuming soon";var N=Math.floor(T/60),R=T%60;return"in "+(N>0?N+"m "+R+"s":R+"s")};function k(b){if(b<=0)return{ticks:[0],niceMax:1};let T=Math.pow(10,Math.floor(Math.log10(b))),N=T;b/N<2?N=T/2:b/N>5&&(N=T*2);let R=Math.ceil(b/N)*N,I=[];for(let C=0;C<=R;C+=N)I.push(C);return{ticks:I,niceMax:R}}function p(){var b=document.getElementById("q-throughput-chart");if(!b)return;var T=b.getContext("2d"),N=window.devicePixelRatio||1,R=b.parentElement.getBoundingClientRect(),I=44,C=50,A=20,P=R.width-40,Z=180,Y=P-I-C,j=Z-A;b.width=P*N,b.height=Z*N,b.style.width=P+"px",b.style.height=Z+"px",T.setTransform(N,0,0,N,0,0);var z=document.body.classList.contains("dark-mode"),ae="#8A857C",se=z?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",re=z?"#A7B2FF":"#3B4AD6",ue=z?"rgba(167,178,255,0.12)":"rgba(59,74,214,0.08)",_e=z?"#F08A82":"#B42318",he=z?"rgba(240,138,130,0.08)":"rgba(180,35,24,0.06)",me=z?"#F5C842":"#B8860B",pe=e.metricsPoints||[];if(pe.length===0){T.fillStyle=ae,T.font="12px monospace",T.textAlign="center",T.fillText("No metrics data yet",P/2,Z/2),g=null;return}var Oe=pe.map(function(M){return M.completed}),Te=pe.map(function(M){return M.failed}),De=pe.map(function(M){return M.avgMs}),D=pe.length,V=Y/(D-1||1),W=Math.max(1,Math.max.apply(null,Oe),Math.max.apply(null,Te)),oe=k(W),le=Math.max.apply(null,De),U=le>0?k(le):{ticks:[0],niceMax:1},te=function(M){return j-M/oe.niceMax*(j-10)},L=function(M){return j-M/U.niceMax*(j-10)},K=function(M){return I+M*V};T.textAlign="right",T.textBaseline="middle",T.font="10px monospace",oe.ticks.forEach(function(M){var Q=te(M);T.strokeStyle=se,T.lineWidth=1,T.beginPath(),T.moveTo(I,Q),T.lineTo(P-C,Q),T.stroke(),T.fillStyle=ae,T.fillText(M>=1e3?(M/1e3).toFixed(1)+"k":String(M),I-6,Q)}),le>0&&(T.textAlign="left",U.ticks.forEach(function(M){var Q=L(M);T.fillStyle=me,T.fillText(M>=1e3?(M/1e3).toFixed(1)+"s":M+"ms",P-C+6,Q)}));var fe=Date.now(),Ne=Math.min(6,D);T.textAlign="center",T.textBaseline="top";for(var ce=0;ce0&&(T.beginPath(),De.forEach(function(M,Q){var x=K(Q),X=L(M);if(Q===0)T.moveTo(x,X);else{var H=(K(Q-1)+x)/2;T.bezierCurveTo(H,L(De[Q-1]),H,X,x,X)}}),T.strokeStyle=me,T.lineWidth=1,T.setLineDash([4,3]),T.stroke(),T.setLineDash([])),g={pts:pe,maxLen:D,marginLeft:I,step:V,totalW:P,toX:K}}var g=null;function w(){var b=document.getElementById("q-throughput-chart");if(!(!b||b._tipBound)){b._tipBound=!0;var T=document.getElementById("q-chart-tooltip"),N=document.getElementById("q-chart-crosshair");b.addEventListener("mousemove",function(R){if(!(!g||!T||!N)){var I=g,C=b.getBoundingClientRect(),A=R.clientX-C.left,P=Math.round((A-I.marginLeft)/I.step);if(P<0||P>=I.maxLen){T.style.display="none",N.style.display="none";return}var Z=I.pts[P],Y=Date.now(),j=Math.round((Y-Z.ts)/6e4),z;if(j<=0)z="now";else if(j<60)z=j+"m ago";else if(j<1440){var ae=Math.floor(j/60),se=j%60;z=ae+"h"+(se?" "+se+"m":"")+" ago"}else z=Math.round(j/1440)+"d ago";var re='
'+z+'
● completed: '+Z.completed+'/min
● failed: '+Z.failed+"/min
";if(Z.avgMs>0){var ue=Z.avgMs>=1e3?(Z.avgMs/1e3).toFixed(1)+"s":Z.avgMs+"ms";re+='
● avg time: '+ue+"
"}T.innerHTML=re;var _e=I.toX(P),he=T.offsetWidth,me=_e+10;me+he>I.totalW&&(me=_e-he-10),T.style.display="block",T.style.left=me+"px",T.style.top="8px",N.style.display="block",N.style.left=_e+"px"}}),b.addEventListener("mouseleave",function(){T&&(T.style.display="none"),N&&(N.style.display="none")})}}e.watch("metricsPoints",function(){n(w,50)})},Ga=function(e,t,o,r){let n=ht();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.entries=[],e.visible=[],e.available=!0,e.cap=1e3,e.total=0,e.pageSize=250,e.expanded={},e.detailTab={},e.copyHint="",e.parsedFilterCount=0,e.stats={last24h:0,prev24h:0,delta:0,severity:{error:0,warn:0,info:0},unique:{error:0,warn:0,info:0},buckets:[],dropped:0},e.query={search:"",bucket:"",sort:"recent",group:"code",autoRefresh:!0},e.relTime=N=>{if(!N)return"";let R=new Date(N).getTime();if(isNaN(R))return N;let I=Math.max(0,Date.now()-R),C=Math.floor(I/1e3);if(C<5)return"just now";if(C<60)return`${C}s ago`;let A=Math.floor(C/60);if(A<60)return`${A}m ago`;let P=Math.floor(A/60);if(P<24)return`${P}h ago`;let Z=Math.floor(P/24);return Z<7?`${Z}d ago`:new Date(N).toLocaleDateString()},e.absTime=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleString()},e.absTimeShort=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})};let i=/^[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+$/;function a(N,R){let I=N&&(N.httpStatus||N.status)||null;if(typeof I=="number"){if(I>=500)return"error";if(I===401||I===403||I===404)return"info";if(I>=400)return"warn"}return R==="error"?"error":R==="warn"?"warn":"info"}function u(N){let R=(N.raw||[]).find(P=>P&&typeof P=="object"&&!Array.isArray(P));if(R){R.message&&i.test(R.message)?(N.displayMessage=R.message,N.displayContext=N.message):R.code&&i.test(String(R.code))?(N.displayMessage=String(R.code),N.displayContext=N.message):R.name&&R.name!=="AnonymousError"&&R.name!=="Error"?(N.displayMessage=R.name,N.displayContext=R.message||N.message):N.displayMessage=N.message,N._status=R.httpStatus||R.status||null,N._url=R.url||null,N._method=R.method||null,N._repoId=R.repoId||R.detail||null,N._detail=R.detail&&R.detail!==N._repoId?R.detail:null;let P=typeof R.stack=="string"?R.stack:null;for(var I=[R.cause,R.err].filter(Boolean),C=0;!P&&C{j==null||j===""||I.push([Y,j])};C("name",R&&R.name),C("code",N.displayMessage||R&&R.message),N._bucket&&C("kind",N._bucket),C("httpStatus",R&&R.httpStatus),R&&R.status&&!R.httpStatus&&C("status",R.status),C("module",N.module);let A=R&&R.detail;if(typeof A=="string"){let Y=A.trim();if(Y[0]==="{"||Y[0]==="[")try{A=JSON.parse(A)}catch{}}if(C("detail",A),C("repoId",R&&R.repoId),C("filePath",R&&R.filePath),C("upstreamStatus",R&&R.upstreamStatus),C("upstreamBody",R&&R.upstreamBody),C("url",N._url),C("err",R&&R.err),C("cause",R&&!R.err&&R.cause),C("ts",N.ts),!I.length)return JSON.stringify(N,null,2);let P=I.reduce((Y,j)=>Math.max(Y,j[0].length),0),Z=["{"];return I.forEach(([Y,j],z)=>{let se=` ${`"${Y}":`.padEnd(P+3," ")} `,re=zme===0?he:_e+he).join(` `)}else typeof j=="number"||typeof j=="boolean"?ue=String(j):ue=JSON.stringify(j);Z.push(`${se}${ue}${re}`)}),Z.push("}"),Z.join(` `)}function h(N){let R=[],I="",C=/(\w+):(>=|<=|!=|>|<|=)?([^\s]+)/g,A=0,P;for(;P=C.exec(N);)I+=N.slice(A,P.index),A=C.lastIndex,R.push({key:P[1],op:P[2]||"=",val:P[3]});return I+=N.slice(A),{filters:R,free:I.trim().toLowerCase()}}function v(N,R){for(let I of R.filters){let C=(P,Z,Y)=>{let j=parseFloat(P),z=parseFloat(Z);return Y==="="?String(P)===String(Z):Y==="!="?String(P)!==String(Z):Y===">="?j>=z:Y==="<="?j<=z:Y===">"?j>z:Y==="<"?jR&&A._bucket!==R?!1:v(A,N)),C=e.query.group;if(C){let A=Y=>C==="module"?Y.module:Y.displayMessage||Y.message||"_",P=new Map;for(let Y of I){let j=A(Y);if(P.has(j)){let z=P.get(j);z.count++,z._related.push(Y),new Date(Y.ts)>new Date(z.ts)&&(z.ts=Y.ts,z._url=Y._url,z._status=Y._status),new Date(Y.ts)new Date(j.ts).getTime()>=Z).length;I=Array.from(P.values())}else I=I.map((A,P)=>(A._key="row:"+P+":"+A.ts,A._related=[A],A._firstSeen=A.ts,A._lastHourCount=0,A.count=1,A));e.query.sort==="count"?I.sort((A,P)=>P.count-A.count||new Date(P.ts)-new Date(A.ts)):I.sort((A,P)=>new Date(P.ts)-new Date(A.ts)),e.visible=I}function p(N){let R=N?e.entries.length:0,I=N?e.pageSize:Math.max(e.pageSize,e.entries.length||e.pageSize);t.get("/api/admin/errors",{params:{offset:R,limit:I}}).then(C=>{let A=(C.data.entries||[]).map(u);e.entries=N?e.entries.concat(A):A,e.available=!!C.data.available,e.cap=C.data.max||e.cap,e.total=C.data.total||e.entries.length,k()},C=>console.error(C))}e.loadMore=()=>p(!0),e.canLoadMore=()=>e.entries.length{let R=N.data||{},I=R.prev24h?Math.round((R.last24h-R.prev24h)/R.prev24h*100):0;e.stats={last24h:R.last24h||0,prev24h:R.prev24h||0,delta:I,severity:R.severity||{error:0,warn:0,info:0},unique:R.unique||{error:0,warn:0,info:0},buckets:R.buckets||[],dropped:R.dropped||0}},N=>console.error(N))}function w(){p(),g()}e.barPx=(N,R)=>{let I=e.stats.buckets||[],C=0;for(let Y of I)C=Math.max(C,(Y.error||0)+(Y.warn||0)+(Y.info||0));if(!C)return 0;let A=(N.error||0)+(N.warn||0)+(N.info||0);if(!A)return 0;let P=Math.round(A/C*60),Z=N[R]||0;return Math.round(Z/A*P)},e.bucketTitle=N=>`${new Date(N.hour).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})} \xB7 ${N.error||0} err \xB7 ${N.warn||0} warn \xB7 ${N.info||0} info`,e.toggle=N=>{e.expanded[N._key]=!e.expanded[N._key]},e.setBucket=N=>{e.query.bucket=N},e.refreshNow=w,e.clearAll=()=>{confirm("Clear all captured errors?")&&t.delete("/api/admin/errors").then(w,N=>console.error(N))},e.exportCsv=()=>{let N=["ts","level","module","displayMessage","_status","_url","_repoId"],R=[N.join(",")];for(let P of e.visible)R.push(N.map(Z=>{let Y=P[Z]==null?"":String(P[Z]);return/[",\n]/.test(Y)?`"${Y.replace(/"/g,'""')}"`:Y}).join(","));let I=new Blob([R.join(` -`)],{type:"text/csv;charset=utf-8"}),C=URL.createObjectURL(I),A=document.createElement("a");A.href=C,A.download=`errors-${new Date().toISOString().slice(0,19)}.csv`,document.body.appendChild(A),A.click(),document.body.removeChild(A),URL.revokeObjectURL(C)};function b(N){e.copyHint=`${N} copied`,n.timeout(()=>{e.copyHint=""},1500)}e.copyJson=N=>{navigator.clipboard.writeText(N._detailJson).then(()=>b("JSON"))},e.copyCurl=N=>{if(!N._url)return;let I=`curl -X ${N._method||"GET"} '${window.location.origin}${N._url}'`;navigator.clipboard.writeText(I).then(()=>b("curl"))},w();let T=r(()=>{e.query.autoRefresh&&w()},15e3);e.on("dispose",()=>r.cancel(T)),e.watch("query.search",k),e.watch("query.bucket",k),e.watch("query.sort",k),e.watch("query.group",k)},Ga=function(e,t,o,r){if(e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null){o.url("/");return}e.data=null,e.loading=!0,e.error=null;function n(p){if(p==null)return"\u2014";for(var g=["B","KB","MB","GB","TB"],w=0,b=p;b>=1024&&w0?1:0)+" "+g[w]}e.humanBytes=n;function i(p){if(!p)return"\u2014";var g=Math.floor(p/86400),w=Math.floor(p%86400/3600),b=Math.floor(p%3600/60);return g>0?g+"d "+(w<10?"0":"")+w+"h":w>0?w+"h "+(b<10?"0":"")+b+"m":b+"m"}e.humanDuration=i;function a(p){return p==null?"\u2014":p>=1e6?(p/1e6).toFixed(1)+"M":p>=1e3?(p/1e3).toFixed(1)+"K":String(p)}e.humanNum=a,e.queueTotal=function(p){return p?(p.waiting||0)+(p.active||0)+(p.delayed||0)+(p.failed||0):0},e.statusCount=function(p){if(!e.data||!e.data.repos)return 0;for(var g=e.data.repos.statusBreakdown||[],w=0;wh[w])&&(h[w]=g[w])})})},function(p){e.loading=!1,e.error=p.data&&p.data.error||"Failed to load overview"})}v();var k=r(v,3e4);e.on("dispose",function(){r.cancel(k)})};var ja=[{path:"/connections",template:"partials/connections.htm",title:"GitHub connections \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ma(e,t.http)},{path:"/signin",template:"partials/signin.htm",title:"Sign in \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>$a(e,t.http)},{path:"/",template:"partials/home.htm",title:"Anonymous GitHub \u2013 Share the code, not the author",preserveExplorer:!1,setup:(e,t)=>Ta(e,t.http,t.location,t.window,t.timeout)},{path:"/dashboard",template:"partials/dashboard.htm",title:"Your anonymizations \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Oa(e,t.http,t.location,t.promises,t.window,t.quotaService)},{path:"/pr-dashboard",redirect:"/dashboard"},{path:"/anonymize/:repoId?",template:"partials/anonymize.htm",title:"New anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Yn(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/pull-request-anonymize/:pullRequestId?",template:"partials/anonymize.htm",title:"Anonymize a pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Yn(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/gist-anonymize/:gistId?",template:"partials/anonymize.htm",title:"Anonymize a gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Yn(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/status/:repoId",template:"partials/status.htm",title:"Repository status \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Aa(e,t.http,t.params)},{path:"/conferences",template:"partials/conferences.htm",title:"Your conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Pa(e,t.http,t.location)},{path:"/conference/new",template:"partials/newConference.htm",title:"New conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Jo(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId/edit",template:"partials/newConference.htm",title:"Edit conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Jo(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId",template:"partials/conference.htm",title:"Conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>qa(e,t.http,t.location,t.params)},{path:"/faq",template:"partials/faq.htm",title:"FAQ \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Sa(e,t.http)},{path:"/profile",template:"partials/profile.htm",title:"Your settings \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Da(e,t.http,t.translate,t.timeout,t.quotaService)},{path:"/claim",template:"partials/claim.htm",title:"Claim an anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ra(e,t.http,t.location)},{path:"/pr/:pullRequestId/:path(.*)*",template:"partials/pullRequest.htm",title:"Anonymous pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ia(e,t.http,t.location,t.params,t.html)},{path:"/gist/:gistId/:path(.*)*",template:"partials/gist.htm",title:"Anonymous gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Va(e,t.http,t.location,t.params,t.html)},{path:"/r/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Yo(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/repository/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Yo(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/admin/",template:"partials/admin/overview.htm",title:"Admin \xB7 Overview \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ga(e,t.http,t.location,t.interval)},{path:"/admin/repositories",template:"partials/admin/repositories.htm",title:"Admin \xB7 Repositories \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ua(e,t.http,t.location)},{path:"/admin/users",template:"partials/admin/users.htm",title:"Admin \xB7 Users \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>La(e,t.http,t.location)},{path:"/admin/users/:username",template:"partials/admin/user.htm",title:"Admin \xB7 User details \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Fa(e,t.http,t.location,t.params)},{path:"/admin/conferences",template:"partials/admin/conferences.htm",title:"Admin \xB7 Conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>za(e,t.http,t.location)},{path:"/admin/queues",template:"partials/admin/queues.htm",title:"Admin \xB7 Queues \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ha(e,t.http,t.location,t.interval,t.timeout)},{path:"/admin/errors",template:"partials/admin/errors.htm",title:"Admin \xB7 Errors \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ba(e,t.http,t.location,t.interval)},{path:"/404",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",preserveExplorer:!1,setup:()=>{}},{path:"/:pathMatch(.*)*",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",setup:()=>{}}];var Hc={class:"container paper-page connections-page"},Bc={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Gc={key:1,role:"status"},jc=["disabled"],Wc={key:3},Kc={class:"connections-grid"},Yc={key:0},Jc={class:"connection-title"},Qc={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Xc={class:"connection-actions"},Zc={key:0,class:"btn btn-ink",target:"_self",href:"/github/app/install"},xc={key:1,class:"connection-installations"},ep={key:0},tp=["href"],sp={class:"sr-only"},np=["disabled"],op={class:"connection-title"},rp={key:0,target:"_self",href:"/github/login",class:"btn btn-outline-ink"},ip={key:1,class:"connection-revoke"},ap={key:0},lp=["disabled"],dp={class:"connection-resources"},up={class:"connection-title"},cp={class:"connection-count"},pp={key:0,class:"connection-empty"},fp={class:"connection-resource-name"},mp={key:0,class:"connection-resource-actions"},hp=["disabled","onClick"],vp=["disabled","onClick"],yp={key:1,class:"connection-help",role:"status"},gp=["disabled","onClick"];function Wa(e,t){return l(),d("div",Hc,[t[20]||(t[20]=ge('
My work / GitHub connections

GitHub connections

Manage how GitHub shares your code. Your anonymizations and URLs stay the same.

',2)),e.connectionError?(l(),d("p",Bc,c(e.connectionError),1)):f("v-if",!0),!e.connections&&!e.connectionError?(l(),d("p",Gc,"Loading your connections\u2026")):f("v-if",!0),!e.connections&&e.connectionError?(l(),d("button",{key:2,class:"btn btn-outline-ink",disabled:e.busy,onClick:t[0]||(t[0]=o=>e.loadConnections())},"Try again",8,jc)):f("v-if",!0),e.connections?(l(),d("div",Wc,[s("div",Kc,[e.connections.appEnabled?(l(),d("section",Yc,[t[8]||(t[8]=s("div",{class:"connection-top"},[s("i",{class:"fab fa-github","aria-hidden":"true"}),s("span",{class:"connection-badge"},"Recommended")],-1)),s("div",Jc,[t[3]||(t[3]=s("h2",null,"GitHub App",-1)),s("span",{class:O(["connection-status",{"is-connected":e.connections.appConnected&&!e.connections.appError}])},c(e.connections.appError?"Needs attention":e.connections.appConnected?"Connected":"Not connected"),3)]),t[9]||(t[9]=s("p",null,"Read-only access to the repositories you choose.",-1)),e.connections.appError?(l(),d("p",Qc,c(e.connections.appError)+". Reconnect to restore access.",1)):f("v-if",!0),s("div",Xc,[e.connections.appConnected&&!e.connections.appError?(l(),d("a",Zc,[...t[4]||(t[4]=[y("Manage repository access ",-1),s("i",{class:"fas fa-external-link-alt","aria-hidden":"true"},null,-1)])])):f("v-if",!0),s("a",{class:O(e.connections.appConnected&&!e.connections.appError?"connection-link":"btn btn-ink"),target:"_self",href:"/github/app/login"},c(e.connections.appConnected?"Reconnect account":"Connect GitHub account"),3)]),t[10]||(t[10]=s("p",{class:"connection-help"},"Choose repositories on GitHub. Organization access may need an administrator's approval.",-1)),e.connections.installations?.length?(l(),d("ul",xc,[(l(!0),d(J,null,ne(e.connections.installations,o=>(l(),d("li",{key:o.id},[s("div",null,[s("strong",null,c(o.account),1),o.suspended?(l(),d("span",ep," \xB7 Suspended")):f("v-if",!0)]),s("a",{target:"_self",href:"/github/app/install?installationId="+o.id},[t[5]||(t[5]=y("Manage access ",-1)),s("span",sp,"for "+c(o.account),1),t[6]||(t[6]=y(" \u2192",-1))],8,tp)]))),128))])):f("v-if",!0),s("button",{class:"connection-link",disabled:e.busy,onClick:t[1]||(t[1]=o=>e.loadConnections())},[...t[7]||(t[7]=[s("i",{class:"fas fa-sync-alt","aria-hidden":"true"},null,-1),y(" Refresh access",-1)])],8,np)])):f("v-if",!0),s("section",null,[t[13]||(t[13]=s("div",{class:"connection-top"},[s("i",{class:"fas fa-key","aria-hidden":"true"}),s("span",{class:"connection-badge connection-badge-muted"},"Legacy")],-1)),s("div",op,[t[11]||(t[11]=s("h2",null,"GitHub OAuth",-1)),s("span",{class:O(["connection-status",{"is-connected":e.connections.oauthConnected}])},c(e.connections.oauthConnected?"Connected":"Not connected"),3)]),t[14]||(t[14]=s("p",null,"For existing OAuth anonymizations and gists.",-1)),t[15]||(t[15]=s("p",{class:"connection-help"},"This connection uses GitHub's broader repository permissions. Existing work keeps using it until you switch below.",-1)),e.connections.oauthEnabled?(l(),d("a",rp,c(e.connections.oauthConnected?"Reconnect OAuth":"Connect legacy OAuth"),1)):f("v-if",!0),e.connections.oauthConnected?(l(),d("div",ip,[e.connections.gistCount?(l(),d("p",ap,c(e.connections.gistCount)+" gist(s) still require OAuth.",1)):f("v-if",!0),t[12]||(t[12]=s("p",null,"Switch all dependent repositories before revoking access. Gists still require OAuth.",-1)),e.connections.appConnected?(l(),d("button",{key:1,class:"connection-link connection-danger",disabled:e.busy||e.connections.gistCount||e.connections.resources.some(o=>o.connection==="oauth"),onClick:t[2]||(t[2]=o=>e.disconnectOAuth())},"Revoke OAuth access",8,lp)):f("v-if",!0)])):f("v-if",!0)])]),s("section",dp,[s("div",up,[t[16]||(t[16]=s("h2",null,"Repository connections",-1)),s("span",cp,c(e.connections.resources?.length||0)+" resources",1)]),t[18]||(t[18]=s("p",null,"Check access, then switch each resource to the GitHub App. After reinstalling the App, reconnect existing resources here to keep their anonymous URLs and published snapshots.",-1)),e.connections.resources?.length?f("v-if",!0):(l(),d("div",pp,[...t[17]||(t[17]=[s("i",{class:"fas fa-code-branch","aria-hidden":"true"},null,-1),s("div",null,[s("h3",null,"No repository connections yet"),s("p",null,"Your repositories and pull requests will appear here once you anonymize them.")],-1),s("a",{class:"connection-link",href:"/anonymize"},"New anonymization \u2192",-1)])])),(l(!0),d(J,null,ne(e.connections.resources,o=>(l(),d("div",{class:"connection-resource",key:o.type+o.id},[s("div",fp,[s("strong",null,c(o.name||o.id),1),s("small",null,c(o.type)+" \xB7 "+c(o.id),1)]),s("span",{class:O(["connection-badge",{"connection-badge-muted":o.connection==="oauth"}])},c(o.connection==="github-app"?"Read-only App":"Legacy OAuth"),3),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&e.connections.appEnabled&&e.connections.appConnected?(l(),d("div",mp,[s("button",{class:"btn btn-outline-ink",disabled:e.busy,onClick:r=>e.changeConnection(o,"github-app",!0)},"Check read-only access",8,hp),o.eligible?(l(),d("button",{key:0,class:"btn btn-ink",disabled:e.busy,onClick:r=>e.changeConnection(o,"github-app",!1)},c(o.connection==="github-app"?"Reconnect read-only access":"Switch to read-only access"),9,vp)):f("v-if",!0),o.eligible===!1?(l(),d("span",yp,"Access unavailable. Allow this repository on GitHub, then check again.")):f("v-if",!0)])):f("v-if",!0),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&o.connection==="github-app"&&e.connections.oauthConnected?(l(),d("button",{key:1,class:"connection-link",disabled:e.busy,onClick:r=>e.changeConnection(o,"oauth",!1)},"Use OAuth",8,gp)):f("v-if",!0)]))),128)),t[19]||(t[19]=s("p",{class:"connection-footnote"},[s("i",{class:"fas fa-info-circle","aria-hidden":"true"}),y(" Removing access stops new fetches from GitHub. Published content keeps its current expiration and removal settings.")],-1))])])):f("v-if",!0)])}var bp={class:"container paper-page auth-page"},wp={class:"auth-layout"},kp={class:"auth-options"},_p={key:0},Ep={key:0,class:"btn btn-ink auth-continue",target:"_self",href:"/github/login?recover=1"},Cp={key:1},Np={key:1},Sp={key:2,class:"auth-legacy"},Dp={key:3,role:"status"};function Ka(e,t){return l(),d("div",bp,[t[5]||(t[5]=s("a",{class:"auth-back",href:"/"},[s("i",{class:"fas fa-arrow-left","aria-hidden":"true"}),y(" Anonymous GitHub")],-1)),s("div",wp,[t[4]||(t[4]=ge('
Your research, ready for review

Your code.
Your identity,
protected.
Sign in to GitHub

Sign in to create and manage your anonymizations.

',1)),s("div",kp,[e.accountRecovery?(l(),d("section",_p,[t[0]||(t[0]=s("h2",null,"Verify your existing account",-1)),t[1]||(t[1]=s("p",null,"We found an existing account. Verify it with your previous GitHub connection to keep your anonymizations. Future sign-ins will use the GitHub App.",-1)),e.site_options?.GITHUB_OAUTH_ENABLED?(l(),d("a",Ep,"Verify with previous GitHub connection")):(l(),d("p",Cp,"Account verification is currently unavailable. Please try again later."))])):f("v-if",!0),e.site_options?.GITHUB_APP_ENABLED&&!e.accountRecovery?(l(),d("section",Np,[...t[2]||(t[2]=[ge('
Read-only access

Continue with GitHub

Connect through the GitHub App with read-only repository access.

  • You choose which repositories to share
  • No permission to write to your code
Sign in with GitHub Your existing anonymizations and connections stay with your account.',6)])])):f("v-if",!0),!e.site_options?.GITHUB_APP_ENABLED&&e.site_options?.GITHUB_OAUTH_ENABLED&&!e.accountRecovery?(l(),d("section",Sp,[...t[3]||(t[3]=[s("div",{class:"connection-title"},[s("h2",null,"Continue with GitHub")],-1),s("p",null,"Sign in to access your account. GitHub OAuth includes write access to private repositories.",-1),s("a",{class:"connection-link",target:"_self",href:"/github/login"},[y("Sign in with GitHub "),s("i",{class:"fas fa-arrow-right","aria-hidden":"true"})],-1)])])):f("v-if",!0),e.site_options&&!e.site_options.GITHUB_APP_ENABLED&&!e.site_options.GITHUB_OAUTH_ENABLED?(l(),d("p",Dp,"GitHub sign-in is currently unavailable. Please try again later.")):f("v-if",!0)])])])}var Rp={class:"paper-empty"};function Ya(e,t){return l(),d("div",Rp,[...t[0]||(t[0]=[ge('
Error \xB7 404

This link
isn\u2019t here.

The anonymous mirror you\u2019re looking for has expired, been removed by its owner, or never existed. If you received this URL from an author, ask them to re-issue it.

',1)])])}var Tp={class:"container paper-page admin-page"},Op={class:"admin-summary"},Ap={class:"summary-total"},Ip={class:"count"},Vp={class:"count"},Pp={class:"count"},qp={class:"count"},Mp={class:"count"},$p={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},Up={class:"w-100 admin-filter-toolbar","aria-label":"Conferences","accept-charset":"UTF-8"},Lp={class:"admin-filter-row"},Fp={class:"search-wrap"},zp={type:"search",class:"form-control",placeholder:"Search conferences\u2026",autocomplete:"off"},Hp={key:0,class:"admin-search-hint"},Bp={class:"admin-filter-inline","aria-label":"Pagination"},Gp=["disabled"],jp={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},Wp=["disabled"],Kp={key:0,class:"admin-filter-row"},Yp={class:"admin-active-chips"},Jp={class:"key"},Qp=["onClick"],Xp={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},Zp={class:"paper-table-head",role:"row"},xp={role:"columnheader"},ef={role:"columnheader"},tf={role:"columnheader"},sf={class:"paper-table-row",role:"row"},nf={class:"cell-anon",role:"cell"},of={class:"anon-text"},rf=["textContent","href"],af={class:"anon-sub"},lf={class:"cell-status",role:"cell"},df=["textContent"],uf={class:"cell-views num",role:"cell"},cf=["textContent","href"],pf={class:"cell-expires",role:"cell"},ff={class:"cell-actions",role:"cell"},mf={class:"dropdown"},hf={class:"dropdown-menu dropdown-menu-right"},vf=["href"],yf=["href"],gf=["href"],bf=["onClick"],wf={key:0,class:"paper-table-empty"},kf={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},_f={style:{"font-size":"12px",color:"var(--ink-muted)"}},Ef={key:0,class:"pagination-compact"},Cf=["disabled"],Nf=["max"],Sf=["disabled"],Df={class:"admin-filter-inline"},Rf={class:"form-control form-control-sm"};function Ja(e,t){let o=be("field"),r=be("form");return l(),d("div",Tp,[t[42]||(t[42]=ge('
Admin \xA0/\xA0 Conferences

Conferences

',3)),s("div",Op,[s("span",Ap,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),s("span",{class:O(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=n=>{e.query.ready=!e.query.ready,e.query.page=1})},[t[13]||(t[13]=y("Ready ",-1)),s("span",Ip,c(e.fmt?.number(e.statusCountFor("ready"))),1)],2),s("span",{class:O(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=n=>{e.query.preparing=!e.query.preparing,e.query.page=1})},[t[14]||(t[14]=y("Preparing ",-1)),s("span",Vp,c(e.fmt?.number(e.statusCountFor("preparing"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=n=>{e.query.error=!e.query.error,e.query.page=1})},[t[15]||(t[15]=y("Errored ",-1)),s("span",Pp,c(e.fmt?.number(e.statusCountFor("error"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=n=>{e.query.expired=!e.query.expired,e.query.page=1})},[t[16]||(t[16]=y("Expired ",-1)),s("span",qp,c(e.fmt?.number(e.statusCountFor("expired"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.removed}]),title:"Toggle removed filter",onClick:t[4]||(t[4]=n=>{e.query.removed=!e.query.removed,e.query.page=1})},[t[17]||(t[17]=y("Removed ",-1)),s("span",Mp,c(e.fmt?.number(e.statusCountFor("removed"))),1)],2)]),e.fetchError?(l(),d("div",$p,[t[18]||(t[18]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fetchError),1)])):f("v-if",!0),E((l(),d("form",Up,[s("div",Lp,[s("div",Fp,[E(s("input",zp,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",Hp,"/"))]),t[22]||(t[22]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",onClick:t[5]||(t[5]=n=>e.exportCsv())},[...t[19]||(t[19]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])]),s("span",Bp,[s("button",{class:"btn btn-sm",type:"button",onClick:t[6]||(t[6]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[20]||(t[20]=[s("i",{class:"fas fa-chevron-left"},null,-1)])],8,Gp),s("span",jp,c(e.query?.page)+"/"+c(e.totalPage||1),1),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[21]||(t[21]=[s("i",{class:"fas fa-chevron-right"},null,-1)])],8,Wp)])]),e.chips?.length?(l(),d("div",Kp,[s("div",Yp,[(l(!0),d(J,null,ne(e.chips,(n,i)=>(l(),d("span",{class:"admin-active-chip",key:n?.key},[s("span",Jp,c(n?.label),1),s("span",null,c(n?.value),1),s("button",{type:"button",onClick:a=>e.clearFilter(n.key)},[...t[23]||(t[23]=[s("i",{class:"fas fa-times"},null,-1)])],8,Qp)]))),128))])])):f("v-if",!0)])),[[r,e.viewState]]),s("div",Xp,[s("div",Zp,[s("div",xp,[s("span",{class:O(["sortable",{active:e.query?.sort=="name"}]),onClick:t[8]||(t[8]=n=>e.sortBy("name"))},[t[24]||(t[24]=y("Conference ",-1)),s("i",{class:O(["fas",e.sortIcon("name")])},null,2)],2)]),s("div",ef,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[9]||(t[9]=n=>e.sortBy("status"))},[t[25]||(t[25]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),t[27]||(t[27]=s("div",{role:"columnheader",class:"num"},"Repos",-1)),s("div",tf,[s("span",{class:O(["sortable",{active:e.query?.sort=="startDate"}]),onClick:t[10]||(t[10]=n=>e.sortBy("startDate"))},[t[26]||(t[26]=y("Window ",-1)),s("i",{class:O(["fas",e.sortIcon("startDate")])},null,2)],2)]),t[28]||(t[28]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredConferences,(n,i)=>(l(),d("div",sf,[s("div",nf,[t[30]||(t[30]=s("span",{class:"type-badge type-repo"},"Conf",-1)),s("div",of,[s("a",{class:"repo-name",textContent:c(n?.name),href:e.safeUrl("/conference/"+n?.conferenceID)},null,8,rf),s("div",af,[s("span",null,c(n?.conferenceID),1),t[29]||(t[29]=y("\xA0\xB7\xA0",-1)),s("span",null,c(e.fmt?.number(n?.price||0))+" \u20AC",1)])])]),s("div",lf,[s("span",{class:O(["status-dot",{"status-removed":n?.status=="removed"||n?.status=="expired","status-ready":n?.status=="ready","status-error":n?.status=="error","status-preparing":n?.status=="preparing"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,df)]),s("div",uf,[s("a",{title:"Show repositories in this conference",textContent:c(e.fmt?.number(n?.repositories?.length||0)),href:e.safeUrl("/admin/?conference="+n?.conferenceID)},null,8,cf)]),s("div",pf,c(e.fmt?.date(n?.startDate))+" \u2013 "+c(e.fmt?.date(n?.endDate)),1),s("div",ff,[s("div",mf,[t[36]||(t[36]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",hf,[s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/edit")},[...t[31]||(t[31]=[s("i",{class:"far fa-edit"},null,-1),y(" Edit",-1)])],8,vf),s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/")},[...t[32]||(t[32]=[s("i",{class:"fa fa-eye"},null,-1),y(" View",-1)])],8,yf),s("a",{class:"dropdown-item",href:e.safeUrl("/admin/?conference="+n?.conferenceID)},[...t[33]||(t[33]=[s("i",{class:"fas fa-code-branch"},null,-1),y(" View repositories",-1)])],8,gf),t[35]||(t[35]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:we(a=>e.removeConference(n),["prevent"])},[...t[34]||(t[34]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,bf),[[B,n?.status!="removed"]])])])])]))),256)),e.filteredConferences?.length==0?(l(),d("div",wf,[...t[37]||(t[37]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No conferences match the current filters.",-1)])])):f("v-if",!0)]),s("div",kf,[s("span",_f,c(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",Ef,[s("button",{class:"btn btn-sm",onClick:t[11]||(t[11]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[38]||(t[38]=[s("i",{class:"fas fa-chevron-left"},null,-1),y(" Previous",-1)])],8,Cf),E(s("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,Nf),[[o,{state:e.viewState,set:n=>{e.query.page=n},value:e.query?.page,form:null,options:{}}]]),s("span",null,"of "+c(e.totalPage),1),s("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[39]||(t[39]=[y("Next ",-1),s("i",{class:"fas fa-chevron-right"},null,-1)])],8,Sf)])):f("v-if",!0),s("span",Df,[t[41]||(t[41]=s("label",null,"Per page",-1)),E((l(),d("select",Rf,[...t[40]||(t[40]=[ge('',5)])])),[[o,{state:e.viewState,set:n=>{e.query.limit=n},value:e.query?.limit,form:null,options:{}}]])])])])}var Tf={class:"container paper-page admin-page errors-page"},Of={class:"errors-header"},Af={class:"errors-actions"},If={class:"kpi-grid"},Vf={class:"kpi-card"},Pf={class:"kpi-value"},qf={key:0},Mf={key:1},$f={class:"kpi-card kpi-error"},Uf={class:"kpi-value"},Lf={class:"kpi-sub"},Ff={class:"kpi-card kpi-warn"},zf={class:"kpi-value"},Hf={class:"kpi-sub"},Bf={class:"kpi-card kpi-info"},Gf={class:"kpi-value"},jf={class:"kpi-sub"},Wf={class:"kpi-value"},Kf={class:"kpi-sub"},Yf={key:0,class:"dropped-warn"},Jf={class:"volume-chart"},Qf={class:"volume-bars"},Xf=["title"],Zf={class:"errors-toolbar","aria-label":"Error filters"},xf={class:"seg-tabs"},em={class:"search-wrap"},tm={type:"search",class:"form-control",placeholder:"code:repo_not_found module:route status:>=400",autocomplete:"off"},sm={key:0,class:"filter-count"},nm={class:"select-wrap"},om={class:"form-control form-control-sm"},rm={class:"select-wrap"},im={class:"form-control form-control-sm"},am={class:"autoref"},lm={type:"checkbox"},dm={key:0,class:"admin-empty"},um={key:1,class:"errors-pager"},cm={key:2,class:"errors-list"},pm=["onClick"],fm={class:"col-when"},mm={class:"when-rel"},hm={class:"when-abs"},vm={class:"col-sev"},ym={class:"sev-label"},gm={class:"col-mod"},bm={class:"pill pill-module"},wm={class:"col-msg"},km={class:"msg-code"},_m={key:0,class:"msg-context"},Em={key:1,class:"msg-detail"},Cm={key:2,class:"msg-url"},Nm={class:"col-count"},Sm={key:0,class:"count-pill"},Dm={key:1,class:"count-pill count-pill-muted"},Rm={class:"col-status"},Tm={key:0,class:"errors-row-detail"},Om={class:"detail-tabs"},Am=["onClick"],Im=["onClick"],Vm=["onClick"],Pm={class:"detail-body"},qm={class:"detail-main"},Mm={key:0},$m={key:1,class:"stack-pre"},Um={key:2,class:"related-list"},Lm={class:"when-abs"},Fm={class:"msg-url"},zm={class:"detail-actions"},Hm=["onClick"],Bm=["onClick"],Gm={key:0,class:"copy-hint"},jm={class:"detail-aside"},Wm={class:"aside-block"},Km=["title"],Ym={class:"aside-block"},Jm=["title"],Qm={class:"aside-block"},Xm={class:"aside-value"},Zm={key:0,class:"aside-sub"},xm={key:0,class:"aside-block"},eh=["href"],th={key:1,class:"aside-block"},sh={class:"aside-value mono"};function Qa(e,t){let o=be("field"),r=be("form");return l(),d("div",Tf,[t[32]||(t[32]=s("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),s("span",{class:"here"},"Errors")],-1)),s("header",Of,[t[10]||(t[10]=s("h1",{class:"paper-page-title"},"Errors",-1)),s("div",Af,[s("button",{class:"btn btn-sm",type:"button",onClick:t[0]||(t[0]=n=>e.exportCsv())},[...t[8]||(t[8]=[s("i",{class:"fas fa-file-export"},null,-1),y(" Export CSV",-1)])]),s("button",{class:"btn btn-sm btn-danger",type:"button",onClick:t[1]||(t[1]=n=>e.clearAll())},[...t[9]||(t[9]=[s("i",{class:"fas fa-trash"},null,-1),y(" Clear all",-1)])])])]),t[33]||(t[33]=ge('',1)),s("section",If,[s("div",Vf,[t[11]||(t[11]=s("div",{class:"kpi-label"},"Last 24h",-1)),s("div",Pf,c(e.stats?.last24h),1),s("div",{class:O(["kpi-sub",{up:e.stats?.delta>0,down:e.stats?.delta<0}])},[e.stats?.prev24h?(l(),d("span",qf,c(e.stats?.delta>0?"+":"")+c(e.stats?.delta)+"% vs yesterday",1)):f("v-if",!0),e.stats?.prev24h?f("v-if",!0):(l(),d("span",Mf,"no prior baseline"))],2)]),s("div",$f,[t[12]||(t[12]=s("div",{class:"kpi-label"},"Errors (5xx)",-1)),s("div",Uf,c(e.stats?.severity?.error),1),s("div",Lf,c(e.stats?.unique?.error)+" unique",1)]),s("div",Ff,[t[13]||(t[13]=s("div",{class:"kpi-label"},"Warnings (4xx)",-1)),s("div",zf,c(e.stats?.severity?.warn),1),s("div",Hf,c(e.stats?.unique?.warn)+" unique",1)]),s("div",Bf,[t[14]||(t[14]=s("div",{class:"kpi-label"},"Info (auth, 404)",-1)),s("div",Gf,c(e.stats?.severity?.info),1),s("div",jf,c(e.stats?.unique?.info)+" unique",1)]),s("div",{class:O(["kpi-card",{"kpi-error":e.stats?.dropped>0}])},[t[15]||(t[15]=s("div",{class:"kpi-label"},"Captured",-1)),s("div",Wf,c(e.total),1),s("div",Kf,[y(" cap "+c(e.cap)+" \xB7 "+c(e.available?"live":"redis off")+" ",1),e.stats?.dropped>0?(l(),d("span",Yf," \xB7 "+c(e.stats?.dropped)+" dropped",1)):f("v-if",!0)])],2)]),s("section",Jf,[t[16]||(t[16]=ge('
Volume \xB7 24h \xB7 1h bucketserror warn info
',1)),s("div",Qf,[(l(!0),d(J,null,ne(e.stats?.buckets,(n,i)=>(l(),d("div",{class:"volume-bar",key:i,title:e.bucketTitle(n)},[s("span",{class:"seg seg-error",style:Pe({height:e.barPx(n,"error")+"px"})},null,4),s("span",{class:"seg seg-warn",style:Pe({height:e.barPx(n,"warn")+"px"})},null,4),s("span",{class:"seg seg-info",style:Pe({height:e.barPx(n,"info")+"px"})},null,4)],8,Xf))),128))])]),E((l(),d("form",Zf,[s("div",xf,[s("button",{type:"button",class:O({active:e.query?.bucket===""}),onClick:t[2]||(t[2]=n=>e.setBucket(""))},"All",2),s("button",{type:"button",class:O({active:e.query?.bucket==="error"}),onClick:t[3]||(t[3]=n=>e.setBucket("error"))},"5xx",2),s("button",{type:"button",class:O({active:e.query?.bucket==="warn"}),onClick:t[4]||(t[4]=n=>e.setBucket("warn"))},"4xx",2),s("button",{type:"button",class:O({active:e.query?.bucket==="info"}),onClick:t[5]||(t[5]=n=>e.setBucket("info"))},"Info",2)]),s("div",em,[t[17]||(t[17]=s("i",{class:"fas fa-search search-icon"},null,-1)),E(s("input",tm,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.parsedFilterCount?(l(),d("span",sm,c(e.parsedFilterCount)+" filter"+c(e.parsedFilterCount>1?"s":""),1)):f("v-if",!0)]),s("div",nm,[t[19]||(t[19]=s("label",null,"Sort",-1)),E((l(),d("select",om,[...t[18]||(t[18]=[s("option",{value:"recent"},"Most recent",-1),s("option",{value:"count"},"Most frequent",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.sort=n},value:e.query?.sort,form:null,options:{}}]])]),s("div",rm,[t[21]||(t[21]=s("label",null,"Group",-1)),E((l(),d("select",im,[...t[20]||(t[20]=[s("option",{value:""},"Off",-1),s("option",{value:"code"},"By code",-1),s("option",{value:"module"},"By module",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.group=n},value:e.query?.group,form:null,options:{}}]])]),s("label",am,[E(s("input",lm,null,512),[[o,{state:e.viewState,set:n=>{e.query.autoRefresh=n},value:e.query?.autoRefresh,form:null,options:{}}]]),t[22]||(t[22]=y(" Auto-refresh ",-1))]),s("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[6]||(t[6]=n=>e.refreshNow())},[...t[23]||(t[23]=[s("i",{class:"fas fa-sync"},null,-1)])])])),[[r,e.viewState]]),e.visible?.length?f("v-if",!0):(l(),d("div",dm,"No errors captured.")),e.canLoadMore()&&e.visible?.length?(l(),d("div",um,[s("span",null,"Showing "+c(e.entries?.length)+" of "+c(e.total)+" captured",1),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>e.loadMore())},"Load older")])):f("v-if",!0),e.visible?.length?(l(),d("div",cm,[t[31]||(t[31]=ge('
WhenSeverityModuleMessageCountStatus
',1)),(l(!0),d(J,null,ne(e.visible,(n,i)=>(l(),d("div",{class:O(["errors-row",{open:e.expanded[n?._key]}]),key:n?._key},[s("div",{class:"errors-row-main",onClick:a=>e.toggle(n)},[s("div",fm,[s("div",mm,c(e.relTime(n?.ts)),1),s("div",hm,c(e.absTimeShort(n?.ts)),1)]),s("div",vm,[s("span",{class:O(["sev-dot","sev-"+n?._bucket])},null,2),s("span",ym,c(e.fmt?.uppercase(n?._bucket)),1)]),s("div",gm,[s("span",bm,c(n?.module),1)]),s("div",wm,[s("strong",km,c(n?.displayMessage),1),n?.displayContext&&n?.displayContext!==n?.displayMessage?(l(),d("span",_m,c(n?.displayContext),1)):f("v-if",!0),n?._detail?(l(),d("span",Em,c(n?._detail),1)):f("v-if",!0),n?._url?(l(),d("div",Cm,c(n?._url),1)):f("v-if",!0)]),s("div",Nm,[n?.count>1?(l(),d("span",Sm,"\xD7"+c(n?.count),1)):f("v-if",!0),n?.count===1?(l(),d("span",Dm,"\xD71")):f("v-if",!0)]),s("div",Rm,[n?._status?(l(),d("span",{key:0,class:O(["status-pill","status-"+n?._bucket])},c(n?._status),3)):f("v-if",!0)])],8,pm),e.expanded[n?._key]?(l(),d("div",Tm,[s("div",Om,[s("button",{type:"button",class:O({active:e.detailTab[n?._key]==="raw"||!e.detailTab[n?._key]}),onClick:a=>e.detailTab[n._key]="raw"},"Raw",10,Am),n?._stack?(l(),d("button",{key:0,type:"button",class:O({active:e.detailTab[n?._key]==="stack"}),onClick:a=>e.detailTab[n._key]="stack"},"Stack",10,Im)):f("v-if",!0),n?.count>1?(l(),d("button",{key:1,type:"button",class:O({active:e.detailTab[n?._key]==="related"}),onClick:a=>e.detailTab[n._key]="related"},"Related ("+c(n?.count)+")",11,Vm)):f("v-if",!0)]),s("div",Pm,[s("div",qm,[(e.detailTab[n?._key]||"raw")==="raw"?(l(),d("pre",Mm,c(n?._detailJson),1)):f("v-if",!0),e.detailTab[n?._key]==="stack"?(l(),d("pre",$m,c(n?._stack),1)):f("v-if",!0),e.detailTab[n?._key]==="related"?(l(),d("div",Um,[(l(!0),d(J,null,ne(n?._related,(a,u)=>(l(),d("div",{class:"related-row",key:u},[s("span",Lm,c(e.absTimeShort(a?.ts)),1),s("span",Fm,c(a?._url),1),a?._status?(l(),d("span",{key:0,class:O(["status-pill","status-"+a?._bucket])},c(a?._status),3)):f("v-if",!0)]))),128))])):f("v-if",!0),s("div",zm,[s("button",{class:"btn btn-sm",type:"button",title:"Copy a curl that reproduces the request",onClick:a=>e.copyCurl(n)},[...t[24]||(t[24]=[s("i",{class:"fas fa-terminal"},null,-1),y(" Copy curl",-1)])],8,Hm),s("button",{class:"btn btn-sm",type:"button",onClick:a=>e.copyJson(n)},[...t[25]||(t[25]=[s("i",{class:"fas fa-clipboard"},null,-1),y(" Copy JSON",-1)])],8,Bm),e.copyHint?(l(),d("span",Gm,c(e.copyHint),1)):f("v-if",!0)])]),s("aside",jm,[s("div",Wm,[t[26]||(t[26]=s("div",{class:"aside-label"},"First seen",-1)),s("div",{class:"aside-value",title:e.absTime(n?._firstSeen)},c(e.relTime(n?._firstSeen)),9,Km)]),s("div",Ym,[t[27]||(t[27]=s("div",{class:"aside-label"},"Last seen",-1)),s("div",{class:"aside-value",title:e.absTime(n?.ts)},c(e.relTime(n?.ts)),9,Jm)]),s("div",Qm,[t[28]||(t[28]=s("div",{class:"aside-label"},"Occurrences",-1)),s("div",Xm,[y(c(n?.count),1),n?._lastHourCount?(l(),d("span",Zm," \xB7 "+c(n?._lastHourCount)+" this hour",1)):f("v-if",!0)])]),n?._repoId?(l(),d("div",xm,[t[29]||(t[29]=s("div",{class:"aside-label"},"Repository",-1)),s("a",{class:"aside-value",href:e.safeUrl("/r/"+n?._repoId)},c(n?._repoId),9,eh)])):f("v-if",!0),n?._url?(l(),d("div",th,[t[30]||(t[30]=s("div",{class:"aside-label"},"URL",-1)),s("div",sh,c(n?._url),1)])):f("v-if",!0)])])])):f("v-if",!0)],2))),128))])):f("v-if",!0)])}var nh={class:"container paper-page admin-page overview-page"},oh={key:0,class:"admin-empty"},rh={key:1,class:"alert alert-danger",style:{margin:"12px 0"}},ih={key:2},ah={class:"ov-kpi-row"},lh={class:"ov-kpi-card"},dh={class:"ov-kpi-value"},uh={class:"ov-kpi-sub"},ch={class:"ov-kpi-card"},ph={class:"ov-kpi-sub"},fh={class:"ov-kpi-card"},mh={class:"ov-kpi-sub"},hh={class:"ov-kpi-card"},vh={class:"ov-kpi-sub"},yh={class:"ov-kpi-card"},gh={class:"ov-kpi-value"},bh={class:"ov-kpi-sub"},wh={class:"ov-daily-row"},kh={class:"ov-daily-card"},_h={class:"ov-daily-value"},Eh={class:"ov-daily-card"},Ch={class:"ov-daily-value"},Nh={class:"ov-daily-sub"},Sh={class:"ov-daily-card"},Dh={class:"ov-daily-value"},Rh={class:"ov-chart-row"},Th={class:"ov-chart-card"},Oh={key:0,class:"ov-spark-bars"},Ah=["data-tip","aria-label"],Ih={key:1,class:"ov-spark-x"},Vh={class:"ov-chart-card"},Ph={key:0,class:"ov-spark-bars"},qh=["data-tip","aria-label"],Mh={key:1,class:"ov-spark-x"},$h={class:"ov-chart-card"},Uh={key:0,class:"ov-spark-bars"},Lh=["data-tip","aria-label"],Fh={key:1,class:"ov-spark-x"},zh={class:"ov-chart-card"},Hh={key:0,class:"ov-spark-bars"},Bh=["data-tip","aria-label"],Gh={key:1,class:"ov-spark-x"},jh={class:"ov-triple-row"},Wh={class:"ov-panel-card"},Kh={class:"ov-panel-head"},Yh={class:"ov-panel-meta"},Jh={class:"ov-stacked-bar"},Qh={class:"ov-bar-legend"},Xh={href:"/admin/repositories",class:"ov-legend-item"},Zh={class:"ov-legend-n"},xh={href:"/admin/repositories",class:"ov-legend-item"},ev={class:"ov-legend-n"},tv={href:"/admin/repositories",class:"ov-legend-item"},sv={class:"ov-legend-n"},nv={href:"/admin/repositories",class:"ov-legend-item"},ov={class:"ov-legend-n"},rv={href:"/admin/repositories",class:"ov-legend-item"},iv={class:"ov-legend-n"},av={class:"ov-panel-card"},lv={class:"ov-panel-head"},dv={class:"ov-panel-meta"},uv={class:"ov-error-bars"},cv={class:"ov-ebar-row"},pv={class:"ov-ebar-track"},fv={class:"ov-ebar-n"},mv={class:"ov-ebar-row"},hv={class:"ov-ebar-track"},vv={class:"ov-ebar-n"},yv={class:"ov-ebar-row"},gv={class:"ov-ebar-track"},bv={class:"ov-ebar-n"},wv={key:0,class:"ov-panel-foot"},kv={href:"/admin/errors"},_v={class:"ov-panel-card"},Ev={class:"ov-routes-table"},Cv={class:"ov-route-row",href:"/admin/queues"},Nv={class:"ov-route-n"},Sv={class:"ov-route-n"},Dv={class:"ov-route-row",href:"/admin/queues"},Rv={class:"ov-route-n"},Tv={class:"ov-route-n"},Ov={class:"ov-route-row",href:"/admin/queues"},Av={class:"ov-route-n"},Iv={class:"ov-route-n"},Vv={class:"ov-services-card"},Pv={class:"ov-services-head"},qv={class:"ov-panel-meta"},Mv={class:"ov-services-grid"},$v={class:"ov-svc"},Uv={class:"ov-svc-info"},Lv={class:"ov-svc-meta"},Fv={class:"ov-svc-detail"},zv={class:"ov-svc"},Hv={class:"ov-svc-info"},Bv={key:0,class:"ov-svc-meta"},Gv={key:1,class:"ov-svc-meta"},jv={class:"ov-svc"},Wv={class:"ov-svc-info"},Kv={key:0,class:"ov-svc-meta"},Yv={key:1,class:"ov-svc-meta"},Jv={class:"ov-svc"},Qv={class:"ov-svc-info"},Xv={key:0,class:"ov-svc-meta"},Zv={key:1,class:"ov-svc-meta"},xv={class:"ov-svc"},ey={class:"ov-svc-info"},ty={class:"ov-svc-meta"};function Xa(e,t){return l(),d("div",nh,[t[42]||(t[42]=ge('
Admin \xB7 System Health

Overview

',3)),e.loading?(l(),d("div",oh,"Loading overview\u2026")):f("v-if",!0),e.error?(l(),d("div",rh,[t[0]||(t[0]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.error),1)])):f("v-if",!0),e.data?(l(),d("div",ih,[f(" \u2500\u2500 Top KPI row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",ah,[s("div",lh,[t[1]||(t[1]=s("div",{class:"ov-kpi-label"},[y("Repositories "),s("span",{class:"ov-dot ov-dot-ok"})],-1)),s("div",dh,c(e.humanNum(e.data?.repos?.total)),1),s("div",uh,"+"+c(e.data?.repos?.newRepos24h)+" \xB7 last 24h",1)]),s("div",ch,[t[2]||(t[2]=s("div",{class:"ov-kpi-label"},"CPU",-1)),s("div",{class:O(["ov-kpi-value",{"ov-val-warn":e.data?.system?.cpuPercent>80}])},c(e.data?.system?.cpuPercent)+"%",3),s("div",ph,c(e.data?.system?.cpuCount)+" cores \xB7 load "+c(e.data?.system?.loadAvg?.[0]?.toFixed(1)),1)]),s("div",fh,[t[3]||(t[3]=s("div",{class:"ov-kpi-label"},"Memory",-1)),s("div",{class:O(["ov-kpi-value",{"ov-val-warn":e.data?.system?.memPercent>85}])},c(e.data?.system?.memPercent)+"%",3),s("div",mh,c(e.humanBytes(e.data?.system?.memUsed))+" / "+c(e.humanBytes(e.data?.system?.memTotal)),1)]),s("div",hh,[t[4]||(t[4]=s("div",{class:"ov-kpi-label"},"Disk",-1)),s("div",{class:O(["ov-kpi-value",{"ov-val-warn":e.data?.system?.diskPercent>85}])},c(e.data?.system?.diskPercent)+"%",3),s("div",vh,c(e.humanBytes(e.data?.system?.diskUsed))+" / "+c(e.humanBytes(e.data?.system?.diskTotal))+" \xB7 "+c(e.data?.system?.diskMount),1)]),s("div",yh,[t[5]||(t[5]=s("div",{class:"ov-kpi-label"},"Uptime",-1)),s("div",gh,c(e.humanDuration(e.data?.system?.uptime)),1),s("div",bh,c(e.data?.system?.nodeVersion)+" \xB7 "+c(e.data?.system?.platform),1)])]),f(" \u2500\u2500 Daily activity highlights \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",wh,[s("div",kh,[t[6]||(t[6]=s("div",{class:"ov-daily-label"},"New repos today",-1)),s("div",_h,"+"+c(e.fmt?.number(e.data?.daily?.today?.repositories)),1),t[7]||(t[7]=s("div",{class:"ov-daily-sub"},"since yesterday",-1))]),s("div",Eh,[t[8]||(t[8]=s("div",{class:"ov-daily-label"},"New users today",-1)),s("div",Ch,"+"+c(e.fmt?.number(e.data?.daily?.today?.users)),1),s("div",Nh,c(e.fmt?.number(e.data?.users?.total))+" total users",1)]),s("div",Sh,[t[9]||(t[9]=s("div",{class:"ov-daily-label"},"Page views today",-1)),s("div",Dh,"+"+c(e.fmt?.number(e.data?.daily?.today?.pageViews)),1),t[10]||(t[10]=s("div",{class:"ov-daily-sub"},"since yesterday",-1))])]),f(" \u2500\u2500 Daily charts \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",Rh,[s("div",Th,[t[11]||(t[11]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"Daily page views \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-accent"}),y("views/day")])],-1)),e.data?.history?.length?(l(),d("div",Oh,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+" views","aria-label":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+" views"},[s("span",{class:"ov-spark-fill",style:Pe({height:e.historyBarH(o,"dailyPageViews")+"px"})},null,4)],8,Ah))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Ih,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),s("div",Vh,[t[12]||(t[12]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"New repos \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-ok-fill"}),y("repos/day")])],-1)),e.data?.history?.length?(l(),d("div",Ph,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+" repos","aria-label":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+" repos"},[s("span",{class:"ov-spark-fill ov-spark-fill-alt",style:Pe({height:e.historyBarH(o,"dailyRepositories")+"px"})},null,4)],8,qh))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Mh,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),s("div",$h,[t[13]||(t[13]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"Users \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-user-fill"}),y("total users")])],-1)),e.data?.history?.length?(l(),d("div",Uh,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": "+e.fmt?.number(o?.nbUsers)+" users","aria-label":e.historyLabel(o)+": "+e.fmt?.number(o?.nbUsers)+" users"},[s("span",{class:"ov-spark-fill ov-spark-fill-user",style:Pe({height:e.historyBarH(o,"nbUsers")+"px"})},null,4)],8,Lh))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Fh,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),s("div",zh,[t[14]||(t[14]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"New users \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-new-user-fill"}),y("users/day")])],-1)),e.data?.history?.length?(l(),d("div",Hh,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+" users","aria-label":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+" users"},[s("span",{class:"ov-spark-fill ov-spark-fill-new-user",style:Pe({height:e.historyBarH(o,"dailyUsers")+"px"})},null,4)],8,Bh))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Gh,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)])]),f(" \u2500\u2500 Three-panel row: Status / Errors / Queues \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",jh,[f(" Repo status breakdown "),s("div",Wh,[s("div",Kh,[t[15]||(t[15]=s("span",{class:"ov-panel-title"},"Repo status",-1)),s("span",Yh,c(e.fmt?.number(e.data?.repos?.total))+" total",1)]),s("div",Jh,[s("span",{class:"ov-bar-seg ov-bar-ready",title:"Ready",style:Pe({width:e.barPct("ready")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-preparing",title:"Preparing",style:Pe({width:e.barPct("preparing")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-error",title:"Error",style:Pe({width:e.barPct("error")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-expired",title:"Expired",style:Pe({width:e.barPct("expired")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-removed",title:"Removed",style:Pe({width:e.barPct("removed")+"%"})},null,4)]),s("div",Qh,[s("a",Xh,[t[16]||(t[16]=s("span",{class:"ov-swatch ov-bar-ready"},null,-1)),t[17]||(t[17]=y(" ready ",-1)),s("span",Zh,c(e.fmt?.number(e.statusCount("ready"))),1)]),s("a",xh,[t[18]||(t[18]=s("span",{class:"ov-swatch ov-bar-preparing"},null,-1)),t[19]||(t[19]=y(" preparing ",-1)),s("span",ev,c(e.fmt?.number(e.statusCount("preparing")+e.statusCount("download"))),1)]),s("a",tv,[t[20]||(t[20]=s("span",{class:"ov-swatch ov-bar-error"},null,-1)),t[21]||(t[21]=y(" error ",-1)),s("span",sv,c(e.fmt?.number(e.statusCount("error"))),1)]),s("a",nv,[t[22]||(t[22]=s("span",{class:"ov-swatch ov-bar-expired"},null,-1)),t[23]||(t[23]=y(" expired ",-1)),s("span",ov,c(e.fmt?.number(e.statusCount("expired")+e.statusCount("expiring"))),1)]),s("a",rv,[t[24]||(t[24]=s("span",{class:"ov-swatch ov-bar-removed"},null,-1)),t[25]||(t[25]=y(" removed ",-1)),s("span",iv,c(e.fmt?.number(e.statusCount("removed")+e.statusCount("removing"))),1)])])]),f(" Error breakdown "),s("div",av,[s("div",lv,[t[26]||(t[26]=s("span",{class:"ov-panel-title"},"Errors \xB7 24h",-1)),s("span",dv,c(e.data?.errors?.last24h)+" total",1)]),s("div",uv,[s("div",cv,[t[27]||(t[27]=s("span",{class:"ov-ebar-label"},"5xx",-1)),s("span",pv,[s("span",{class:"ov-ebar-fill ov-ebar-error",style:Pe({width:e.errPct("error")+"%"})},null,4)]),s("span",fv,c(e.data?.errors?.severity?.error),1)]),s("div",mv,[t[28]||(t[28]=s("span",{class:"ov-ebar-label"},"4xx",-1)),s("span",hv,[s("span",{class:"ov-ebar-fill ov-ebar-warn",style:Pe({width:e.errPct("warn")+"%"})},null,4)]),s("span",vv,c(e.data?.errors?.severity?.warn),1)]),s("div",yv,[t[29]||(t[29]=s("span",{class:"ov-ebar-label"},"Info",-1)),s("span",gv,[s("span",{class:"ov-ebar-fill ov-ebar-info",style:Pe({width:e.errPct("info")+"%"})},null,4)]),s("span",bv,c(e.data?.errors?.severity?.info),1)])]),e.data?.repos?.recentErrors24h?(l(),d("div",wv,[s("a",kv,c(e.data?.repos?.recentErrors24h)+" repos in error state \u2192",1)])):f("v-if",!0)]),f(" Top routes / queues "),s("div",_v,[t[34]||(t[34]=s("div",{class:"ov-panel-head"},[s("span",{class:"ov-panel-title"},"Queues"),s("span",{class:"ov-panel-meta"},"by state")],-1)),s("div",Ev,[t[33]||(t[33]=ge('
QueueActiveWaitFailed
',1)),s("a",Cv,[t[30]||(t[30]=s("span",{class:"ov-route-name"},"download",-1)),s("span",Nv,c(e.data?.queues?.download?.active),1),s("span",Sv,c(e.data?.queues?.download?.waiting),1),s("span",{class:O(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.download?.failed>0}])},c(e.data?.queues?.download?.failed),3)]),s("a",Dv,[t[31]||(t[31]=s("span",{class:"ov-route-name"},"remove",-1)),s("span",Rv,c(e.data?.queues?.remove?.active),1),s("span",Tv,c(e.data?.queues?.remove?.waiting),1),s("span",{class:O(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.remove?.failed>0}])},c(e.data?.queues?.remove?.failed),3)]),s("a",Ov,[t[32]||(t[32]=s("span",{class:"ov-route-name"},"cache",-1)),s("span",Av,c(e.data?.queues?.cache?.active),1),s("span",Iv,c(e.data?.queues?.cache?.waiting),1),s("span",{class:O(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.cache?.failed>0}])},c(e.data?.queues?.cache?.failed),3)])])])]),f(" \u2500\u2500 Services bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",Vv,[s("div",Pv,[t[35]||(t[35]=s("span",{class:"ov-panel-title"},"Services",-1)),s("span",qv,c(e.fmt?.number(e.data?.users?.total))+" users \xB7 "+c(e.data?.conferences?.total)+" conferences",1)]),s("div",Mv,[s("div",$v,[t[37]||(t[37]=s("span",{class:"ov-svc-dot ov-dot-ok"},null,-1)),s("div",Uv,[t[36]||(t[36]=s("span",{class:"ov-svc-name"},"web",-1)),s("span",Lv,c(e.data?.system?.nodeVersion),1)]),s("span",Fv,"uptime "+c(e.humanDuration(e.data?.system?.uptime)),1)]),s("div",zv,[s("span",{class:O(["ov-svc-dot",e.queueTotal(e.data?.queues?.download)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),s("div",Hv,[t[38]||(t[38]=s("span",{class:"ov-svc-name"},"download",-1)),e.queueTotal(e.data?.queues?.download)?(l(),d("span",Bv,c(e.queueTotal(e.data?.queues?.download))+" jobs",1)):f("v-if",!0),e.queueTotal(e.data?.queues?.download)?f("v-if",!0):(l(),d("span",Gv,"idle"))])]),s("div",jv,[s("span",{class:O(["ov-svc-dot",e.queueTotal(e.data?.queues?.cache)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),s("div",Wv,[t[39]||(t[39]=s("span",{class:"ov-svc-name"},"cache",-1)),e.queueTotal(e.data?.queues?.cache)?(l(),d("span",Kv,c(e.queueTotal(e.data?.queues?.cache))+" jobs",1)):f("v-if",!0),e.queueTotal(e.data?.queues?.cache)?f("v-if",!0):(l(),d("span",Yv,"idle"))])]),s("div",Jv,[s("span",{class:O(["ov-svc-dot",e.queueTotal(e.data?.queues?.remove)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),s("div",Qv,[t[40]||(t[40]=s("span",{class:"ov-svc-name"},"remove",-1)),e.queueTotal(e.data?.queues?.remove)?(l(),d("span",Xv,c(e.queueTotal(e.data?.queues?.remove))+" jobs",1)):f("v-if",!0),e.queueTotal(e.data?.queues?.remove)?f("v-if",!0):(l(),d("span",Zv,"idle"))])]),s("div",xv,[s("span",{class:O(["ov-svc-dot",e.data?.repos?.recentErrors24h>10?"ov-dot-warn":"ov-dot-ok"])},null,2),s("div",ey,[t[41]||(t[41]=s("span",{class:"ov-svc-name"},"errors",-1)),s("span",ty,c(e.data?.errors?.last24h)+" / 24h",1)])])])])])):f("v-if",!0)])}var sy={class:"container paper-page admin-page"},ny={class:"q-header"},oy={class:"q-header-actions"},ry={class:"q-range-btns"},iy={class:"q-cards"},ay=["onClick"],ly={class:"q-card-head"},dy=["textContent"],uy=["textContent"],cy={class:"q-card-sub"},py={key:0,class:"q-card-bar"},fy={key:0,class:"q-detail"},my={class:"q-throughput"},hy={class:"q-section-label"},vy={class:"q-section-right"},yy={class:"q-stats-panel"},gy={class:"q-section-label"},by={class:"q-stats-grid"},wy={class:"q-stat"},ky=["textContent"],_y={class:"q-stat"},Ey=["textContent"],Cy={class:"q-stat"},Ny=["textContent"],Sy={class:"q-stat"},Dy=["textContent"],Ry={class:"q-stat"},Ty=["textContent"],Oy={class:"q-stat"},Ay=["textContent"],Iy={class:"q-stats-actions"},Vy=["disabled"],Py={class:"q-jobs"},qy={class:"q-jobs-header"},My={class:"q-section-label"},$y={class:"q-state-filters"},Uy={class:"q-state-toggle"},Ly={type:"checkbox"},Fy={class:"q-search-row"},zy={type:"search",class:"form-control",placeholder:"Search by job/repo id\u2026",autocomplete:"off"},Hy={class:"q-auto-refresh"},By={type:"checkbox"},Gy={key:0,class:"q-table"},jy=["onClick"],Wy={class:"q-cell-state"},Ky=["textContent"],Yy=["textContent"],Jy={class:"q-cell-id"},Qy=["textContent","href"],Xy={class:"q-cell-payload"},Zy=["textContent"],xy={key:0,class:"q-payload-detail"},eg=["textContent"],tg=["textContent"],sg={class:"q-cell-progress"},ng={key:0,class:"q-progress-wrap"},og=["textContent"],rg={class:"q-cell-actions"},ig=["onClick"],ag=["onClick"],lg={key:0,class:"q-detail-row"},dg={colspan:"7"},ug={class:"q-job-detail"},cg={class:"q-job-detail-grid"},pg={class:"q-job-detail-item"},fg={class:"q-job-detail-value"},mg=["textContent","href"],hg={class:"q-job-detail-item"},vg={class:"q-job-detail-value"},yg=["textContent"],gg={key:0,class:"q-job-detail-item"},bg=["textContent"],wg={key:1,class:"q-job-detail-item"},kg=["textContent"],_g={key:2,class:"q-job-detail-item"},Eg={class:"q-job-detail-value"},Cg={key:3,class:"q-job-detail-item"},Ng=["textContent"],Sg={key:4,class:"q-job-detail-item"},Dg=["textContent"],Rg={key:5,class:"q-job-detail-item"},Tg=["textContent"],Og={key:6,class:"q-job-detail-item"},Ag=["textContent"],Ig={key:7,class:"q-job-detail-item"},Vg=["textContent"],Pg={key:0,class:"q-job-detail-error"},qg=["textContent"],Mg={key:1},$g=["textContent"],Ug={class:"q-job-detail-actions"},Lg=["onClick"],Fg=["onClick"],zg=["href"],Hg={key:1,class:"paper-table-empty",style:{border:"1px solid var(--border-color)","border-radius":"10px",background:"var(--paper-card)"}},Bg={key:0},Gg={key:1};function Za(e,t){let o=be("field");return l(),d("div",sy,[t[47]||(t[47]=s("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),s("span",{class:"here"},"Queues")],-1)),s("div",ny,[t[12]||(t[12]=s("h1",{class:"paper-page-title"},"Queues",-1)),s("div",oy,[s("div",ry,[s("button",{class:O(["btn btn-sm",{active:e.range=="1h"}]),onClick:t[0]||(t[0]=r=>e.setRange("1h"))},"1h",2),s("button",{class:O(["btn btn-sm",{active:e.range=="6h"}]),onClick:t[1]||(t[1]=r=>e.setRange("6h"))},"6h",2),s("button",{class:O(["btn btn-sm",{active:e.range=="24h"}]),onClick:t[2]||(t[2]=r=>e.setRange("24h"))},"24h",2),s("button",{class:O(["btn btn-sm",{active:e.range=="7d"}]),onClick:t[3]||(t[3]=r=>e.setRange("7d"))},"7d",2)]),s("button",{class:"btn btn-sm",onClick:t[4]||(t[4]=r=>e.pauseAll())},"Pause all"),s("button",{class:"btn btn-sm btn-dark",onClick:t[5]||(t[5]=r=>e.drainSelected())},"Drain "+c(e.selectedQueue),1)])]),t[48]||(t[48]=ge('',1)),f(" Queue overview cards "),s("div",iy,[(l(!0),d(J,null,ne(e.queueList,(r,n)=>(l(),d("div",{class:O(["q-card",{selected:e.selectedQueue==r?.key,paused:r?.paused}]),onClick:i=>e.selectQueue(r.key)},[s("div",ly,[s("span",{class:O(["q-dot",{"q-dot-red":r?.paused||r?.counts?.failed>0}])},null,2),s("span",{class:"q-card-name",textContent:c(r?.label)},null,8,dy)]),s("div",{class:"q-card-count",textContent:c((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0))},null,8,uy),s("div",cy,[s("span",null,"waiting \xB7 "+c(r?.counts?.active||0)+" active",1),r?.counts?.active?(l(),d("div",py,[s("div",{class:"q-card-bar-fill",style:Pe({width:r?.counts?.active/((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0)||1)*100+"%"})},null,4)])):f("v-if",!0)])],10,ay))),256))]),f(" Detail: throughput chart + stats panel "),e.selectedStats?(l(),d("div",fy,[s("div",my,[s("div",hy,[y(c(e.selectedQueue)+"\xB7throughput ",1),s("span",vy,[t[13]||(t[13]=s("span",{class:"q-legend-completed"},"\u25CF",-1)),t[14]||(t[14]=y(" completed ",-1)),t[15]||(t[15]=s("span",{class:"q-legend-failed"},"\u25CF",-1)),t[16]||(t[16]=y(" failed ",-1)),t[17]||(t[17]=s("span",{class:"q-legend-exec"},"- -",-1)),y(" avg time \xB7 "+c(e.fmt?.uppercase(e.range)),1)])]),t[18]||(t[18]=s("div",{class:"q-chart-wrap"},[s("canvas",{id:"q-throughput-chart",height:"180"}),s("div",{id:"q-chart-tooltip",class:"q-chart-tooltip",style:{display:"none"}}),s("div",{id:"q-chart-crosshair",class:"q-chart-crosshair",style:{display:"none"}})],-1))]),s("div",yy,[s("div",gy,c(e.selectedQueue)+"\xB7stats",1),s("div",by,[s("div",wy,[t[19]||(t[19]=s("div",{class:"q-stat-label"},"WAITING",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.waiting||0)},null,8,ky)]),s("div",_y,[t[20]||(t[20]=s("div",{class:"q-stat-label"},"ACTIVE",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.active||0)},null,8,Ey)]),s("div",Cy,[t[21]||(t[21]=s("div",{class:"q-stat-label"},"COMPLETED (24H)",-1)),s("div",{class:"q-stat-value",textContent:c(e.fmt?.number(e.selectedStats?.completed24h))},null,8,Ny)]),s("div",Sy,[t[22]||(t[22]=s("div",{class:"q-stat-label"},"FAILED (24H)",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.failed24h||0)},null,8,Dy)]),s("div",Ry,[t[23]||(t[23]=s("div",{class:"q-stat-label"},"DELAYED",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.delayed||0)},null,8,Ty)]),s("div",Oy,[t[24]||(t[24]=s("div",{class:"q-stat-label"},"WORKERS",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.workers||0)},null,8,Ay)])]),s("div",Iy,[s("button",{class:"btn btn-sm",onClick:t[6]||(t[6]=r=>e.togglePause())},c(e.selectedStats?.paused?"Resume":"Pause"),1),s("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=r=>e.retryFailed()),disabled:!e.selectedStats?.counts?.failed},"Retry failed",8,Vy),s("button",{class:"btn btn-sm",onClick:t[8]||(t[8]=r=>e.emptyQueue())},"Empty")])])])):f("v-if",!0),e.actionError?(l(),d("div",{key:1,class:"q-toast-error",onClick:t[9]||(t[9]=r=>e.actionError=null)},[t[25]||(t[25]=s("i",{class:"fas fa-exclamation-circle"},null,-1)),y(" "+c(e.actionError),1)])):f("v-if",!0),f(" Jobs table "),s("div",Py,[s("div",qy,[s("div",My,"ALL JOBS \xB7 "+c(e.fmt?.uppercase(e.selectedQueue)),1),s("div",$y,[(l(!0),d(J,null,ne(e.allStates,(r,n)=>(l(),d("label",Uy,[E(s("input",Ly,null,512),[[o,{state:e.viewState,set:i=>{e.stateFilter[r]=i},value:e.stateFilter[r],form:null,options:{}}]]),s("span",{class:O("q-state-chip q-state-"+r)},c(r),3)]))),256))])]),s("div",Fy,[E(s("input",zy,null,512),[[o,{state:e.viewState,set:r=>{e.query.search=r},value:e.query?.search,form:null,options:{}}]]),s("label",Hy,[E(s("input",By,null,512),[[o,{state:e.viewState,set:r=>{e.query.autoRefresh=r},value:e.query?.autoRefresh,form:null,options:{}}]]),t[26]||(t[26]=y(" Auto-refresh ",-1))]),s("button",{class:"btn btn-sm",type:"button",title:"Refresh now",onClick:t[10]||(t[10]=r=>e.refreshNow())},[...t[27]||(t[27]=[s("i",{class:"fas fa-sync"},null,-1)])])]),e.filteredJobs().length>0?(l(),d("table",Gy,[t[45]||(t[45]=s("thead",null,[s("tr",null,[s("th",null,"STATE"),s("th",null,"JOB ID"),s("th",null,"PAYLOAD"),s("th",null,"ATTEMPTS"),s("th",null,"DURATION"),s("th",null,"PROGRESS"),s("th")])],-1)),(l(!0),d(J,null,ne(e.filteredJobs(),(r,n)=>(l(),d("tbody",null,[s("tr",{style:{cursor:"pointer"},class:O({"q-row-failed":r?._state=="failed","q-row-expanded":e.expanded[r?.id]}),onClick:i=>e.toggleJob(r)},[s("td",Wy,[s("span",{textContent:c(r?._state),class:O("q-state-badge q-state-"+r?._state)},null,10,Ky),r?._state=="delayed"&&r?.delayUntil?(l(),d("span",{key:0,class:"q-delay-hint",textContent:c(e.delayCountdown(r?.delayUntil))},null,8,Yy)):f("v-if",!0)]),s("td",Jy,[s("i",{class:O(["fas fa-chevron-right q-chevron",{"q-chevron-open":e.expanded[r?.id]}])},null,2),s("a",{target:"_blank",textContent:c("job:"+e.fmt.limitTo(r?.id,6)),onClick:t[11]||(t[11]=i=>i.stopPropagation()),href:e.safeUrl("/r/"+r?.id)},null,8,Qy)]),s("td",Xy,[s("span",{textContent:c(r?.name||"anonymize")},null,8,Zy),r?.data?.repoId&&r?.data?.repoId!==r?.name?(l(),d("span",xy," \xB7 "+c(r?.data?.repoId),1)):f("v-if",!0)]),s("td",{class:"q-cell-num",textContent:c(r?.attemptsMade||1)},null,8,eg),s("td",{class:"q-cell-num",textContent:c(e.jobDuration(r))},null,8,tg),s("td",sg,[e.jobProgressPct(r)!==null?(l(),d("div",ng,[s("div",{class:"q-progress-bar",style:Pe({"--pct":e.jobProgressPct(r)+"%"})},null,4),s("span",{class:"q-progress-label",textContent:c(e.jobProgressPct(r)+"%")},null,8,og)])):f("v-if",!0)]),s("td",rg,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",title:"Retry",onClick:i=>{e.retryJob(r),i.stopPropagation()}},[...t[28]||(t[28]=[s("i",{class:"fas fa-sync"},null,-1)])],8,ig)):f("v-if",!0),s("button",{class:"btn btn-sm",title:"Remove",onClick:i=>{e.removeJob(r),i.stopPropagation()}},[...t[29]||(t[29]=[s("i",{class:"fas fa-trash-alt"},null,-1)])],8,ag)])],10,jy),e.expanded[r?.id]?(l(),d("tr",lg,[s("td",dg,[s("div",ug,[s("div",cg,[s("div",pg,[t[30]||(t[30]=s("span",{class:"q-job-detail-label"},"JOB ID",-1)),s("span",fg,[s("a",{target:"_blank",textContent:c(r?.id),href:e.safeUrl("/r/"+r?.id)},null,8,mg)])]),s("div",hg,[t[31]||(t[31]=s("span",{class:"q-job-detail-label"},"STATE",-1)),s("span",vg,[s("span",{textContent:c(r?._state),class:O("q-state-badge q-state-"+r?._state)},null,10,yg)])]),r?.data?.repoId?(l(),d("div",gg,[t[32]||(t[32]=s("span",{class:"q-job-detail-label"},"REPO ID",-1)),s("span",{class:"q-job-detail-value",textContent:c(r?.data?.repoId)},null,8,bg)])):f("v-if",!0),r?.timestamp?(l(),d("div",wg,[t[33]||(t[33]=s("span",{class:"q-job-detail-label"},"CREATED",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.humanTime(r?.timestamp))},null,8,kg)])):f("v-if",!0),r?._state=="delayed"&&r?.delayUntil?(l(),d("div",_g,[t[34]||(t[34]=s("span",{class:"q-job-detail-label"},"RETRY AT",-1)),s("span",Eg,c(e.humanTime(r?.delayUntil))+" ("+c(e.delayCountdown(r?.delayUntil))+")",1)])):f("v-if",!0),r?.processedOn?(l(),d("div",Cg,[t[35]||(t[35]=s("span",{class:"q-job-detail-label"},"PROCESSED",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.humanTime(r?.processedOn))},null,8,Ng)])):f("v-if",!0),r?.finishedOn?(l(),d("div",Sg,[t[36]||(t[36]=s("span",{class:"q-job-detail-label"},"FINISHED",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.humanTime(r?.finishedOn))},null,8,Dg)])):f("v-if",!0),r?.attemptsMade?(l(),d("div",Rg,[t[37]||(t[37]=s("span",{class:"q-job-detail-label"},"ATTEMPTS",-1)),s("span",{class:"q-job-detail-value",textContent:c(r?.attemptsMade)},null,8,Tg)])):f("v-if",!0),r?.progress&&r?.progress?.status?(l(),d("div",Og,[t[38]||(t[38]=s("span",{class:"q-job-detail-label"},"STATUS",-1)),s("span",{class:"q-job-detail-value",textContent:c(r?.progress?.status)},null,8,Ag)])):f("v-if",!0),e.jobProgressPct(r)!==null?(l(),d("div",Ig,[t[39]||(t[39]=s("span",{class:"q-job-detail-label"},"PROGRESS",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.jobProgressPct(r)+"%")},null,8,Vg)])):f("v-if",!0)]),r?.failedReason?(l(),d("div",Pg,[t[40]||(t[40]=s("span",{class:"q-job-detail-label"},"ERROR",-1)),s("div",{class:"q-error-reason",textContent:c(r?.failedReason)},null,8,qg)])):f("v-if",!0),r?.stacktrace?.length?(l(),d("div",Mg,[t[41]||(t[41]=s("span",{class:"q-job-detail-label"},"STACKTRACE",-1)),(l(!0),d(J,null,ne(r?.stacktrace,(i,a)=>(l(),d("pre",{class:"q-error-stack",key:a},[s("code",{textContent:c(i)},null,8,$g)]))),128))])):f("v-if",!0),s("div",Ug,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",onClick:i=>e.retryJob(r)},[...t[42]||(t[42]=[s("i",{class:"fas fa-sync"},null,-1),y(" Retry",-1)])],8,Lg)):f("v-if",!0),s("button",{class:"btn btn-sm",onClick:i=>e.removeJob(r)},[...t[43]||(t[43]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,Fg),s("a",{class:"btn btn-sm",target:"_blank",href:e.safeUrl("/r/"+r?.id)},[...t[44]||(t[44]=[s("i",{class:"fas fa-external-link-alt"},null,-1),y(" View repo",-1)])],8,zg)])])])])):f("v-if",!0)]))),256))])):f("v-if",!0),e.filteredJobs().length==0?(l(),d("div",Hg,[t[46]||(t[46]=s("i",{class:"fas fa-check-circle"},null,-1)),e.query?.search?f("v-if",!0):(l(),d("span",Bg,"No jobs in the "+c(e.selectedQueue)+" queue.",1)),e.query?.search?(l(),d("span",Gg,"No jobs match the current filters.")):f("v-if",!0)])):f("v-if",!0)])])}var jg={class:"container paper-page admin-page"},Wg={class:"admin-summary"},Kg={class:"summary-total"},Yg={class:"summary-meta"},Jg={class:"count"},Qg={class:"count"},Xg={class:"count"},Zg={class:"count"},xg={class:"count"},eb={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},tb={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},sb={class:"admin-filter-row"},ob={class:"search-wrap"},rb={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repoId, source repo, error message\u2026",autocomplete:"off"},ib={key:0,class:"admin-search-hint"},ab={class:"admin-filter-inline"},lb={type:"text",class:"form-control form-control-sm",placeholder:"username"},db={class:"admin-filter-inline"},ub={type:"text",class:"form-control form-control-sm",placeholder:"ID"},cb={class:"admin-filter-inline","aria-label":"Pagination"},pb=["disabled"],fb={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},mb=["disabled"],hb={key:0,class:"admin-filter-row"},vb={class:"admin-active-chips"},yb={class:"key"},gb=["onClick"],bb={key:1,class:"bulk-bar"},wb={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},kb={class:"paper-table-head",role:"row"},_b={role:"columnheader",style:{width:"28px"}},Eb=["checked"],Cb={role:"columnheader"},Nb={role:"columnheader"},Sb={role:"columnheader",class:"num"},Db={role:"columnheader"},Rb={role:"cell",style:{width:"28px"}},Tb={type:"checkbox","aria-label":"Select repository"},Ob={class:"cell-anon",role:"cell"},Ab={class:"anon-text"},Ib=["textContent","href"],Vb={class:"anon-sub"},Pb=["textContent","href"],qb={key:0},Mb=["textContent","href"],$b={key:1},Ub=["textContent","href"],Lb={key:2},Fb={class:"cell-status",role:"cell"},zb={class:"status-line"},Hb=["textContent"],Bb=["textContent","title"],Gb=["textContent"],jb=["textContent"],Wb={class:"cell-actions",role:"cell"},Kb={class:"dropdown"},Yb={class:"dropdown-menu dropdown-menu-right"},Jb=["href"],Qb=["href"],Xb=["href"],Zb=["onClick"],xb=["onClick"],e1=["onClick"],t1=["onClick"],s1=["onClick"],n1=["onClick"],o1={key:0,class:"paper-table-empty"},r1={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},i1={style:{"font-size":"12px",color:"var(--ink-muted)"}},a1={key:0,class:"pagination-compact"},l1=["disabled"],d1=["max"],u1=["disabled"],c1={class:"admin-filter-inline"},p1={class:"form-control form-control-sm"};function xa(e,t){let o=be("field"),r=be("form");return l(),d("div",jg,[t[61]||(t[61]=ge('
Admin \xA0/\xA0 Repositories

Repositories

',3)),s("div",Wg,[s("span",Kg,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),s("span",Yg,c(e.fmt?.humanFileSize(e.totalSize))+" on disk",1),s("span",{class:O(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=n=>{e.query.ready=!e.query.ready,e.query.page=1})},[t[18]||(t[18]=y("Ready ",-1)),s("span",Jg,c(e.fmt?.number(e.statusCountFor("ready"))),1)],2),s("span",{class:O(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=n=>{e.query.preparing=!e.query.preparing,e.query.page=1})},[t[19]||(t[19]=y("Preparing ",-1)),s("span",Qg,c(e.fmt?.number(e.statusCountFor("preparing")+e.statusCountFor("download"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=n=>{e.query.error=!e.query.error,e.query.page=1})},[t[20]||(t[20]=y("Errored ",-1)),s("span",Xg,c(e.fmt?.number(e.statusCountFor("error"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=n=>{e.query.expired=!e.query.expired,e.query.page=1})},[t[21]||(t[21]=y("Expired ",-1)),s("span",Zg,c(e.fmt?.number(e.statusCountFor("expired")+e.statusCountFor("expiring"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.removed}]),title:"Toggle removed filter",onClick:t[4]||(t[4]=n=>{e.query.removed=!e.query.removed,e.query.page=1})},[t[22]||(t[22]=y("Removed ",-1)),s("span",xg,c(e.fmt?.number(e.statusCountFor("removed")+e.statusCountFor("removing"))),1)],2)]),e.fetchError?(l(),d("div",eb,[t[23]||(t[23]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fetchError),1)])):f("v-if",!0),E((l(),d("form",tb,[f(" Row 1: search + scoped inputs + headline actions "),s("div",sb,[s("div",ob,[E(s("input",rb,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",ib,"/"))]),s("span",ab,[t[24]||(t[24]=s("label",null,"Owner",-1)),E(s("input",lb,null,512),[[o,{state:e.viewState,set:n=>{e.query.owner=n},value:e.query?.owner,form:null,options:{}}]])]),s("span",db,[t[25]||(t[25]=s("label",null,"Conference",-1)),E(s("input",ub,null,512),[[o,{state:e.viewState,set:n=>{e.query.conference=n},value:e.query?.conference,form:null,options:{}}]])]),t[29]||(t[29]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[5]||(t[5]=n=>e.exportCsv())},[...t[26]||(t[26]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])]),s("span",cb,[s("button",{class:"btn btn-sm",type:"button",onClick:t[6]||(t[6]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[27]||(t[27]=[s("i",{class:"fas fa-chevron-left"},null,-1)])],8,pb),s("span",fb,c(e.query?.page)+"/"+c(e.totalPage||1),1),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[28]||(t[28]=[s("i",{class:"fas fa-chevron-right"},null,-1)])],8,mb)])]),f(" Row 2: appears only when there are active filter chips "),e.chips?.length?(l(),d("div",hb,[s("div",vb,[(l(!0),d(J,null,ne(e.chips,(n,i)=>(l(),d("span",{class:"admin-active-chip",key:n?.key},[s("span",yb,c(n?.label),1),s("span",null,c(n?.value),1),s("button",{type:"button","aria-label":"Remove filter",onClick:a=>e.clearFilter(n.key)},[...t[30]||(t[30]=[s("i",{class:"fas fa-times"},null,-1)])],8,gb)]))),128))])])):f("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",bb,[s("span",null,[s("strong",null,c(e.selectedCount()),1),t[31]||(t[31]=y(" selected",-1))]),s("button",{class:"btn btn-sm",type:"button",onClick:t[8]||(t[8]=n=>e.bulkRefresh())},[...t[32]||(t[32]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force refresh",-1)])]),s("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[9]||(t[9]=n=>e.bulkRemoveCache())},[...t[33]||(t[33]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])]),s("button",{class:"btn btn-sm",type:"button",onClick:t[10]||(t[10]=n=>e.clearSelection())},"Clear")])):f("v-if",!0),s("div",wb,[s("div",kb,[s("div",_b,[s("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[11]||(t[11]=n=>e.selectAllOnPage()),checked:e.allSelected},null,8,Eb)]),s("div",Cb,[s("span",{class:O(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[12]||(t[12]=n=>e.sortBy("source.repositoryName"))},[t[34]||(t[34]=y("Repository ",-1)),s("i",{class:O(["fas",e.sortIcon("source.repositoryName")])},null,2)],2)]),s("div",Nb,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[13]||(t[13]=n=>e.sortBy("status"))},[t[35]||(t[35]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),s("div",Sb,[s("span",{class:O(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[14]||(t[14]=n=>e.sortBy("pageView"))},[t[36]||(t[36]=y("Views ",-1)),s("i",{class:O(["fas",e.sortIcon("pageView")])},null,2)],2)]),s("div",Db,[s("span",{class:O(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[15]||(t[15]=n=>e.sortBy("anonymizeDate"))},[t[37]||(t[37]=y("Anonymized ",-1)),s("i",{class:O(["fas",e.sortIcon("anonymizeDate")])},null,2)],2)]),t[38]||(t[38]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredRepositories,(n,i)=>(l(),d("div",{class:O(["paper-table-row",{"repo-inactive":n?.status=="expired"||n?.status=="removed","repo-error":n?.status=="error","row-selected":e.selected[n?.repoId]}]),role:"row"},[s("div",Rb,[E(s("input",Tb,null,512),[[o,{state:e.viewState,set:a=>{e.selected[n.repoId]=a},value:e.selected[n?.repoId],form:null,options:{}}]])]),s("div",Ob,[t[43]||(t[43]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",Ab,[s("a",{class:"repo-name",target:"_blank",textContent:c(n?.repoId),href:e.safeUrl("/r/"+n?.repoId)},null,8,Ib),s("div",Vb,[s("a",{textContent:c(n?.source?.repositoryName),href:e.safeUrl("https://github.com/"+n?.source?.repositoryName+"/")},null,8,Pb),n?.options?.update?(l(),d("span",qb,[t[39]||(t[39]=y("\xA0\xB7\xA0",-1)),s("a",{textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,Mb)])):f("v-if",!0),n?.options?.update?f("v-if",!0):(l(),d("span",$b,[t[40]||(t[40]=y("\xA0\xB7\xA0@",-1)),s("a",{textContent:c(n?.source?.commit?.substring(0,8)),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},null,8,Ub)])),n?.conference?(l(),d("span",Lb,[t[41]||(t[41]=y("\xA0\xB7\xA0",-1)),t[42]||(t[42]=s("i",{class:"fas fa-chalkboard-teacher"},null,-1)),y(" "+c(n?.conference),1)])):f("v-if",!0),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.humanFileSize(n?.size?.storage)),1),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.number(n?.options?.terms?.length))+" terms",1)])])]),s("div",Fb,[s("span",zb,[s("span",{class:O(["status-dot",{"status-removed":n?.status=="removed"||n?.status=="expired","status-ready":n?.status=="ready","status-error":n?.status=="error","status-preparing":n?.status=="preparing"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,Hb)]),n?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(n?.statusMessage)),title:n?.statusMessage},null,8,Bb)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView||0))},null,8,Gb),s("div",{class:"cell-expires",role:"cell",textContent:c(e.fmt?.humanTime(n?.anonymizeDate))},null,8,jb),s("div",Wb,[s("div",Kb,[t[55]||(t[55]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",Yb,[s("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+n?.repoId)},[...t[44]||(t[44]=[s("i",{class:"far fa-edit"},null,-1),y(" Edit",-1)])],8,Jb),s("a",{class:"dropdown-item",href:e.safeUrl("/r/"+n?.repoId+"/")},[...t[45]||(t[45]=[s("i",{class:"fa fa-eye"},null,-1),y(" View repo",-1)])],8,Qb),n?.options?.page&&n?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+n?.repoId+"/")},[...t[46]||(t[46]=[s("i",{class:"fas fa-globe"},null,-1),y(" View page",-1)])],8,Xb)):f("v-if",!0),s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.fetchGithubInfo(n),["prevent"])},[...t[47]||(t[47]=[s("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,Zb),t[53]||(t[53]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.updateRepository(n),["prevent"])},[...t[48]||(t[48]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force update",-1)])],8,xb),[[B,n?.status=="ready"||n?.status=="error"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.updateRepository(n),["prevent"])},[...t[49]||(t[49]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Enable",-1)])],8,e1),[[B,n?.status=="removed"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.showStatusMessage(n),["prevent"])},[...t[50]||(t[50]=[s("i",{class:"fas fa-exclamation-triangle"},null,-1),y(" View status message",-1)])],8,t1),[[B,n?.statusMessage]]),t[54]||(t[54]=s("div",{class:"dropdown-divider"},null,-1)),s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.removeCache(n),["prevent"])},[...t[51]||(t[51]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])],8,s1),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:we(a=>e.removeRepository(n),["prevent"])},[...t[52]||(t[52]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,n1),[[B,n?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",o1,[...t[56]||(t[56]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No repositories match the current filters.",-1)])])):f("v-if",!0)]),s("div",r1,[s("span",i1,c(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",a1,[s("button",{class:"btn btn-sm",onClick:t[16]||(t[16]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[57]||(t[57]=[s("i",{class:"fas fa-chevron-left"},null,-1),y(" Previous ",-1)])],8,l1),E(s("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},"aria-label":"Page",max:e.totalPage},null,8,d1),[[o,{state:e.viewState,set:n=>{e.query.page=n},value:e.query?.page,form:null,options:{}}]]),s("span",null,"of "+c(e.totalPage),1),s("button",{class:"btn btn-sm",onClick:t[17]||(t[17]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[58]||(t[58]=[y(" Next ",-1),s("i",{class:"fas fa-chevron-right"},null,-1)])],8,u1)])):f("v-if",!0),s("span",c1,[t[60]||(t[60]=s("label",null,"Per page",-1)),E((l(),d("select",p1,[...t[59]||(t[59]=[ge('',5)])])),[[o,{state:e.viewState,set:n=>{e.query.limit=n},value:e.query?.limit,form:null,options:{}}]])])])])}var f1={class:"container paper-page admin-page"},m1={class:"paper-crumbs"},h1={class:"here"},v1={class:"paper-page-title"},y1={key:0,class:"user-detail-card"},g1={class:"user-header"},b1=["src"],w1={class:"status-dot-wrap"},k1=["textContent"],_1={key:0,class:"type-badge type-repo"},E1={class:"user-actions",style:{"margin-top":"4px"}},C1={class:"user-detail-grid"},N1={class:"detail-value"},S1={class:"detail-value"},D1={class:"detail-value",style:{"font-family":"var(--font-mono)","font-size":"0.85rem"}},R1={class:"detail-value"},T1=["href"],O1={class:"detail-value"},A1={class:"detail-value"},I1={key:0},V1={key:1,class:"text-muted"},P1={class:"detail-value"},q1={key:0,style:{"margin-top":"20px"}},M1={class:"paper-table w-100",style:{"margin-top":"10px"}},$1={class:"paper-table-row",style:{"grid-template-columns":"1fr 160px"}},U1={class:"cell-anon",role:"cell"},L1={class:"anon-text"},F1=["textContent"],z1={class:"cell-expires",role:"cell"},H1={key:1,class:"admin-section-header"},B1={class:"section-count"},G1={key:2,class:"user-detail-card"},j1={type:"text",class:"form-control",placeholder:"Token name (e.g. dev-laptop)",required:""},W1={key:0,class:"alert alert-warning",role:"alert"},K1={style:{"white-space":"pre-wrap","word-break":"break-all",margin:"8px 0 0","font-family":"var(--font-mono)","font-size":"0.85rem"}},Y1={key:1,class:"paper-table w-100"},J1={class:"paper-table-row",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},Q1=["textContent"],X1=["textContent"],Z1={role:"cell"},x1={key:0},ew={key:1,class:"text-muted"},tw={role:"cell"},sw=["onClick"],nw={key:2,class:"paper-table-empty"},ow={class:"admin-section-header"},rw={class:"section-count"},iw={class:"admin-summary"},aw={class:"summary-total"},lw={class:"count"},dw={class:"count"},uw={class:"count"},cw={class:"count"},pw={class:"count"},fw={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},mw={class:"admin-filter-row"},hw={class:"search-wrap"},vw={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repoId, source repo, error message\u2026",autocomplete:"off"},yw={key:3,class:"bulk-bar"},gw={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},bw={class:"paper-table-head",role:"row"},ww={role:"columnheader",style:{width:"28px"}},kw=["checked"],_w={role:"columnheader"},Ew={role:"columnheader"},Cw={role:"columnheader",class:"num"},Nw={role:"columnheader"},Sw={role:"cell",style:{width:"28px"}},Dw={type:"checkbox","aria-label":"Select repository"},Rw={class:"cell-anon",role:"cell"},Tw={class:"anon-text"},Ow=["textContent","href"],Aw={class:"anon-sub"},Iw=["textContent","href"],Vw={key:0},Pw=["textContent","href"],qw={key:1},Mw=["textContent","href"],$w={key:2},Uw={class:"cell-status",role:"cell"},Lw={class:"status-line"},Fw=["textContent"],zw=["textContent","title"],Hw=["textContent"],Bw=["textContent"],Gw={class:"cell-actions",role:"cell"},jw={class:"dropdown"},Ww={class:"dropdown-menu dropdown-menu-right"},Kw=["href"],Yw=["href"],Jw=["href"],Qw=["onClick"],Xw=["onClick"],Zw=["onClick"],xw=["onClick"],ek=["onClick"],tk=["onClick"],sk={key:0,class:"paper-table-empty"};function el(e,t){let o=be("field"),r=be("form");return l(),d("div",f1,[s("div",m1,[t[22]||(t[22]=s("a",{href:"/admin/users"},"Users",-1)),t[23]||(t[23]=y(" \xA0/\xA0 ",-1)),s("span",h1,c(e.userInfo?.username||"Profile"),1)]),s("h1",v1,c(e.userInfo?.username||"User"),1),t[81]||(t[81]=ge('',1)),e.userInfo?(l(),d("div",y1,[s("div",g1,[e.userInfo?.photo?(l(),d("img",{key:0,width:"56",height:"56",src:e.safeUrl(e.userInfo?.photo)},null,8,b1)):f("v-if",!0),s("div",null,[s("h1",null,[y(c(e.userInfo?.username)+" ",1),s("span",w1,[s("span",{class:O(["status-dot",{"status-ready":e.userInfo?.status=="active","status-removed":e.userInfo?.status!="active"}])},null,2),s("span",{textContent:c(e.fmt?.title(e.userInfo?.status))},null,8,k1)]),e.userInfo?.isAdmin?(l(),d("span",_1,"Admin")):f("v-if",!0)]),s("div",E1,[e.userInfo?.status!=="banned"?(l(),d("button",{key:0,class:"btn btn-sm text-danger",onClick:t[0]||(t[0]=n=>e.banUser())},[...t[24]||(t[24]=[s("i",{class:"fas fa-ban"},null,-1),y(" Ban",-1)])])):f("v-if",!0),e.userInfo?.status==="banned"||e.userInfo?.status==="removed"?(l(),d("button",{key:1,class:"btn btn-sm",onClick:t[1]||(t[1]=n=>e.activateUser())},[...t[25]||(t[25]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Activate",-1)])])):f("v-if",!0),e.userInfo?.isAdmin?f("v-if",!0):(l(),d("button",{key:2,class:"btn btn-sm",onClick:t[2]||(t[2]=n=>e.promoteUser())},[...t[26]||(t[26]=[s("i",{class:"fas fa-user-shield"},null,-1),y(" Promote to admin",-1)])])),e.userInfo?.isAdmin?(l(),d("button",{key:3,class:"btn btn-sm text-danger",onClick:t[3]||(t[3]=n=>e.demoteUser())},[...t[27]||(t[27]=[s("i",{class:"fas fa-user-minus"},null,-1),y(" Remove admin",-1)])])):f("v-if",!0)])])]),s("div",C1,[t[30]||(t[30]=s("div",{class:"detail-label"},"ID",-1)),s("div",N1,c(e.userInfo?._id),1),t[31]||(t[31]=s("div",{class:"detail-label"},"Email",-1)),s("div",S1,c(e.userInfo?.emails?.[0]?.email),1),t[32]||(t[32]=s("div",{class:"detail-label"},"Access token",-1)),s("div",D1,c(e.userInfo?.accessTokens?.github),1),t[33]||(t[33]=s("div",{class:"detail-label"},"GitHub",-1)),s("div",R1,[s("a",{target:"_blank",href:e.safeUrl("https://github.com/"+e.userInfo?.username)},[t[28]||(t[28]=s("i",{class:"fab fa-github"},null,-1)),y(" "+c(e.userInfo?.username),1)],8,T1)]),t[34]||(t[34]=s("div",{class:"detail-label"},"Created",-1)),s("div",O1,c(e.fmt?.humanTime(e.userInfo?.dateOfEntry)),1),t[35]||(t[35]=s("div",{class:"detail-label"},"Last connection",-1)),s("div",A1,[e.userInfo?.accessTokenDates?.github?(l(),d("span",I1,c(e.fmt?.humanTime(e.userInfo?.accessTokenDates?.github)),1)):f("v-if",!0),e.userInfo?.accessTokenDates?.github?f("v-if",!0):(l(),d("span",V1,"never"))]),t[36]||(t[36]=s("div",{class:"detail-label"},"GitHub repos",-1)),s("div",P1,[y(c(e.userInfo?.repositories?.length)+" repositories ",1),s("button",{class:"btn btn-sm ml-2",onClick:t[4]||(t[4]=n=>e.showRepos=!e.showRepos)},c(e.showRepos?"Hide":"Show"),1),s("button",{class:"btn btn-sm ml-1",onClick:t[5]||(t[5]=n=>e.getGitHubRepositories())},[...t[29]||(t[29]=[s("i",{class:"fas fa-sync"},null,-1),y(" Refresh ",-1)])])])]),e.showRepos?(l(),d("div",q1,[t[39]||(t[39]=s("div",{class:"paper-section-eyebrow"},"GitHub repositories",-1)),s("div",M1,[(l(!0),d(J,null,ne(e.userInfo?.repositories,(n,i)=>(l(),d("div",$1,[s("div",U1,[t[37]||(t[37]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",L1,[s("span",{class:"repo-name",textContent:c(n?.name)},null,8,F1)])]),s("div",z1,[t[38]||(t[38]=s("i",{class:"fas fa-database"},null,-1)),y(" "+c(e.fmt?.humanFileSize(n?.size)),1)])]))),256))])])):f("v-if",!0)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",H1,[t[40]||(t[40]=s("h2",null,[s("i",{class:"fas fa-key"}),y(" API tokens")],-1)),s("span",B1,c(e.tokens?.length),1)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",G1,[t[46]||(t[46]=s("p",{class:"paper-page-lede"},[y("Personal API tokens for this admin account. Send as "),s("code",null,"Authorization: Bearer "),y(" to authenticate without GitHub OAuth (useful for development).")],-1)),E((l(),d("form",{class:"d-flex",style:{gap:"8px","margin-bottom":"12px"},onSubmit:t[6]||(t[6]=we(n=>e.submitForm(n,()=>{e.createToken()}),["prevent"]))},[E(s("input",j1,null,512),[[o,{state:e.viewState,set:n=>{e.tokenForm.name=n},value:e.tokenForm?.name,form:null,options:{}}]]),t[41]||(t[41]=s("button",{type:"submit",class:"btn btn-primary"},[s("i",{class:"fas fa-plus"}),y(" Generate")],-1))],32)),[[r,e.viewState]]),e.tokenForm?.plaintext?(l(),d("div",W1,[t[42]||(t[42]=s("strong",null,"Copy this token now \u2014 it will not be shown again:",-1)),s("pre",K1,c(e.tokenForm?.plaintext),1),s("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=n=>e.tokenForm.plaintext=null)},"Dismiss")])):f("v-if",!0),e.tokens?.length?(l(),d("div",Y1,[t[44]||(t[44]=s("div",{class:"paper-table-head",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},[s("div",{role:"columnheader"},"Name"),s("div",{role:"columnheader"},"Created"),s("div",{role:"columnheader"},"Last used"),s("div",{role:"columnheader","aria-label":"Actions"})],-1)),(l(!0),d(J,null,ne(e.tokens,(n,i)=>(l(),d("div",J1,[s("div",{role:"cell",textContent:c(n?.name)},null,8,Q1),s("div",{role:"cell",textContent:c(e.fmt?.humanTime(n?.createdAt))},null,8,X1),s("div",Z1,[n?.lastUsedAt?(l(),d("span",x1,c(e.fmt?.humanTime(n?.lastUsedAt)),1)):f("v-if",!0),n?.lastUsedAt?f("v-if",!0):(l(),d("span",ew,"never"))]),s("div",tw,[s("button",{class:"btn btn-sm text-danger",title:"Revoke",onClick:a=>e.revokeToken(n)},[...t[43]||(t[43]=[s("i",{class:"fas fa-trash-alt"},null,-1)])],8,sw)])]))),256))])):f("v-if",!0),e.tokens?.length?f("v-if",!0):(l(),d("div",nw,[...t[45]||(t[45]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No tokens yet.",-1)])]))])):f("v-if",!0),s("div",ow,[t[47]||(t[47]=s("h2",null,[s("i",{class:"fas fa-code-branch"}),y(" Anonymized repositories")],-1)),s("span",rw,c(e.repositories?.length),1)]),s("div",iw,[s("span",aw,c(e.fmt?.number(e.repositories?.length)),1),s("span",{class:O(["summary-pill ok",{active:e.filters?.status?.ready===!1}]),title:"Toggle ready filter",onClick:t[8]||(t[8]=n=>e.filters.status.ready=!e.filters.status.ready)},[t[48]||(t[48]=y("Ready ",-1)),s("span",lw,c(e.fmt?.number(e.statusCountFor("ready"))),1)],2),s("span",{class:O(["summary-pill warn",{active:e.filters?.status?.preparing===!1}]),title:"Toggle preparing filter",onClick:t[9]||(t[9]=n=>e.filters.status.preparing=!e.filters.status.preparing)},[t[49]||(t[49]=y("Preparing ",-1)),s("span",dw,c(e.fmt?.number(e.statusCountFor("preparing"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.filters?.status?.error===!1}]),title:"Toggle errored filter",onClick:t[10]||(t[10]=n=>e.filters.status.error=!e.filters.status.error)},[t[50]||(t[50]=y("Errored ",-1)),s("span",uw,c(e.fmt?.number(e.statusCountFor("error"))),1)],2),s("span",{class:O(["summary-pill",{active:e.filters?.status?.expired===!1}]),title:"Toggle expired filter",onClick:t[11]||(t[11]=n=>e.filters.status.expired=!e.filters.status.expired)},[t[51]||(t[51]=y("Expired ",-1)),s("span",cw,c(e.fmt?.number(e.statusCountFor("expired"))),1)],2),s("span",{class:O(["summary-pill",{active:e.filters?.status?.removed===!1}]),title:"Toggle removed filter",onClick:t[12]||(t[12]=n=>e.filters.status.removed=!e.filters.status.removed)},[t[52]||(t[52]=y("Removed ",-1)),s("span",pw,c(e.fmt?.number(e.statusCountFor("removed"))),1)],2)]),E((l(),d("form",fw,[s("div",mw,[s("div",hw,[E(s("input",vw,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),t[54]||(t[54]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[13]||(t[13]=n=>e.exportCsv())},[...t[53]||(t[53]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])])])])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",yw,[s("span",null,[s("strong",null,c(e.selectedCount()),1),t[55]||(t[55]=y(" selected",-1))]),s("button",{class:"btn btn-sm",type:"button",onClick:t[14]||(t[14]=n=>e.bulkRefresh())},[...t[56]||(t[56]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force refresh",-1)])]),s("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[15]||(t[15]=n=>e.bulkRemoveCache())},[...t[57]||(t[57]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])]),s("button",{class:"btn btn-sm",type:"button",onClick:t[16]||(t[16]=n=>e.clearSelection())},"Clear")])):f("v-if",!0),s("div",gw,[s("div",bw,[s("div",ww,[s("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[17]||(t[17]=n=>e.selectAllOnPage()),checked:e.allSelected},null,8,kw)]),s("div",_w,[s("span",{class:O(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[18]||(t[18]=n=>e.sortBy("source.repositoryName"))},[t[58]||(t[58]=y("Repository ",-1)),s("i",{class:O(["fas",e.sortIcon("source.repositoryName")])},null,2)],2)]),s("div",Ew,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[19]||(t[19]=n=>e.sortBy("status"))},[t[59]||(t[59]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),s("div",Cw,[s("span",{class:O(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[20]||(t[20]=n=>e.sortBy("pageView"))},[t[60]||(t[60]=y("Views ",-1)),s("i",{class:O(["fas",e.sortIcon("pageView")])},null,2)],2)]),s("div",Nw,[s("span",{class:O(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[21]||(t[21]=n=>e.sortBy("anonymizeDate"))},[t[61]||(t[61]=y("Anonymized ",-1)),s("i",{class:O(["fas",e.sortIcon("anonymizeDate")])},null,2)],2)]),t[62]||(t[62]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredRepositories,(n,i)=>(l(),d("div",{class:O(["paper-table-row",{"repo-inactive":n?.status=="expired"||n?.status=="removed","repo-error":n?.status=="error","row-selected":e.selected[n?.repoId]}]),role:"row"},[s("div",Sw,[E(s("input",Dw,null,512),[[o,{state:e.viewState,set:a=>{e.selected[n.repoId]=a},value:e.selected[n?.repoId],form:null,options:{}}]])]),s("div",Rw,[t[67]||(t[67]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",Tw,[s("a",{class:"repo-name",target:"_blank",textContent:c(n?.repoId),href:e.safeUrl("/r/"+n?.repoId)},null,8,Ow),s("div",Aw,[s("a",{textContent:c(n?.source?.fullName),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/")},null,8,Iw),n?.options?.update?(l(),d("span",Vw,[t[63]||(t[63]=y("\xA0\xB7\xA0",-1)),s("a",{textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,Pw)])):f("v-if",!0),n?.options?.update?f("v-if",!0):(l(),d("span",qw,[t[64]||(t[64]=y("\xA0\xB7\xA0@",-1)),s("a",{textContent:c(n?.source?.commit?.substring(0,8)),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},null,8,Mw)])),n?.conference?(l(),d("span",$w,[t[65]||(t[65]=y("\xA0\xB7\xA0",-1)),t[66]||(t[66]=s("i",{class:"fas fa-chalkboard-teacher"},null,-1)),y(" "+c(n?.conference),1)])):f("v-if",!0),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.humanFileSize(n?.size?.storage)),1),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.number(n?.options?.terms?.length))+" terms",1)])])]),s("div",Uw,[s("span",Lw,[s("span",{class:O(["status-dot",{"status-removed":n?.status=="removed"||n?.status=="expired","status-ready":n?.status=="ready","status-error":n?.status=="error","status-preparing":n?.status=="preparing"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,Fw)]),n?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(n?.statusMessage)),title:n?.statusMessage},null,8,zw)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView||0))},null,8,Hw),s("div",{class:"cell-expires",role:"cell",textContent:c(e.fmt?.humanTime(n?.anonymizeDate))},null,8,Bw),s("div",Gw,[s("div",jw,[t[79]||(t[79]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",Ww,[s("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+n?.repoId)},[...t[68]||(t[68]=[s("i",{class:"far fa-edit"},null,-1),y(" Edit",-1)])],8,Kw),s("a",{class:"dropdown-item",href:e.safeUrl("/r/"+n?.repoId+"/")},[...t[69]||(t[69]=[s("i",{class:"fa fa-eye"},null,-1),y(" View repo",-1)])],8,Yw),n?.options?.page&&n?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+n?.repoId+"/")},[...t[70]||(t[70]=[s("i",{class:"fas fa-globe"},null,-1),y(" View page",-1)])],8,Jw)):f("v-if",!0),s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.fetchGithubInfo(n),["prevent"])},[...t[71]||(t[71]=[s("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,Qw),t[77]||(t[77]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.updateRepository(n),["prevent"])},[...t[72]||(t[72]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force update",-1)])],8,Xw),[[B,n?.status=="ready"||n?.status=="error"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.updateRepository(n),["prevent"])},[...t[73]||(t[73]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Enable",-1)])],8,Zw),[[B,n?.status=="removed"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.showStatusMessage(n),["prevent"])},[...t[74]||(t[74]=[s("i",{class:"fas fa-exclamation-triangle"},null,-1),y(" View status message",-1)])],8,xw),[[B,n?.statusMessage]]),t[78]||(t[78]=s("div",{class:"dropdown-divider"},null,-1)),s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.removeCache(n),["prevent"])},[...t[75]||(t[75]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])],8,ek),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:we(a=>e.removeRepository(n),["prevent"])},[...t[76]||(t[76]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,tk),[[B,n?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",sk,[...t[80]||(t[80]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No repositories match the current filters.",-1)])])):f("v-if",!0)])])}var nk={class:"container paper-page admin-page"},ok={class:"admin-summary"},rk={class:"summary-total"},ik={class:"count"},ak={class:"count"},lk={class:"count"},dk={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},uk={class:"w-100 admin-filter-toolbar","aria-label":"Users","accept-charset":"UTF-8"},ck={class:"admin-filter-row"},pk={class:"search-wrap"},fk={type:"search",class:"form-control","aria-label":"Search users",placeholder:"Search username or email\u2026",autocomplete:"off"},mk={key:0,class:"admin-search-hint"},hk={class:"admin-filter-inline"},vk={class:"form-control form-control-sm"},yk={class:"admin-filter-inline","aria-label":"Pagination"},gk=["disabled"],bk={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},wk=["disabled"],kk={key:0,class:"admin-filter-row"},_k={class:"admin-active-chips"},Ek={class:"key"},Ck=["onClick"],Nk={key:1,class:"bulk-bar"},Sk={class:"paper-table w-100",role:"table","aria-label":"Users",style:{"--cols":"28px minmax(280px, 2.4fr) 100px 140px 140px 52px"}},Dk={class:"paper-table-head admin-users-row",role:"row"},Rk={role:"columnheader",style:{width:"28px"}},Tk=["checked"],Ok={role:"columnheader"},Ak={role:"columnheader"},Ik={role:"cell",style:{width:"28px"}},Vk={type:"checkbox","aria-label":"Select user"},Pk={class:"cell-anon",role:"cell"},qk=["src"],Mk={class:"anon-text"},$k=["textContent","href"],Uk={class:"anon-sub"},Lk={key:0},Fk={key:1},zk=["href"],Hk={key:2},Bk={class:"cell-views num",role:"cell"},Gk=["textContent","href"],jk={class:"cell-status",role:"cell"},Wk=["textContent"],Kk={class:"cell-status",role:"cell"},Yk={key:0,class:"type-badge type-repo"},Jk={key:1,class:"empty-dash"},Qk={class:"cell-actions",role:"cell"},Xk={class:"dropdown"},Zk={class:"dropdown-menu dropdown-menu-right"},xk=["href"],e0=["href"],t0=["onClick"],s0=["onClick"],n0={key:0,class:"paper-table-empty"},o0={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},r0={style:{"font-size":"12px",color:"var(--ink-muted)"}},i0={key:0,class:"pagination-compact"},a0=["disabled"],l0=["max"],d0=["disabled"],u0={class:"admin-filter-inline"},c0={class:"form-control form-control-sm"};function tl(e,t){let o=be("field"),r=be("form");return l(),d("div",nk,[t[43]||(t[43]=ge('
Admin \xA0/\xA0 Users

Users

',3)),s("div",ok,[s("span",rk,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),s("span",{class:O(["summary-pill ok",{active:e.query?.status=="active"}]),onClick:t[0]||(t[0]=n=>{e.query.status=e.query.status=="active"?"":"active",e.query.page=1})},[t[13]||(t[13]=y("Active ",-1)),s("span",ik,c(e.fmt?.number(e.statusCountFor("active"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.query?.status=="banned"}]),onClick:t[1]||(t[1]=n=>{e.query.status=e.query.status=="banned"?"":"banned",e.query.page=1})},[t[14]||(t[14]=y("Banned ",-1)),s("span",ak,c(e.fmt?.number(e.statusCountFor("banned"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.status=="removed"}]),onClick:t[2]||(t[2]=n=>{e.query.status=e.query.status=="removed"?"":"removed",e.query.page=1})},[t[15]||(t[15]=y("Removed ",-1)),s("span",lk,c(e.fmt?.number(e.statusCountFor("removed"))),1)],2)]),e.fetchError?(l(),d("div",dk,[t[16]||(t[16]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fetchError),1)])):f("v-if",!0),E((l(),d("form",uk,[s("div",ck,[s("div",pk,[E(s("input",fk,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",mk,"/"))]),s("span",hk,[t[18]||(t[18]=s("label",null,"Role",-1)),E((l(),d("select",vk,[...t[17]||(t[17]=[s("option",{value:""},"Any",-1),s("option",{value:"admin"},"Admin",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.role=n},value:e.query?.role,form:null,options:{}}]])]),t[22]||(t[22]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",onClick:t[3]||(t[3]=n=>e.exportCsv())},[...t[19]||(t[19]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])]),s("span",yk,[s("button",{class:"btn btn-sm",type:"button",onClick:t[4]||(t[4]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[20]||(t[20]=[s("i",{class:"fas fa-chevron-left"},null,-1)])],8,gk),s("span",bk,c(e.query?.page)+"/"+c(e.totalPage||1),1),s("button",{class:"btn btn-sm",type:"button",onClick:t[5]||(t[5]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[21]||(t[21]=[s("i",{class:"fas fa-chevron-right"},null,-1)])],8,wk)])]),e.chips?.length?(l(),d("div",kk,[s("div",_k,[(l(!0),d(J,null,ne(e.chips,(n,i)=>(l(),d("span",{class:"admin-active-chip",key:n?.key},[s("span",Ek,c(n?.label),1),s("span",null,c(n?.value),1),s("button",{type:"button",onClick:a=>e.clearFilter(n.key)},[...t[23]||(t[23]=[s("i",{class:"fas fa-times"},null,-1)])],8,Ck)]))),128))])])):f("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",Nk,[s("span",null,[s("strong",null,c(e.selectedCount()),1),t[24]||(t[24]=y(" selected",-1))]),s("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[6]||(t[6]=n=>e.bulkBan())},[...t[25]||(t[25]=[s("i",{class:"fas fa-ban"},null,-1),y(" Ban",-1)])]),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>{e.selected={},e.allSelected=!1})},"Clear")])):f("v-if",!0),s("div",Sk,[s("div",Dk,[s("div",Rk,[s("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[8]||(t[8]=n=>e.selectAllOnPage()),checked:e.allSelected},null,8,Tk)]),s("div",Ok,[s("span",{class:O(["sortable",{active:e.query?.sort=="username"}]),onClick:t[9]||(t[9]=n=>e.sortBy("username"))},[t[26]||(t[26]=y("User ",-1)),s("i",{class:O(["fas",e.sortIcon("username")])},null,2)],2)]),t[28]||(t[28]=s("div",{role:"columnheader",class:"num"},"Repos",-1)),s("div",Ak,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[10]||(t[10]=n=>e.sortBy("status"))},[t[27]||(t[27]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),t[29]||(t[29]=s("div",{role:"columnheader"},"Role",-1)),t[30]||(t[30]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredUsers,(n,i)=>(l(),d("div",{class:O(["paper-table-row admin-users-row",{"row-selected":e.selected[n?.username]}]),role:"row"},[s("div",Ik,[E(s("input",Vk,null,512),[[o,{state:e.viewState,set:a=>{e.selected[n.username]=a},value:e.selected[n?.username],form:null,options:{}}]])]),s("div",Pk,[n?.photo?(l(),d("img",{key:0,width:"28",height:"28",class:"rounded-circle",style:{"flex-shrink":"0"},src:e.safeUrl(n?.photo)},null,8,qk)):f("v-if",!0),s("div",Mk,[s("a",{class:"repo-name",textContent:c(n?.username),href:e.safeUrl("/admin/users/"+n?.username)},null,8,$k),s("div",Uk,[n?.emails[0].email?(l(),d("span",Lk,c(n?.emails[0].email),1)):f("v-if",!0),n?.emails[0].email?(l(),d("span",Fk,"\xA0\xB7\xA0")):f("v-if",!0),s("a",{target:"_blank",href:e.safeUrl("https://github.com/"+n?.username)},[t[31]||(t[31]=s("i",{class:"fab fa-github"},null,-1)),y(" "+c(n?.username),1)],8,zk),n?.dateOfEntry?(l(),d("span",Hk,"\xA0\xB7\xA0Joined "+c(e.fmt?.humanTime(n?.dateOfEntry)),1)):f("v-if",!0)])])]),s("div",Bk,[s("a",{title:"Show this user's repositories",textContent:c(e.fmt?.number(n?.repoCount||0)),href:e.safeUrl("/admin/?owner="+n?.username)},null,8,Gk)]),s("div",jk,[s("span",{class:O(["status-dot",{"status-ready":n?.status=="active","status-removed":n?.status=="removed"||n?.status=="banned"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,Wk)]),s("div",Kk,[n?.isAdmin?(l(),d("span",Yk,"Admin")):f("v-if",!0),n?.isAdmin?f("v-if",!0):(l(),d("span",Jk,"\u2014"))]),s("div",Qk,[s("div",Xk,[t[37]||(t[37]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",Zk,[s("a",{class:"dropdown-item",href:e.safeUrl("/admin/users/"+n?.username)},[...t[32]||(t[32]=[s("i",{class:"far fa-eye"},null,-1),y(" View details",-1)])],8,xk),s("a",{class:"dropdown-item",href:e.safeUrl("/admin/?owner="+n?.username)},[...t[33]||(t[33]=[s("i",{class:"fas fa-code-branch"},null,-1),y(" View repositories",-1)])],8,e0),t[36]||(t[36]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:we(a=>e.banUser(n),["prevent"])},[...t[34]||(t[34]=[s("i",{class:"fas fa-ban"},null,-1),y(" Ban",-1)])],8,t0),[[B,n?.status=="active"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.activateUser(n),["prevent"])},[...t[35]||(t[35]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Activate",-1)])],8,s0),[[B,n?.status=="removed"||n?.status=="banned"]])])])])],2))),256)),e.filteredUsers?.length==0?(l(),d("div",n0,[...t[38]||(t[38]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No users match the current filters.",-1)])])):f("v-if",!0)]),s("div",o0,[s("span",r0,c(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",i0,[s("button",{class:"btn btn-sm",onClick:t[11]||(t[11]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[39]||(t[39]=[s("i",{class:"fas fa-chevron-left"},null,-1),y(" Previous",-1)])],8,a0),E(s("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,l0),[[o,{state:e.viewState,set:n=>{e.query.page=n},value:e.query?.page,form:null,options:{}}]]),s("span",null,"of "+c(e.totalPage),1),s("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[40]||(t[40]=[y("Next ",-1),s("i",{class:"fas fa-chevron-right"},null,-1)])],8,d0)])):f("v-if",!0),s("span",u0,[t[42]||(t[42]=s("label",null,"Per page",-1)),E((l(),d("select",c0,[...t[41]||(t[41]=[s("option",{value:"10"},"10",-1),s("option",{value:"25"},"25",-1),s("option",{value:"50"},"50",-1),s("option",{value:"100"},"100",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.limit=n},value:e.query?.limit,form:null,options:{}}]])])])])}var p0={class:"anonymize-page h-100"},f0={class:"anonymize-landing"},m0={class:"anonymize-landing-inner"},h0={class:"form-group mt-4 mb-2"},v0={class:"source-url-label-row"},y0={key:0,class:"repo-access","aria-label":"GitHub access"},g0={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},b0=["aria-pressed","disabled"],w0=["aria-pressed","disabled"],k0={key:1,class:"connection-badge"},_0={id:"sourceUrl-landing",type:"text",class:"form-control form-control-lg",placeholder:"https://github.com/owner/repository"},E0={key:0,class:"alert alert-info",role:"status"},C0={key:1},N0={key:1,class:"repo-access-details","aria-label":"GitHub access"},S0={class:"repo-access-main"},D0={class:"repo-access-controls"},R0={key:1,class:"connection-link",href:"/connections"},T0={class:"repo-access-note"},O0={key:0},A0={class:"anonymize-workspace"},I0={class:"anonymize-topbar"},V0={class:"anonymize-topbar-inner"},P0={class:"paper-crumbs"},q0={class:"here"},M0={class:"anonymize-topbar-head"},$0={class:"paper-page-title anonymize-topbar-title"},U0={key:0},L0={key:1},F0={class:"anonymize-split"},z0={class:"anonymize-form-col overflow-auto"},H0={class:"form needs-validation paper-settings-main",name:"anonymize",novalidate:""},B0={class:"paper-settings-section"},G0={class:"form-group"},j0={class:"source-url-label-row"},W0={key:0,class:"repo-access","aria-label":"GitHub access"},K0={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},Y0=["aria-pressed","disabled"],J0=["aria-pressed","disabled"],Q0={key:1,class:"connection-badge"},X0=["disabled"],Z0={class:"invalid-feedback"},x0={class:"invalid-feedback"},e_={class:"invalid-feedback"},t_={class:"invalid-feedback"},s_={key:0,class:"repo-access-details","aria-label":"GitHub access"},n_={class:"repo-access-main"},o_={class:"repo-access-controls"},r_={key:1,class:"connection-link",href:"/connections"},i_={class:"repo-access-note"},a_={key:0},l_={key:1,class:"repo-access-details"},d_={key:0,role:"status"},u_={key:2,class:"form-grid-2"},c_={class:"form-group"},p_={class:"input-group"},f_={class:"form-control",id:"branch",name:"branch"},m_=["textContent","value"],h_={class:"input-group-append"},v_={class:"form-group"},y_=["disabled"],g_={class:"invalid-feedback"},b_={class:"invalid-feedback"},w_={class:"form-check"},k_={class:"form-check-input",type:"checkbox",id:"update",name:"update"},__={class:"paper-settings-section"},E_={class:"form-group"},C_=["disabled"],N_={class:"form-text text-muted"},S_={class:"invalid-feedback"},D_={class:"form-group"},R_=["disabled"],T_={class:"form-text text-muted"},O_={class:"invalid-feedback"},A_={class:"form-group"},I_=["disabled"],V_={class:"form-text text-muted"},P_={class:"invalid-feedback"},q_={class:"form-group"},M_={class:"form-text text-muted"},$_=["href"],U_={class:"invalid-feedback"},L_={class:"form-text text-muted"},F_={class:"paper-settings-section"},z_={class:"form-group"},H_={class:"form-text text-muted"},B_={class:"warning-feedback"},G_={class:"invalid-feedback"},j_={class:"paper-settings-section"},W_={class:"form-check"},K_={class:"form-check-input",type:"checkbox",id:"link",name:"link"},Y_={class:"form-check"},J_={class:"form-check-input",type:"checkbox",id:"image",name:"image"},Q_={class:"form-check"},X_={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},Z_={class:"form-check"},x_={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},eE={class:"form-check"},tE=["disabled"],sE={class:"form-check"},nE={class:"form-check-input",type:"checkbox",id:"title-gist",name:"title-gist"},oE={class:"form-check"},rE={class:"form-check-input",type:"checkbox",id:"content-gist",name:"content-gist"},iE={class:"form-check"},aE={class:"form-check-input",type:"checkbox",id:"comments-gist",name:"comments-gist"},lE={class:"form-check"},dE={class:"form-check-input",type:"checkbox",id:"username-gist",name:"username-gist"},uE={class:"form-check"},cE={class:"form-check-input",type:"checkbox",id:"date-gist",name:"date-gist"},pE={class:"form-check"},fE={class:"form-check-input",type:"checkbox",id:"origin-gist",name:"origin-gist"},mE={class:"form-check"},hE={class:"form-check-input",type:"checkbox",id:"title",name:"title"},vE={class:"form-check"},yE={class:"form-check-input",type:"checkbox",id:"body",name:"body"},gE={class:"form-check"},bE={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},wE={class:"form-check"},kE={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},_E={class:"form-check"},EE={class:"form-check-input",type:"checkbox",id:"username",name:"username"},CE={class:"form-check"},NE={class:"form-check-input",type:"checkbox",id:"date",name:"date"},SE={class:"form-check"},DE={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},RE={class:"paper-settings-section"},TE={class:"form-grid-2"},OE={class:"form-group"},AE={class:"form-control",id:"expiration",name:"expiration"},IE={class:"form-group"},VE=["min","max"],PE={class:"invalid-feedback"},qE={class:"invalid-feedback"},ME={class:"paper-settings-section"},$E={class:"form-group"},UE={style:{position:"relative"}},LE={type:"text",id:"coauthorSearch",class:"form-control",placeholder:"Search GitHub username\u2026",autocomplete:"off"},FE={class:"dropdown-menu show",style:{display:"block","max-height":"220px","overflow-y":"auto",width:"100%"}},zE=["onClick"],HE=["src"],BE=["textContent"],GE=["textContent"],jE={class:"coauthor-list"},WE={class:"coauthor-row d-flex align-items-center",style:{padding:"6px 0",gap:"8px"}},KE=["src"],YE=["textContent","href"],JE=["onClick"],QE={class:"form-text text-muted"},XE=["textContent"],ZE={class:"anonymize-submit-bar"},xE={key:0,class:"anonymize-preview-col"},eC=["innerHTML"],tC={key:1,class:"anonymize-preview-col"},sC={class:"anonymize-preview-body"},nC={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},oC={class:"pr-title mb-1"},rC={key:0},iC=["textContent"],aC={key:0},lC={key:1},dC={key:2},uC={class:"pr-comments mt-3"},cC={class:"pr-comment"},pC={class:"pr-comment-head"},fC=["textContent"],mC={key:0,class:"pr-comment-date"},hC={key:3},vC={class:"pr-comments"},yC={class:"pr-comment"},gC={class:"pr-comment-head"},bC={key:0,class:"pr-comment-author"},wC=["textContent"],kC=["textContent"],_C={key:0,class:"pr-comment-body"},EC={key:2,class:"anonymize-preview-col"},CC={class:"anonymize-preview-body"},NC={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},SC={class:"pr-title mb-1"},DC={key:0},RC=["textContent"],TC={key:0},OC={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--paper-bg-alt)"}},AC={key:2,class:"paper-tabs",role:"tablist"},IC=["textContent"],VC={class:"paper-tab-content"},PC={key:0},qC=["innerHTML"],MC={key:1},$C={class:"pr-comments"},UC={class:"pr-comment"},LC={class:"pr-comment-head"},FC={key:0,class:"pr-comment-author"},zC=["textContent"],HC=["textContent"],BC={key:0,class:"pr-comment-body"};function sl(e,t){let o=et("gist-file"),r=et("markdown"),n=be("field"),i=be("form");return l(),d("div",p0,[f(" ===== STATE 1: No URL \u2014 centered input ===== "),E(s("div",f0,[s("div",m0,[t[23]||(t[23]=s("div",{class:"paper-crumbs"},[y("My work \xA0/\xA0 "),s("span",{class:"here"},"New anonymization")],-1)),t[24]||(t[24]=s("h1",{class:"paper-page-title"},[y("New "),s("em",null,"anonymization")],-1)),t[25]||(t[25]=s("p",{class:"paper-page-lede"}," Paste a GitHub repository, pull-request, or gist URL. We\u2019ll fetch it, strip every trace of identity, and hand you back a stable link. ",-1)),s("div",h0,[s("div",v0,[t[18]||(t[18]=s("label",{class:"paper-field-label",for:"sourceUrl-landing"},"Source URL",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",y0,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",g0,[s("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[0]||(t[0]=a=>e.chooseGitHubConnection("github-app"))},[...t[17]||(t[17]=[s("i",{class:"fas fa-shield-alt","aria-hidden":"true"},null,-1),y(),s("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,b0),s("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[1]||(t[1]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,w0)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",k0,c(e.detectedType!=="gist"&&e.githubConnection==="github-app"?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),E(s("input",_0,null,512),[[n,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:null,options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]])]),t[26]||(t[26]=s("small",{class:"form-text",style:{color:"var(--ink-muted)"}}," Repository, pull request (\u2026/pull/42) and gist (gist.github.com/\u2026) URLs are all accepted. ",-1)),e.detectedType==="gist"&&e.gistOAuthRequired?(l(),d("aside",E0,[t[19]||(t[19]=s("p",null,"Connect GitHub OAuth to access gists. Your account and existing anonymizations stay the same, and your draft will be restored when you return.",-1)),t[20]||(t[20]=s("p",null,"GitHub's legacy OAuth connection includes write access to private repositories.",-1)),e.githubConnections?.oauthEnabled?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[2]||(t[2]=a=>e.connectGistOAuth())},"Connect GitHub OAuth to access gists")):(l(),d("p",C0,"GitHub OAuth is currently unavailable. Please try again later."))])):f("v-if",!0),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",N0,[s("div",S0,[s("div",D0,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[3]||(t[3]=a=>e.grantGitHubAccess())},[...t[21]||(t[21]=[y("Manage access ",-1),s("i",{class:"fas fa-external-link-alt","aria-hidden":"true"},null,-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",R0,c(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):f("v-if",!0)])]),s("div",T0,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",O0,"Select repositories on GitHub, then return here.")):f("v-if",!0),t[22]||(t[22]=s("span",null,[s("i",{class:"fas fa-info-circle","aria-hidden":"true"}),y(" Selected content will be published, including content from private repositories.")],-1))])])):f("v-if",!0)])],512),[[B,!e.sourceUrl]]),f(" ===== STATE 2: URL provided \u2014 form (left) + preview (right) ===== "),E(s("div",A0,[s("header",I0,[s("div",V0,[s("div",P0,[t[27]||(t[27]=s("a",{href:"/dashboard"},"My work",-1)),t[28]||(t[28]=y(" \xA0/\xA0 ",-1)),s("span",q0,c(e.isUpdate?"Edit anonymization":"New anonymization"),1)]),s("div",M0,[s("h1",$0,[e.isUpdate?f("v-if",!0):(l(),d("span",U0,[...t[29]||(t[29]=[y("New ",-1),s("em",null,"anonymization",-1)])])),e.isUpdate?(l(),d("span",L0,[...t[30]||(t[30]=[y("Edit ",-1),s("em",null,"anonymization",-1)])])):f("v-if",!0)]),E(s("span",{class:O(["type-badge",{"type-repo":e.detectedType==="repo","type-pr":e.detectedType==="pr","type-gist":e.detectedType==="gist"}])},c(e.detectedType==="repo"?"Repo":e.detectedType==="pr"?"PR":"Gist"),3),[[B,e.detectedType]])])])]),s("div",F0,[f(" Form column (left) "),s("div",z0,[E((l(),d("form",H0,[s("section",B0,[t[41]||(t[41]=s("div",{class:"paper-section-eyebrow"},"Source",-1)),s("div",G0,[s("div",j0,[t[32]||(t[32]=s("label",{class:"paper-field-label",for:"sourceUrl"},"GitHub URL",-1)),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",W0,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",K0,[s("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[4]||(t[4]=a=>e.chooseGitHubConnection("github-app"))},[...t[31]||(t[31]=[s("i",{class:"fas fa-shield-alt","aria-hidden":"true"},null,-1),y(),s("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,Y0),s("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[5]||(t[5]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,J0)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",Q0,c(e.detectedType!=="gist"&&e.githubConnection==="github-app"?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.sourceUrl?.invalid}]),name:"sourceUrl",id:"sourceUrl",disabled:e.isUpdate&&e.detectedType!=="repo",placeholder:"Paste a GitHub repo or pull request URL"},null,10,X0),[[n,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),E(s("div",Z0," Please provide a valid GitHub URL. ",512),[[B,e.anonymize?.sourceUrl?.errors?.github]]),E(s("div",x0," Not accessible. The organization may restrict access. ",512),[[B,e.anonymize?.sourceUrl?.errors?.access]]),E(s("div",e_," Does not exist or is not accessible. ",512),[[B,e.anonymize?.sourceUrl?.errors?.missing]]),E(s("div",t_," Already anonymized. ",512),[[B,e.anonymize?.sourceUrl?.errors?.used]])]),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",s_,[s("div",n_,[s("div",o_,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[6]||(t[6]=a=>e.grantGitHubAccess())},[...t[33]||(t[33]=[y("Manage access ",-1),s("i",{class:"fas fa-external-link-alt","aria-hidden":"true"},null,-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",r_,c(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):f("v-if",!0)])]),s("div",i_,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",a_,"Select repositories on GitHub, then return here.")):f("v-if",!0),t[34]||(t[34]=s("span",null,[s("i",{class:"fas fa-info-circle","aria-hidden":"true"}),y(" Selected content will be published, including content from private repositories.")],-1))])])):f("v-if",!0),e.isUpdate&&e.detectedType==="repo"&&e.role==="owner"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("aside",l_,[t[35]||(t[35]=s("p",null,"If you deleted and recreated this repository, reconnect it before choosing a branch.",-1)),s("button",{type:"button",class:"btn btn-outline-ink",onClick:t[7]||(t[7]=a=>e.reconnectSource())},"Reconnect source repository"),e.reconnectRepositoryId?(l(),d("p",d_,"Source reloaded. Review the branch, commit, and anonymization preview, then save to replace the published snapshot.")):f("v-if",!0)])):f("v-if",!0),e.detectedType==="repo"?(l(),d("div",u_,[s("div",c_,[t[37]||(t[37]=s("label",{class:"paper-field-label",for:"branch"},"Branch",-1)),s("div",p_,[E((l(),d("select",f_,[(l(!0),d(J,null,ne(e.branches,(a,u)=>(l(),d("option",{textContent:c(a?.name),value:a?.name},null,8,m_))),256))])),[[n,{state:e.viewState,set:a=>{e.source.branch=a},value:e.source?.branch,form:"anonymize",options:{}}]]),s("div",h_,[s("button",{class:"btn",type:"button",title:"Refresh","data-toggle":"tooltip","data-placement":"bottom",onClick:t[8]||(t[8]=a=>e.getBranches(!0))},[...t[36]||(t[36]=[s("i",{class:"fas fa-sync","aria-hidden":"true"},null,-1)])])])])]),s("div",v_,[t[38]||(t[38]=s("label",{class:"paper-field-label",for:"commit"},"Commit",-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.commit?.invalid}]),id:"commit",disabled:e.options.update,name:"commit",pattern:"[a-fA-Z0-9]{6,}",required:""},null,10,y_),[[n,{state:e.viewState,set:a=>{e.source.commit=a},value:e.source?.commit,form:"anonymize",options:{}}]]),E(s("div",g_," The commit SHA is not valid. ",512),[[B,e.anonymize?.commit?.errors?.pattern||e.anonymize?.commit?.errors?.required]]),E(s("div",b_," This commit no longer exists in the repository. Click refresh to get the latest. ",512),[[B,e.anonymize?.commit?.errors?.exists]])])])):f("v-if",!0),E(s("div",w_,[E(s("input",k_,null,512),[[n,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"anonymize",options:{}}]]),t[39]||(t[39]=s("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[40]||(t[40]=s("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))],512),[[B,e.detectedType]])]),E(s("section",__,[t[52]||(t[52]=s("div",{class:"paper-section-eyebrow"},"Identity",-1)),E(s("div",E_,[t[44]||(t[44]=s("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.repoId?.invalid}]),name:"repoId",id:"repoId",disabled:e.isUpdate},null,10,C_),[[n,{state:e.viewState,set:a=>{e.repoId=a},value:e.repoId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",N_,[t[42]||(t[42]=y("Your share link will be ",-1)),s("code",null,"anonymous.4open.science/r/"+c(e.repoId),1),t[43]||(t[43]=y(".",-1))]),E(s("div",S_,"ID can only contain letters and numbers.",512),[[B,e.anonymize?.repoId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.repoId)+" is already used.",513),[[B,e.anonymize?.repoId?.errors?.used]])],512),[[B,e.detectedType==="repo"]]),E(s("div",D_,[t[47]||(t[47]=s("label",{class:"paper-field-label",for:"pullRequestId"},"Anonymized pull request ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId",disabled:e.isUpdate},null,10,R_),[[n,{state:e.viewState,set:a=>{e.pullRequestId=a},value:e.pullRequestId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",T_,[t[45]||(t[45]=y("Your share link will be ",-1)),s("code",null,"anonymous.4open.science/pr/"+c(e.pullRequestId),1),t[46]||(t[46]=y(".",-1))]),E(s("div",O_,"ID can only contain letters and numbers.",512),[[B,e.anonymize?.pullRequestId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used.",513),[[B,e.anonymize?.pullRequestId?.errors?.used]])],512),[[B,e.detectedType==="pr"]]),E(s("div",A_,[t[50]||(t[50]=s("label",{class:"paper-field-label",for:"gistId"},"Anonymized gist ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.gistId?.invalid}]),name:"gistId",id:"gistId",disabled:e.isUpdate},null,10,I_),[[n,{state:e.viewState,set:a=>{e.gistId=a},value:e.gistId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",V_,[t[48]||(t[48]=y("Your share link will be ",-1)),s("code",null,"anonymous.4open.science/gist/"+c(e.gistId),1),t[49]||(t[49]=y(".",-1))]),E(s("div",P_,"ID can only contain letters and numbers.",512),[[B,e.anonymize?.gistId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.gistId)+" is already used.",513),[[B,e.anonymize?.gistId?.errors?.used]])],512),[[B,e.detectedType==="gist"]]),s("div",q_,[t[51]||(t[51]=s("label",{class:"paper-field-label",for:"conference"},[y("Conference "),s("span",{class:"paper-optional"},"(optional)")],-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[n,{state:e.viewState,set:a=>{e.conference=a},value:e.conference,form:"anonymize",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),E(s("small",M_,[s("a",{target:"_blank",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,$_),y(" expires "+c(e.fmt?.date(e.conference_data?.endDate))+". ",1)],512),[[B,e.conference_data]]),E(s("div",U_,"The conference is not activated.",512),[[B,e.anonymize?.conference?.errors?.activated]]),E(s("small",L_,"Link to a conference to apply its shared defaults.",512),[[B,!e.conference_data]])])],512),[[B,e.detectedType]]),E(s("section",F_,[t[60]||(t[60]=s("div",{class:"paper-section-eyebrow"},"Anonymization",-1)),s("div",z_,[t[59]||(t[59]=s("label",{class:"paper-field-label",for:"terms"},"Terms to redact",-1)),E(s("textarea",{class:O(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"4"},null,2),[[n,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"anonymize",options:{debounce:250}}]]),s("small",H_,[t[53]||(t[53]=y("One term per line (regex allowed). Replaced by ",-1)),s("code",null,c(e.site_options?.ANONYMIZATION_MASK)+"-[N]",1),t[54]||(t[54]=y(", or use ",-1)),t[55]||(t[55]=s("code",null,"term=>replacement",-1)),t[56]||(t[56]=y(" to pick your own (e.g. ",-1)),t[57]||(t[57]=s("code",null,"Anonymous=>ABC",-1)),t[58]||(t[58]=y(").",-1))]),E(s("div",B_,"Regex characters detected. Escape them if unintentional.",512),[[B,e.termsRegexWarning]]),E(s("div",G_,"Terms are in an invalid format.",512),[[B,e.anonymize?.terms?.errors?.format]])])],512),[[B,e.detectedType]]),E(s("section",j_,[t[79]||(t[79]=s("div",{class:"paper-section-eyebrow"},"Display",-1)),E(s("div",null,[s("div",W_,[E(s("input",K_,null,512),[[n,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"anonymize",options:{}}]]),t[61]||(t[61]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1))]),s("div",Y_,[E(s("input",J_,null,512),[[n,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"anonymize",options:{}}]]),t[62]||(t[62]=s("label",{class:"form-check-label",for:"image"},"Display images",-1))]),s("div",Q_,[E(s("input",X_,null,512),[[n,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"anonymize",options:{}}]]),t[63]||(t[63]=s("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1))]),s("div",Z_,[E(s("input",x_,null,512),[[n,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"anonymize",options:{}}]]),t[64]||(t[64]=s("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))]),s("div",eE,[E(s("input",{class:"form-check-input",type:"checkbox",id:"page",name:"page",disabled:!e.details?.hasPage||e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch},null,8,tE),[[n,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"anonymize",options:{}}]]),t[65]||(t[65]=s("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),E(s("small",{class:"form-text text-muted d-block"},c(e.fmt?.translate("WARNINGS.page_not_enabled_on_repo")),513),[[B,!e.details?.hasPage]]),E(s("small",{class:"form-text text-muted d-block"},c(e.fmt?.translate("WARNINGS.page_branch_mismatch",{pageBranch:e.details?.pageSource?.branch,selectedBranch:e.source?.branch})),513),[[B,e.details?.hasPage&&e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch]])])],512),[[B,e.detectedType==="repo"]]),E(s("div",null,[s("div",sE,[E(s("input",nE,null,512),[[n,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[66]||(t[66]=s("label",{class:"form-check-label",for:"title-gist"},"Gist description",-1))]),s("div",oE,[E(s("input",rE,null,512),[[n,{state:e.viewState,set:a=>{e.options.content=a},value:e.options?.content,form:"anonymize",options:{}}]]),t[67]||(t[67]=s("label",{class:"form-check-label",for:"content-gist"},"File contents",-1))]),s("div",iE,[E(s("input",aE,null,512),[[n,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[68]||(t[68]=s("label",{class:"form-check-label",for:"comments-gist"},"Comments",-1))]),s("div",lE,[E(s("input",dE,null,512),[[n,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[69]||(t[69]=s("label",{class:"form-check-label",for:"username-gist"},"Usernames",-1))]),s("div",uE,[E(s("input",cE,null,512),[[n,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[70]||(t[70]=s("label",{class:"form-check-label",for:"date-gist"},"Dates",-1))]),s("div",pE,[E(s("input",fE,null,512),[[n,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[71]||(t[71]=s("label",{class:"form-check-label",for:"origin-gist"},"Source gist ID",-1))])],512),[[B,e.detectedType==="gist"]]),E(s("div",null,[s("div",mE,[E(s("input",hE,null,512),[[n,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[72]||(t[72]=s("label",{class:"form-check-label",for:"title"},"PR title",-1))]),s("div",vE,[E(s("input",yE,null,512),[[n,{state:e.viewState,set:a=>{e.options.body=a},value:e.options?.body,form:"anonymize",options:{}}]]),t[73]||(t[73]=s("label",{class:"form-check-label",for:"body"},"PR body",-1))]),s("div",gE,[E(s("input",bE,null,512),[[n,{state:e.viewState,set:a=>{e.options.diff=a},value:e.options?.diff,form:"anonymize",options:{}}]]),t[74]||(t[74]=s("label",{class:"form-check-label",for:"diff"},"Diff",-1))]),s("div",wE,[E(s("input",kE,null,512),[[n,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[75]||(t[75]=s("label",{class:"form-check-label",for:"comments"},"Comments",-1))]),s("div",_E,[E(s("input",EE,null,512),[[n,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[76]||(t[76]=s("label",{class:"form-check-label",for:"username"},"Usernames",-1))]),s("div",CE,[E(s("input",NE,null,512),[[n,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[77]||(t[77]=s("label",{class:"form-check-label",for:"date"},"Dates",-1))]),s("div",SE,[E(s("input",DE,null,512),[[n,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[78]||(t[78]=s("label",{class:"form-check-label",for:"origin"},"Project name",-1))])],512),[[B,e.detectedType==="pr"]])],512),[[B,e.detectedType]]),E(s("section",RE,[t[83]||(t[83]=s("div",{class:"paper-section-eyebrow"},"Expiration",-1)),s("div",TE,[s("div",OE,[t[81]||(t[81]=s("label",{class:"paper-field-label",for:"expiration"},"Strategy",-1)),E((l(),d("select",AE,[...t[80]||(t[80]=[s("option",{value:"redirect"},"Redirect to GitHub when expired",-1),s("option",{value:"remove",selected:""},"Remove when expired",-1)])])),[[n,{state:e.viewState,set:a=>{e.options.expirationMode=a},value:e.options?.expirationMode,form:"anonymize",options:{}}]])]),s("div",IE,[t[82]||(t[82]=s("label",{class:"paper-field-label",for:"expirationDate"},"Expiration date",-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.expirationDate?.invalid}]),type:"date",name:"expirationDate",id:"expirationDate",required:"",min:e.minExpirationDate,max:e.maxExpirationDate},null,10,VE),[[n,{state:e.viewState,set:a=>{e.options.expirationDate=a},value:e.options?.expirationDate,form:"anonymize",options:{}}]]),E(s("div",PE,"Pick a date in the future.",512),[[B,e.anonymize?.expirationDate?.errors?.min]]),E(s("div",{class:"invalid-feedback"},"Pick a date on or before "+c(e.fmt?.date(e.maxExpirationDate))+".",513),[[B,e.anonymize?.expirationDate?.errors?.max]]),E(s("div",qE,"Enter a valid expiration date.",512),[[B,e.anonymize?.expirationDate?.errors?.required||e.anonymize?.expirationDate?.errors?.date]])])]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the content will be removed.",513),[[B,e.options?.expirationMode=="remove"&&e.options?.expirationDate]]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", visitors will be redirected to GitHub.",513),[[B,e.options?.expirationMode=="redirect"&&e.options?.expirationDate]])],512),[[B,e.detectedType]]),E(s("section",ME,[t[87]||(t[87]=s("div",{class:"paper-section-eyebrow"},"Co-authors",-1)),t[88]||(t[88]=s("p",{class:"form-text text-muted",style:{"margin-bottom":"8px"}}," Co-authors can view and edit these settings. They cannot delete the anonymization or manage co-authors. ",-1)),E(s("div",$E,[t[84]||(t[84]=s("label",{class:"paper-field-label",for:"coauthorSearch"},"Add a GitHub user",-1)),s("div",UE,[E(s("input",LE,null,512),[[n,{state:e.viewState,set:a=>{e.coauthorSearch=a},value:e.coauthorSearch,form:"anonymize",options:{debounce:300},change:()=>{e.searchCoauthors()}}]]),E(s("div",FE,[(l(!0),d(J,null,ne(e.coauthorResults,(a,u)=>(l(),d("a",{href:"#",class:"dropdown-item d-flex align-items-center",onClick:we(m=>e.addCoauthor(a,m),["prevent"])},[s("img",{alt:"",style:{width:"22px",height:"22px","border-radius":"50%","margin-right":"8px"},src:e.safeUrl(a?.photo)},null,8,HE),s("span",{textContent:c(a?.username)},null,8,BE)],8,zE))),256))],512),[[B,e.coauthorResults?.length>0]])]),E(s("small",{class:"form-text text-muted",textContent:c(e.coauthorError)},null,8,GE),[[B,e.coauthorError]])],512),[[B,e.role==="owner"||e.role==="admin"]]),s("div",jE,[(l(!0),d(J,null,ne(e.coauthors,(a,u)=>(l(),d("div",WE,[a?.photo?(l(),d("img",{key:0,alt:"",style:{width:"24px",height:"24px","border-radius":"50%"},src:e.safeUrl(a?.photo)},null,8,KE)):f("v-if",!0),s("a",{target:"_blank",textContent:c(a?.username),href:e.safeUrl("https://github.com/"+a?.username)},null,8,YE),t[86]||(t[86]=s("span",{class:"type-badge type-coauthor"},"Co-author",-1)),E(s("button",{type:"button",class:"btn btn-sm",style:{"margin-left":"auto"},title:"Remove co-author",onClick:m=>e.removeCoauthor(a)},[...t[85]||(t[85]=[s("i",{class:"fas fa-times"},null,-1)])],8,JE),[[B,e.role==="owner"||e.role==="admin"]])]))),256)),E(s("div",QE," No co-authors yet. ",512),[[B,!e.coauthors||e.coauthors?.length===0]])])],512),[[B,e.isUpdate&&e.detectedType==="repo"]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,XE)):f("v-if",!0),E(s("div",ZE,[e.detectedType==="repo"&&!e.isUpdate?(l(),d("button",{key:0,type:"submit",class:"btn btn-ink",onClick:t[9]||(t[9]=we(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[89]||(t[89]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize Repository ",-1)])])):f("v-if",!0),e.detectedType==="repo"&&e.isUpdate?(l(),d("button",{key:1,type:"submit",class:"btn btn-ink",onClick:t[10]||(t[10]=we(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[90]||(t[90]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update Repository ",-1)])])):f("v-if",!0),e.detectedType==="pr"&&!e.isUpdate?(l(),d("button",{key:2,type:"submit",class:"btn btn-ink",onClick:t[11]||(t[11]=we(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[91]||(t[91]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize Pull Request ",-1)])])):f("v-if",!0),e.detectedType==="pr"&&e.isUpdate?(l(),d("button",{key:3,type:"submit",class:"btn btn-ink",onClick:t[12]||(t[12]=we(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[92]||(t[92]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update Pull Request ",-1)])])):f("v-if",!0),e.detectedType==="gist"&&!e.isUpdate?(l(),d("button",{key:4,type:"submit",class:"btn btn-ink",onClick:t[13]||(t[13]=we(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[93]||(t[93]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize Gist ",-1)])])):f("v-if",!0),e.detectedType==="gist"&&e.isUpdate?(l(),d("button",{key:5,type:"submit",class:"btn btn-ink",onClick:t[14]||(t[14]=we(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[94]||(t[94]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update Gist ",-1)])])):f("v-if",!0)],512),[[B,e.detectedType]])])),[[i,e.viewState]])]),f(" Preview column (right) "),e.detectedType==="repo"&&e.html_readme?(l(),d("div",xE,[t[95]||(t[95]=s("div",{class:"anonymize-preview-head"},[s("span",{class:"paper-eyebrow"},"Live preview"),s("span",{class:"anonymize-preview-sub"},"README with redactions applied")],-1)),s("div",{class:"anonymize-preview-body markdown-body body",innerHTML:e.sanitize(e.html_readme)},null,8,eC)])):f("v-if",!0),e.detectedType==="gist"&&e.details?(l(),d("div",tC,[t[99]||(t[99]=s("div",{class:"anonymize-preview-head"},[s("span",{class:"paper-eyebrow"},"Live preview"),s("span",{class:"anonymize-preview-sub"},"Gist with redactions applied")],-1)),s("div",sC,[s("div",nC,[s("h2",oC,[e.options?.title?(l(),d("span",rC,c(e.anonymizeGistContent(e.details?.gist?.description)||"Untitled gist"),1)):f("v-if",!0),s("span",{class:O(["badge",{"badge-success":e.details?.gist?.isPublic,"badge-secondary":!e.details?.gist?.isPublic}])},c(e.details?.gist?.isPublic?"public":"secret"),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.gist?.updatedDate))},null,8,iC)):f("v-if",!0)]),e.options?.origin?(l(),d("small",aC,"Gist ID: "+c(e.details?.source?.gistId),1)):f("v-if",!0),e.options?.username&&e.details?.gist?.ownerLogin?(l(),d("small",lC,"By @"+c(e.anonymizeGistContent(e.details?.gist?.ownerLogin)),1)):f("v-if",!0),e.options?.content&&e.previewGistFiles?.length?(l(),d("div",dC,[s("ul",uC,[(l(!0),d(J,null,ne(e.previewGistFiles,(a,u)=>(l(),d("li",cC,[s("div",pC,[s("strong",{textContent:c(a?.filename)},null,8,fC),a?.language?(l(),d("span",mC,c(a?.language),1)):f("v-if",!0)]),De(o,{file:a,terms:e.terms,options:e.options},null,8,["file","terms","options"])]))),256))])])):f("v-if",!0),e.options?.comments&&e.details?.gist?.comments&&e.details?.gist?.comments?.length?(l(),d("div",hC,[t[98]||(t[98]=s("h3",{class:"paper-section-eyebrow mt-3"},"Comments",-1)),s("ul",vC,[(l(!0),d(J,null,ne(e.details?.gist?.comments,(a,u)=>(l(),d("li",yC,[s("div",gC,[e.options?.username?(l(),d("span",bC,[t[96]||(t[96]=s("i",{class:"far fa-user"},null,-1)),t[97]||(t[97]=y(" @",-1)),s("span",{textContent:c(e.anonymizeGistContent(a?.author))},null,8,wC)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,kC)):f("v-if",!0)]),e.options?.body?(l(),d("div",_C,[De(r,{content:e.anonymizeGistContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])])):f("v-if",!0),e.detectedType==="pr"&&e.details?(l(),d("div",EC,[t[104]||(t[104]=s("div",{class:"anonymize-preview-head"},[s("span",{class:"paper-eyebrow"},"Live preview"),s("span",{class:"anonymize-preview-sub"},"Pull request with redactions applied")],-1)),s("div",CC,[s("div",NC,[s("h2",SC,[e.options?.title?(l(),d("span",DC,c(e.anonymizePrContent(e.details?.pullRequest?.title)),1)):f("v-if",!0),s("span",{class:O(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,RC)):f("v-if",!0)]),e.options?.origin?(l(),d("small",TC,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",OC,[De(r,{content:e.anonymizePrContent(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),e.options?.diff||e.options?.comments?(l(),d("nav",AC,[e.options?.diff?(l(),d("button",{key:0,class:O(["paper-tab",{active:e.prTabState?.active=="diff"}]),type:"button",role:"tab",onClick:t[15]||(t[15]=a=>e.prTabState.active="diff")},[...t[100]||(t[100]=[s("i",{class:"fas fa-code"},null,-1),y(" Diff ",-1)])],2)):f("v-if",!0),e.options?.comments?(l(),d("button",{key:1,class:O(["paper-tab",{active:e.prTabState?.active=="comments"}]),type:"button",role:"tab",onClick:t[16]||(t[16]=a=>e.prTabState.active="comments")},[t[101]||(t[101]=s("i",{class:"far fa-comment-dots"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,IC)],2)):f("v-if",!0)])):f("v-if",!0),s("div",VC,[e.options?.diff&&e.prTabState?.active=="diff"?(l(),d("div",PC,[s("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.anonymizePrContent(e.details?.pullRequest?.diff)))},null,8,qC)])):f("v-if",!0),e.options?.comments&&e.prTabState?.active=="comments"?(l(),d("div",MC,[s("ul",$C,[(l(!0),d(J,null,ne(e.details?.pullRequest?.comments,(a,u)=>(l(),d("li",UC,[s("div",LC,[e.options?.username?(l(),d("span",FC,[t[102]||(t[102]=s("i",{class:"far fa-user"},null,-1)),t[103]||(t[103]=y(" @",-1)),s("span",{textContent:c(e.anonymizePrContent(a?.author))},null,8,zC)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,HC)):f("v-if",!0)]),e.options?.body?(l(),d("div",BC,[De(r,{content:e.anonymizePrContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])])])):f("v-if",!0)])],512),[[B,e.sourceUrl]])])}var GC={class:"container-fluid h-100 anonymize-page"},jC={class:"row h-100 flex-column flex-md-row"},WC={class:"col-md sidePanel shadow overflow-auto anonymize-form-col"},KC={class:"form-group"},YC={class:"form-group"},JC={class:"form-check"},QC={class:"form-check-input",type:"checkbox",id:"update",name:"update"},XC={class:"form-group"},ZC={class:"form-text text-muted"},xC=["href"],eN={class:"invalid-feedback"},tN={class:"form-text text-muted"},sN={class:"form-group"},nN={id:"idHelp",class:"form-text text-muted"},oN={class:"invalid-feedback"},rN={class:"form-group"},iN={class:"invalid-feedback"},aN={class:"form-group"},lN={class:"form-control",id:"expiration",name:"expiration"},dN={class:"form-group",id:"expiration-date-form"},uN={class:"form-control",type:"date",name:"expirationDate",id:"expirationDate"},cN={class:"accordion mb-3",id:"options"},pN={class:"card"},fN={id:"collapseOne",class:"collapse show","aria-labelledby":"headingOne","data-parent":"#options"},mN={class:"card-body"},hN={class:"form-group mb-0"},vN={class:"form-check"},yN={class:"form-check-input",type:"checkbox",id:"link",name:"link"},gN={class:"form-check"},bN={class:"form-check-input",type:"checkbox",id:"image",name:"image"},wN={class:"form-check"},kN={class:"form-check-input",type:"checkbox",id:"date",name:"date"},_N={class:"form-check"},EN={class:"form-check-input",type:"checkbox",id:"username",name:"username"},CN={class:"form-check"},NN={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},SN={class:"form-check"},DN={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},RN={class:"form-check"},TN={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},ON={class:"form-check"},AN={class:"form-check-input",type:"checkbox",id:"title",name:"title"},IN={class:"form-check"},VN={class:"form-check-input",type:"checkbox",id:"body",name:"body"},PN=["textContent"],qN={class:"anonymize-submit-bar"},MN={key:0,class:"col-md-8 p-2 overflow-auto anonymize-preview-col"},$N={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},UN={class:"pr-title mb-1"},LN={key:0},FN=["textContent"],zN={key:0},HN={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},BN={class:"nav nav-tabs",id:"myTab",role:"tablist"},GN={key:0,class:"nav-item",role:"presentation"},jN={key:1,class:"nav-item",role:"presentation"},WN=["textContent"],KN={class:"tab-content",id:"pills-tabContent"},YN={class:"tab-pane show active",id:"pills-diff",role:"tabpanel","aria-labelledby":"pills-diff-tab"},JN={key:0,class:"pr-diff shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},QN={style:{"overflow-x":"auto"}},XN=["innerHTML"],ZN={key:0,class:"pr-comments list-group"},xN={class:"pr-comment list-group-item"},eS={class:"d-flex w-100 justify-content-between flex-wrap"},tS={key:0,class:"mb-1"},sS=["textContent"],nS={class:"mb-1"};function nl(e,t){let o=et("markdown"),r=be("field"),n=be("form");return l(),d("div",GC,[s("div",jC,[s("div",WC,[s("div",{class:O(["p-0 py-2 m-auto",{card:!e.pullRequestUrl,container:e.pullRequestUrl}])},[E((l(),d("form",{class:O(["form needs-validation",{"card-body":!e.pullRequestUrl}]),name:"anonymizeForm",novalidate:""},[t[30]||(t[30]=ge('
Anonymize \xA0/\xA0 Pull request

Anonymize a pull request

Fill in the details \u2014 it only takes a minute.

Source
',4)),f(" pullRequestUrl "),s("div",KC,[t[2]||(t[2]=s("label",{for:"pullRequestUrl"},"URL of your pull request",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.pullRequestUrl?.invalid}]),name:"pullRequestUrl",id:"pullRequestUrl",placeholder:"https://github.com/owner/repo/pull/123"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestUrl=i},value:e.pullRequestUrl,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.pullRequestSelected()}}]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is not accessible. Some organizations are restricting the access to the repositories. ",513),[[B,e.anonymize?.pullRequestUrl?.errors?.access]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" does not exist or is not accessible ",513),[[B,e.anonymize?.pullRequestUrl?.errors?.missing]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is already anonymized ",513),[[B,e.anonymize?.pullRequestUrl?.errors?.used]])]),E(s("div",null,[s("div",YC,[s("div",JC,[E(s("input",QC,null,512),[[r,{state:e.viewState,set:i=>{e.options.update=i},value:e.options?.update,form:"anonymizeForm",options:{}}]]),t[3]||(t[3]=s("label",{class:"form-check-label",for:"update"},"Auto update",-1)),t[4]||(t[4]=s("small",{id:"updateHelp",class:"form-text text-muted"},"Automatically update the anonymized pull request with the latest updates. The pull request is updated once per day maximum.",-1))])]),t[26]||(t[26]=s("div",{class:"paper-section-eyebrow anonymize-section-title"},[s("i",{class:"fas fa-chalkboard-teacher"}),y(" Conference ID ")],-1)),f(" Conference "),s("div",XC,[t[5]||(t[5]=s("label",{for:"conference"},[y("Conference ID "),s("span",{class:"text-muted"},"(Optional)")],-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[r,{state:e.viewState,set:i=>{e.conference=i},value:e.conference,form:"anonymizeForm",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),E(s("small",ZC,[s("a",{target:"_target",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,xC),y(" will expire on "+c(e.fmt?.date(e.conference_data?.endDate))+".",1)],512),[[B,e.conference_data]]),E(s("div",eN," The conference is not activated. ",512),[[B,e.anonymize?.conference?.errors?.activated]]),E(s("small",tN," Use the Conference ID that your conference provided you. This will update automatically the anonymization options based on the conference preferences. ",512),[[B,!e.conference_data]])]),t[27]||(t[27]=s("div",{class:"paper-section-eyebrow anonymize-section-title"},[s("i",{class:"fas fa-shield-alt"}),y(" Anonymization Options ")],-1)),f(" Pull Request ID "),s("div",sN,[t[6]||(t[6]=s("label",{for:"pullRequestId"},"Anonymized pull request id",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestId=i},value:e.pullRequestId,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",nN,"Id used in the url: https://anonymous.4open.science/r/"+c(e.pullRequestId),1),E(s("div",oN," Repository id can only contain letters and numbers ",512),[[B,e.anonymize?.pullRequestId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used ",513),[[B,e.anonymize?.pullRequestId?.errors?.used]])]),f(" Terms "),s("div",rN,[t[7]||(t[7]=s("label",{for:"terms"},"Terms to anonymize",-1)),E(s("textarea",{class:O(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"3"},null,2),[[r,{state:e.viewState,set:i=>{e.terms=i},value:e.terms,form:"anonymizeForm",options:{debounce:250}}]]),t[8]||(t[8]=s("small",{id:"termsHelp",class:"form-text text-muted"},"One term per line. Each term will be replaced by XXX.",-1)),E(s("div",iN," Terms are in an invalid format ",512),[[B,e.anonymize?.terms?.errors?.format]])]),s("div",aN,[t[10]||(t[10]=s("label",{for:"expiration"},"Expiration strategy",-1)),E((l(),d("select",lN,[...t[9]||(t[9]=[s("option",{value:"never",selected:""},"Never expire",-1),s("option",{value:"redirect"}," Redirect to GitHub when expired ",-1),s("option",{value:"remove"},"Remove when expired",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.expirationMode=i},value:e.options?.expirationMode,form:"anonymizeForm",options:{}}]]),t[11]||(t[11]=s("small",{class:"form-text text-muted"},"Define the expiration strategy for the anonymized repository.",-1))]),E(s("div",dN,[t[12]||(t[12]=s("label",{for:"expirationDate"},"Expiration date of the anonymized repository",-1)),E(s("input",uN,null,512),[[r,{state:e.viewState,set:i=>{e.options.expirationDate=i},value:e.options?.expirationDate,form:"anonymizeForm",options:{}}]]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the repository will be removed and the visitor will not be able to see the content of the repository.",513),[[B,e.options?.expirationMode=="remove"]]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the visitors of the anonymized repository will be redirected to "+c(e.pullRequestUrl)+".",513),[[B,e.options?.expirationMode=="redirect"]])],512),[[B,e.options?.expirationMode!="never"]]),s("div",cN,[s("div",pN,[t[25]||(t[25]=s("div",{class:"card-header",id:"headingOne"},[s("h2",{class:"mb-0"},[s("button",{class:"btn btn-block text-left",type:"button","data-toggle":"collapse","data-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"},[s("i",{class:"fas fa-cog mr-1"}),y(" Advanced options ")])])],-1)),s("div",fN,[s("div",mN,[s("div",hN,[s("div",vN,[E(s("input",yN,null,512),[[r,{state:e.viewState,set:i=>{e.options.link=i},value:e.options?.link,form:"anonymizeForm",options:{}}]]),t[13]||(t[13]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=s("small",{class:"form-text text-muted"},"Keep or remove all the links.",-1))]),s("div",gN,[E(s("input",bN,null,512),[[r,{state:e.viewState,set:i=>{e.options.image=i},value:e.options?.image,form:"anonymizeForm",options:{}}]]),t[15]||(t[15]=s("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=s("small",{class:"form-text text-muted"},"Images are not anonymized",-1))]),s("div",wN,[E(s("input",kN,null,512),[[r,{state:e.viewState,set:i=>{e.options.date=i},value:e.options?.date,form:"anonymizeForm",options:{}}]]),t[17]||(t[17]=s("label",{class:"form-check-label",for:"date"},"Display dates",-1)),t[18]||(t[18]=s("small",{class:"form-text text-muted"},"Display the date of the Pull Request and the date of the comments.",-1))]),s("div",_N,[E(s("input",EN,null,512),[[r,{state:e.viewState,set:i=>{e.options.username=i},value:e.options?.username,form:"anonymizeForm",options:{}}]]),t[19]||(t[19]=s("label",{class:"form-check-label",for:"username"},"Display username",-1))]),s("div",CN,[E(s("input",NN,null,512),[[r,{state:e.viewState,set:i=>{e.options.comments=i},value:e.options?.comments,form:"anonymizeForm",options:{}}]]),t[20]||(t[20]=s("label",{class:"form-check-label",for:"comments"},"Display comments",-1))]),s("div",SN,[E(s("input",DN,null,512),[[r,{state:e.viewState,set:i=>{e.options.diff=i},value:e.options?.diff,form:"anonymizeForm",options:{}}]]),t[21]||(t[21]=s("label",{class:"form-check-label",for:"diff"},"Display diff",-1))]),s("div",RN,[E(s("input",TN,null,512),[[r,{state:e.viewState,set:i=>{e.options.origin=i},value:e.options?.origin,form:"anonymizeForm",options:{}}]]),t[22]||(t[22]=s("label",{class:"form-check-label",for:"origin"},"Display the project name",-1))]),s("div",ON,[E(s("input",AN,null,512),[[r,{state:e.viewState,set:i=>{e.options.title=i},value:e.options?.title,form:"anonymizeForm",options:{}}]]),t[23]||(t[23]=s("label",{class:"form-check-label",for:"title"},"Display the PR title",-1))]),s("div",IN,[E(s("input",VN,null,512),[[r,{state:e.viewState,set:i=>{e.options.body=i},value:e.options?.body,form:"anonymizeForm",options:{}}]]),t[24]||(t[24]=s("label",{class:"form-check-label",for:"body"},"Display the PR body and comment bodies",-1))])])])])])])],512),[[B,e.pullRequestUrl]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,PN)):f("v-if",!0),E(s("div",qN,[e.isUpdate?f("v-if",!0):(l(),d("button",{key:0,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[0]||(t[0]=we(i=>e.submitForm(i,()=>{e.anonymizePullRequest(i)}),["prevent"]))},[...t[28]||(t[28]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize ",-1)])])),e.isUpdate?(l(),d("button",{key:1,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[1]||(t[1]=we(i=>e.submitForm(i,()=>{e.updatePullRequest(i)}),["prevent"]))},[...t[29]||(t[29]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update ",-1)])])):f("v-if",!0)],512),[[B,e.pullRequestUrl]])],2)),[[n,e.viewState]])],2)]),e.details?(l(),d("div",MN,[s("div",$N,[s("h2",UN,[e.options?.title?(l(),d("span",LN,c(e.anonymize(e.details?.pullRequest?.title)),1)):f("v-if",!0),s("span",{class:O(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,FN)):f("v-if",!0)]),e.options?.origin?(l(),d("small",zN,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",HN,[De(o,{content:e.anonymize(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),s("ul",BN,[e.options?.diff?(l(),d("li",GN,[...t[31]||(t[31]=[s("button",{class:"nav-link active",id:"pills-diff-tab","data-toggle":"pill","data-target":"#pills-diff",type:"button",role:"tab","aria-controls":"pills-diff","aria-selected":"true"}," Diff ",-1)])])):f("v-if",!0),e.options?.comments?(l(),d("li",jN,[s("button",{class:O(["nav-link",{active:!e.options?.diff}]),id:"pills-comments-tab","data-toggle":"pill","data-target":"#pills-comments",type:"button",role:"tab","aria-controls":"pills-comments","aria-selected":"false"},[s("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comment",one:"One Comment",other:"{} Comments"}))},null,8,WN)],2)])):f("v-if",!0)]),s("div",KN,[s("div",YN,[e.options?.diff?(l(),d("div",JN,[s("pre",QN,[s("code",{innerHTML:e.sanitize(e.fmt?.diff(e.anonymize(e.details?.pullRequest?.diff)))},null,8,XN)])])):f("v-if",!0)]),s("div",{class:O(["tab-pane",{"show active":!e.options?.diff}]),id:"pills-comments",role:"tabpanel","aria-labelledby":"pills-comments-tab"},[e.options?.comments?(l(),d("ul",ZN,[(l(!0),d(J,null,ne(e.details?.pullRequest?.comments,(i,a)=>(l(),d("li",xN,[s("div",eS,[e.options?.username?(l(),d("h5",tS," @"+c(e.anonymize(i?.author)),1)):f("v-if",!0),e.options?.date?(l(),d("small",{key:1,textContent:c(e.fmt?.date(i?.updatedDate))},null,8,sS)):f("v-if",!0)]),s("p",nS,[e.options?.body?(l(),ks(o,{key:0,class:"pr-comment-body",content:e.anonymize(i?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])):f("v-if",!0)])]))),256))])):f("v-if",!0)],2)])])):f("v-if",!0)])])}var oS={class:"container paper-page"},rS={class:"paper-settings-main claim-form"},iS={class:"form-group"},aS={class:"invalid-feedback"},lS={class:"form-group"};function ol(e,t){let o=be("field"),r=be("form");return l(),d("div",oS,[t[6]||(t[6]=ge('
My work \xA0/\xA0 Claim

Claim an anonymization

Take ownership of an existing anonymized repository so it appears on your dashboard.

',3)),s("div",rS,[t[5]||(t[5]=s("p",{class:"paper-section-copy"},"Use this when an anonymization was created by a co-author or from another account. You must have access to the GitHub repository it was made from.",-1)),E((l(),d("form",{class:"form needs-validation",name:"claimForm",novalidate:"",onSubmit:t[0]||(t[0]=we(n=>e.submitForm(n,()=>{e.claim()}),["prevent"]))},[s("div",iS,[t[1]||(t[1]=s("label",{class:"paper-field-label",for:"repoUrl"},"GitHub repository URL",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.claimForm?.repoUrl?.invalid&&(e.claimForm?.repoUrl?.touched||e.claimForm?.submitted)}]),name:"repoUrl",id:"repoUrl",required:""},null,2),[[o,{state:e.viewState,set:n=>{e.repoUrl=n},value:e.repoUrl,form:"claimForm",options:{}}]]),E(s("div",aS," No anonymization matches this repository and ID. Check both values and that you can access the repository on GitHub. ",512),[[B,e.claimForm?.repoUrl?.errors?.not_found]])]),s("div",lS,[t[2]||(t[2]=s("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.claimForm?.repoId?.invalid&&(e.claimForm?.repoId?.touched||e.claimForm?.submitted)}]),name:"repoId",id:"repoId",required:""},null,2),[[o,{state:e.viewState,set:n=>{e.repoId=n},value:e.repoId,form:"claimForm",options:{}}]]),t[3]||(t[3]=s("small",{id:"idHelp",class:"form-text text-muted"},[y("The ID is the last part of the anonymized URL: "),s("code",null,"anonymous.4open.science/r/"),y(".")],-1))]),t[4]||(t[4]=s("button",{id:"submit",type:"submit",class:"btn btn-ink"}," Claim anonymization ",-1))],32)),[[r,e.viewState]])])])}var dS={class:"container page paper-page"},uS={class:"paper-crumbs"},cS={class:"here"},pS={class:"d-flex align-items-end flex-wrap",style:{gap:"12px","justify-content":"space-between"}},fS=["textContent"],mS={key:0,class:"paper-page-lede"},hS=["textContent","href"],vS={class:"d-flex align-items-center flex-wrap",style:{gap:"10px"}},yS=["textContent"],gS=["href"],bS={class:"paper-meta-rule"},wS=["textContent"],kS=["textContent"],_S={key:0},ES={class:"search-wrap"},CS={type:"search",id:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search by ID or source repository\u2026",autocomplete:"off"},NS={class:"dashboard-filter-controls"},SS={class:"dropdown"},DS={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},RS={class:"filter-btn-value"},TS={class:"dropdown-menu","aria-labelledby":"dropdownSort"},OS={class:"form-check dropdown-item"},AS={class:"form-check-input",type:"radio",name:"sort",id:"anonymizeDate",value:"-anonymizeDate"},IS={class:"form-check dropdown-item"},VS={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"repoId"},PS={class:"form-check dropdown-item"},qS={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},MS={class:"form-check dropdown-item"},$S={class:"form-check-input",type:"radio",name:"sort",id:"sortViews",value:"-pageView"},US={class:"dropdown"},LS={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},FS={key:0,class:"filter-btn-value"},zS={key:1,class:"filter-btn-value"},HS={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},BS={class:"form-check dropdown-item"},GS=["id"],jS=["for"],WS={class:"dashboard-meta"},KS={class:"dashboard-count"},YS={key:0},JS={key:0},QS={key:1},XS={key:1},ZS={key:0,class:"filter-chip"},xS=["onClick","aria-label"],e2={class:"paper-table paper-table-repos w-100",role:"table","aria-label":"Repositories"},t2={class:"cell-anon",role:"cell"},s2={class:"anon-text"},n2=["textContent","href"],o2={class:"anon-sub"},r2={class:"anon-source"},i2=["textContent","href"],a2={key:0},l2=["textContent","href"],d2={key:1},u2=["href"],c2={class:"cell-status",role:"cell"},p2={class:"status-line"},f2=["textContent"],m2={key:0,class:"status-sub"},h2=["textContent"],v2={class:"cell-expires",role:"cell"},y2={key:0,class:"expires-never"},g2=["textContent"],b2={key:2,class:"expires-past"},w2={key:0},k2={key:3,class:"empty-dash","aria-label":"Not applicable"},_2={class:"cell-actions",role:"cell"},E2={class:"dropdown"},C2=["aria-label"],N2={class:"dropdown-menu dropdown-menu-right"},S2=["href"],D2=["href"],R2={key:0,class:"paper-table-empty"},T2={key:0},O2={key:1},A2={key:2,class:"paper-table-empty-actions"};function rl(e,t){let o=be("field"),r=be("form");return l(),d("div",dS,[s("div",null,[s("div",uS,[t[2]||(t[2]=s("a",{href:"/dashboard"},"My work",-1)),t[3]||(t[3]=y(" \xA0/\xA0 ",-1)),t[4]||(t[4]=s("a",{href:"/conferences"},"Conferences",-1)),t[5]||(t[5]=y(" \xA0/\xA0 ",-1)),s("span",cS,c(e.conference?.conferenceID),1)]),s("div",pS,[s("div",null,[s("h1",{class:"paper-page-title",textContent:c(e.conference?.name)},null,8,fS),e.conference?.url?(l(),d("p",mS,[s("a",{target:"_blank",rel:"noopener",textContent:c(e.conference?.url),href:e.safeUrl(e.conference?.url)},null,8,hS)])):f("v-if",!0)]),s("div",vS,[s("span",{class:O(["status-pill",{"status-pill-ready":e.conference?.status=="ready","status-pill-removed":e.conference?.status=="removed"||e.conference?.status=="expired"}])},[s("span",{class:O(["status-dot","status-"+e.conference?.status]),"aria-hidden":"true"},null,2),s("span",{textContent:c(e.fmt?.statusLabel(e.conference?.status))},null,8,yS)],2),s("a",{class:"btn btn-outline-ink",href:e.safeUrl("/conference/"+e.conference?.conferenceID+"/edit")},[...t[6]||(t[6]=[s("i",{class:"far fa-edit mr-1","aria-hidden":"true"},null,-1),y(" Edit conference",-1)])],8,gS)])]),s("div",bS,[s("span",null,[t[7]||(t[7]=y("ID ",-1)),s("b",{class:"commit-hash",textContent:c(e.conference?.conferenceID)},null,8,wS)]),s("span",null,[t[8]||(t[8]=y("Review window ",-1)),s("b",null,c(e.fmt?.date(e.conference?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(e.conference?.endDate,"mediumDate")),1)]),s("span",null,[t[9]||(t[9]=y("Repositories ",-1)),s("b",null,c(e.fmt?.number(e.conference?.repositories?.length)),1)]),s("span",null,[t[10]||(t[10]=y("Plan ",-1)),s("b",{textContent:c(e.conference?.plan?.name||e.conference?.plan?.planID||"Free")},null,8,kS)]),e.conference?.price?(l(),d("span",_S,[t[11]||(t[11]=y("Cost so far ",-1)),s("b",null,c(e.fmt?.number(e.conference?.price,2))+" \u20AC",1)])):f("v-if",!0)]),t[29]||(t[29]=s("div",{class:"paper-section-eyebrow"},"Repositories",-1)),E((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter repositories","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=we(n=>e.submitForm(n,()=>{n.preventDefault()}),["prevent"]))},[s("div",ES,[E(s("input",CS,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",NS,[s("div",SS,[s("button",DS,[t[12]||(t[12]=s("span",{class:"filter-btn-label"},"Sort",-1)),s("span",RS,c({"-anonymizeDate":"Anonymize date",repoId:"ID","-status":"Status","-pageView":"Views"}[e.orderBy]||"Custom"),1)]),s("div",TS,[t[17]||(t[17]=s("h6",{class:"dropdown-header"},"Order by",-1)),s("div",OS,[E(s("input",AS,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[13]||(t[13]=s("label",{class:"form-check-label",for:"anonymizeDate"},"Anonymize date",-1))]),s("div",IS,[E(s("input",VS,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[14]||(t[14]=s("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),s("div",PS,[E(s("input",qS,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[15]||(t[15]=s("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),s("div",MS,[E(s("input",$S,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[16]||(t[16]=s("label",{class:"form-check-label",for:"sortViews"},"Views",-1))])])]),s("div",US,[s("button",LS,[t[18]||(t[18]=s("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",FS,"All")):f("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?f("v-if",!0):(l(),d("span",zS,c((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),s("div",HS,[t[19]||(t[19]=s("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(J,null,ne(e.statusLabels,(n,i,a)=>(l(),d("div",BS,[E(s("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,GS),[[o,{state:e.viewState,set:u=>{e.filters.status[i]=u},value:e.filters?.status[i],form:null,options:{}}]]),s("label",{class:"form-check-label",for:"status-"+i},c(n),9,jS)]))),256))])])])],32)),[[r,e.viewState]]),s("div",WS,[s("span",KS,[e.filteredRepositories?.length===e.conference?.repositories?.length?(l(),d("span",YS,[y(c(e.fmt?.number(e.conference?.repositories?.length))+" repositor",1),e.conference?.repositories?.length===1?(l(),d("span",JS,"y")):f("v-if",!0),e.conference?.repositories?.length!==1?(l(),d("span",QS,"ies")):f("v-if",!0)])):f("v-if",!0),e.filteredRepositories?.length!==e.conference?.repositories?.length?(l(),d("span",XS,c(e.fmt?.number(e.filteredRepositories?.length))+" of "+c(e.fmt?.number(e.conference?.repositories?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>(l(),d(J,null,[n===!1?(l(),d("span",ZS,[y(" Hiding "+c(e.statusLabels[i])+" ",1),s("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,xS)])):f("v-if",!0)],64))),256))]),s("div",e2,[t[28]||(t[28]=s("div",{class:"paper-table-head",role:"row"},[s("div",{role:"columnheader"},"Repository"),s("div",{role:"columnheader"},"Status"),s("div",{role:"columnheader",class:"num"},"Views"),s("div",{role:"columnheader"},"Expires"),s("div",{role:"columnheader"},[s("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(J,null,ne(e.filteredRepositories,(n,i)=>(l(),d("div",{class:O(["paper-table-row",{"repo-inactive":n?.status=="expired"||n?.status=="removed","repo-error":n?.status=="error"}]),role:"row",key:n?.repoId},[s("div",t2,[t[22]||(t[22]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",s2,[s("a",{class:"repo-name",textContent:c(n?.repoId),href:e.safeUrl("/r/"+n?.repoId+"/")},null,8,n2),s("div",o2,[s("span",r2,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.fullName),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/")},null,8,i2),n?.options?.update&&n?.source?.branch?(l(),d("span",a2,[t[20]||(t[20]=y(" \xB7 ",-1)),s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,l2)])):f("v-if",!0),n?.source?.commit?(l(),d("span",d2,[t[21]||(t[21]=y(" \xB7 ",-1)),s("a",{class:"commit-hash",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},"@"+c(n?.source?.commit?.substring(0,8)),9,u2)])):f("v-if",!0)])])])]),s("div",c2,[s("div",p2,[s("span",{class:O(["status-dot","status-"+(n?.status=="error"?"error":n?.status=="ready"?"ready":n?.status=="expired"||n?.status=="removed"?n?.status:"progress")]),"aria-hidden":"true"},null,2),s("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(n?.status))},null,8,f2)]),n?.anonymizeDate?(l(),d("div",m2,"anonymized "+c(e.fmt?.humanTime(n?.anonymizeDate)),1)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView))},null,8,h2),s("div",v2,[n?.status=="ready"&&(n?.options?.expirationMode==="never"||!n?.options?.expirationDate)?(l(),d("span",y2,"Never")):f("v-if",!0),n?.status=="ready"&&n?.options?.expirationMode!=="never"&&n?.options?.expirationDate?(l(),d("span",{key:1,textContent:c(e.fmt?.humanTime(n?.options?.expirationDate))},null,8,g2)):f("v-if",!0),n?.status=="expired"?(l(),d("span",b2,[t[23]||(t[23]=y("Expired",-1)),n?.options?.expirationDate?(l(),d("span",w2,c(e.fmt?.humanTime(n?.options?.expirationDate)),1)):f("v-if",!0)])):f("v-if",!0),n?.status!="ready"&&n?.status!="expired"?(l(),d("span",k2,"\u2014")):f("v-if",!0)]),s("div",_2,[s("div",E2,[s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+n?.repoId},[...t[24]||(t[24]=[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"},null,-1)])],8,C2),s("div",N2,[s("a",{class:"dropdown-item",href:e.safeUrl("/r/"+n?.repoId+"/")},[...t[25]||(t[25]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View ",-1)])],8,S2),s("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+n?.repoId)},[...t[26]||(t[26]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,D2)])])])],2))),128)),e.filteredRepositories?.length==0?(l(),d("div",R2,[t[27]||(t[27]=s("i",{class:"fas fa-inbox","aria-hidden":"true"},null,-1)),e.conference?.repositories?.length?f("v-if",!0):(l(),d("span",T2,"No repository has been submitted to this conference yet.")),e.conference?.repositories?.length?(l(),d("span",O2,"Nothing matches the current filters.")):f("v-if",!0),e.conference?.repositories?.length?(l(),d("div",A2,[s("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=n=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")])):f("v-if",!0)])):f("v-if",!0)])])])}var I2={class:"container page paper-page"},V2={class:"row"},P2={class:"w-100"},q2={class:"search-wrap"},M2={type:"search",id:"search",class:"form-control","aria-label":"Search conferences",placeholder:"Search by name or ID\u2026",autocomplete:"off"},$2={class:"dashboard-filter-controls"},U2={class:"dropdown"},L2={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},F2={class:"filter-btn-value"},z2={class:"dropdown-menu","aria-labelledby":"dropdownSort"},H2={class:"form-check dropdown-item"},B2={class:"form-check-input",type:"radio",name:"sort",id:"sortName",value:"name"},G2={class:"form-check dropdown-item"},j2={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"conferenceID"},W2={class:"form-check dropdown-item"},K2={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},Y2={class:"dropdown"},J2={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},Q2={key:0,class:"filter-btn-value"},X2={key:1,class:"filter-btn-value"},Z2={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},x2={class:"form-check dropdown-item"},eD=["id"],tD=["for"],sD={class:"dashboard-meta"},nD={class:"dashboard-count"},oD={key:0},rD={key:0},iD={key:1},aD={key:0,class:"filter-chip"},lD=["onClick","aria-label"],dD={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},uD={class:"cell-anon",role:"cell"},cD={class:"anon-text"},pD=["textContent","href"],fD={class:"anon-sub"},mD={class:"anon-source"},hD=["textContent"],vD={key:0},yD=["textContent","href"],gD={class:"cell-status",role:"cell"},bD={class:"status-line"},wD=["textContent"],kD=["textContent"],_D={class:"cell-expires",role:"cell"},ED={key:0},CD={key:1,class:"empty-dash","aria-label":"No review window"},ND={class:"cell-actions",role:"cell"},SD={class:"dropdown"},DD=["aria-label"],RD={class:"dropdown-menu dropdown-menu-right"},TD=["href"],OD=["href"],AD={key:0},ID=["onClick"],VD={key:0,class:"paper-table-empty"},PD={key:0},qD={key:1},MD={class:"paper-table-empty-actions"},$D={key:1,href:"/conference/new",class:"btn btn-ink"};function il(e,t){let o=be("field"),r=be("form");return l(),d("div",I2,[s("div",V2,[s("div",P2,[t[9]||(t[9]=ge('
My work \xA0/\xA0 Conferences

Your conferences

Group anonymizations by venue, give chairs a shared dashboard, and set one expiry for every submission.

New conference
',2)),E((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter conferences","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=we(n=>e.submitForm(n,()=>{n.preventDefault()}),["prevent"]))},[s("div",q2,[E(s("input",M2,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",$2,[s("div",U2,[s("button",L2,[t[2]||(t[2]=s("span",{class:"filter-btn-label"},"Sort",-1)),s("span",F2,c({name:"Name",conferenceID:"ID","-status":"Status"}[e.orderBy]||"Custom"),1)]),s("div",z2,[t[6]||(t[6]=s("h6",{class:"dropdown-header"},"Order by",-1)),s("div",H2,[E(s("input",B2,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=s("label",{class:"form-check-label",for:"sortName"},"Name",-1))]),s("div",G2,[E(s("input",j2,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=s("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),s("div",W2,[E(s("input",K2,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[5]||(t[5]=s("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))])])]),s("div",Y2,[s("button",J2,[t[7]||(t[7]=s("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",Q2,"All")):f("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?f("v-if",!0):(l(),d("span",X2,c((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),s("div",Z2,[t[8]||(t[8]=s("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(J,null,ne(e.statusLabels,(n,i,a)=>(l(),d("div",x2,[E(s("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,eD),[[o,{state:e.viewState,set:u=>{e.filters.status[i]=u},value:e.filters?.status[i],form:null,options:{}}]]),s("label",{class:"form-check-label",for:"status-"+i},c(n),9,tD)]))),256))])])])],32)),[[r,e.viewState]]),s("div",sD,[s("span",nD,[e.filteredConferences?.length===e.conferences?.length?(l(),d("span",oD,[y(c(e.fmt?.number(e.conferences?.length))+" conference",1),e.conferences?.length!==1?(l(),d("span",rD,"s")):f("v-if",!0)])):f("v-if",!0),e.filteredConferences?.length!==e.conferences?.length?(l(),d("span",iD,c(e.fmt?.number(e.filteredConferences?.length))+" of "+c(e.fmt?.number(e.conferences?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>(l(),d(J,null,[n===!1?(l(),d("span",aD,[y(" Hiding "+c(e.statusLabels[i])+" ",1),s("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,lD)])):f("v-if",!0)],64))),256))])]),s("div",dD,[t[20]||(t[20]=s("div",{class:"paper-table-head",role:"row"},[s("div",{role:"columnheader"},"Conference"),s("div",{role:"columnheader"},"Status"),s("div",{role:"columnheader",class:"num"},"Repos"),s("div",{role:"columnheader"},"Review window"),s("div",{role:"columnheader"},[s("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(J,null,ne(e.filteredConferences,(n,i)=>(l(),d("div",{class:O(["paper-table-row row-clickable",{"repo-inactive":n?.status=="expired"||n?.status=="removed"}]),role:"row",key:n?.conferenceID},[s("div",uD,[t[12]||(t[12]=s("span",{class:"type-badge type-repo"},"Conf",-1)),s("div",cD,[s("a",{class:"repo-name",textContent:c(n?.name),href:e.safeUrl("/conference/"+n?.conferenceID)},null,8,pD),s("div",fD,[s("span",mD,[t[11]||(t[11]=y("ID ",-1)),s("span",{class:"commit-hash",textContent:c(n?.conferenceID)},null,8,hD),n?.url?(l(),d("span",vD,[t[10]||(t[10]=y(" \xB7 ",-1)),s("a",{target:"_blank",rel:"noopener",textContent:c(e.fmt?.limitTo(n?.url,60)),href:e.safeUrl(n?.url)},null,8,yD)])):f("v-if",!0)])])])]),s("div",gD,[s("div",bD,[s("span",{class:O(["status-dot","status-"+n?.status]),"aria-hidden":"true"},null,2),s("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(n?.status))},null,8,wD)])]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.nbRepositories||0))},null,8,kD),s("div",_D,[n?.startDate?(l(),d("span",ED,c(e.fmt?.date(n?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(n?.endDate,"mediumDate")),1)):f("v-if",!0),n?.startDate?f("v-if",!0):(l(),d("span",CD,"\u2014"))]),s("div",ND,[s("div",SD,[s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+n?.name},[...t[13]||(t[13]=[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"},null,-1)])],8,DD),s("div",RD,[s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/")},[...t[14]||(t[14]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View ",-1)])],8,TD),s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/edit")},[...t[15]||(t[15]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,OD),n?.status!="removed"?(l(),d("div",AD,[t[17]||(t[17]=s("div",{class:"dropdown-divider"},null,-1)),s("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeConference(n)},[...t[16]||(t[16]=[s("i",{class:"fas fa-trash-alt","aria-hidden":"true"},null,-1),y(" Remove ",-1)])],8,ID)])):f("v-if",!0)])])])],2))),128)),e.filteredConferences?.length==0?(l(),d("div",VD,[t[19]||(t[19]=s("i",{class:"fas fa-inbox","aria-hidden":"true"},null,-1)),e.conferences?.length==0?(l(),d("span",PD,"You have not created a conference yet.")):f("v-if",!0),e.conferences?.length>0?(l(),d("span",qD,"Nothing matches the current filters.")):f("v-if",!0),s("div",MD,[e.conferences?.length>0?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=n=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")):f("v-if",!0),e.conferences?.length==0?(l(),d("a",$D,[...t[18]||(t[18]=[s("i",{class:"fa fa-plus-circle mr-1","aria-hidden":"true"},null,-1),y(" New conference",-1)])])):f("v-if",!0)])])):f("v-if",!0)])])])}var UD={class:"container page dashboard-page paper-page"},LD={class:"row"},FD={class:"w-100"},zD={key:0,class:"quota-row"},HD={class:"quota-item"},BD={class:"quota-header"},GD={class:"quota-label"},jD={key:0,class:"quota-value"},WD={key:0},KD={key:1,class:"quota-unlimited-tag"},YD={key:1,class:"quota-value"},JD={key:0},QD={key:1,class:"quota-unlimited-tag"},XD=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],ZD={class:"search-wrap"},xD={type:"search",id:"search",class:"form-control","aria-label":"Search anonymizations",placeholder:"Search by name, source, or conference\u2026",autocomplete:"off"},eR={class:"dashboard-filter-controls"},tR={class:"btn-group",role:"group","aria-label":"Type"},sR=["aria-pressed"],nR=["aria-pressed"],oR=["aria-pressed"],rR=["aria-pressed"],iR={class:"dropdown"},aR={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},lR={class:"filter-btn-value"},dR={class:"sr-only"},uR={class:"dropdown-menu","aria-labelledby":"dropdownSort"},cR={class:"form-check dropdown-item"},pR=["onClick","checked","id"],fR=["for"],mR={class:"dropdown"},hR={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},vR={key:0,class:"filter-btn-value"},yR={key:1,class:"filter-btn-value"},gR={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},bR={class:"form-check dropdown-item"},wR=["id"],kR=["for"],_R={key:1,class:"dashboard-meta"},ER={class:"dashboard-count"},CR={key:0},NR={key:0},SR={key:1},DR={key:0,class:"filter-chip"},RR=["onClick","aria-label"],TR=["aria-busy"],OR={class:"paper-table-head",role:"row"},AR=["aria-sort"],IR=["aria-sort"],VR=["aria-sort"],PR=["aria-sort"],qR={key:0,class:"paper-table-row paper-table-skeleton",role:"row","aria-hidden":"true"},MR=["onClick"],$R={class:"cell-anon",role:"cell"},UR={class:"anon-text"},LR={class:"anon-title"},FR=["textContent","href"],zR=["textContent"],HR={key:2,class:"type-badge type-coauthor",title:"You are a co-author on this anonymization"},BR={key:0,class:"anon-sub"},GR={key:0,class:"anon-source"},jR=["textContent","href"],WR={key:0},KR=["textContent","href"],YR={key:1},JR=["href"],QR={key:1,class:"anon-source"},XR=["textContent","href"],ZR={key:2,class:"anon-source"},xR=["textContent","href"],eT=["title"],tT=["textContent"],sT={class:"cell-status",role:"cell"},nT={class:"status-line"},oT=["textContent"],rT=["textContent","title"],iT=["title"],aT={key:2,class:"status-sub"},lT=["textContent"],dT={class:"cell-expires",role:"cell"},uT={key:0,class:"expires-never"},cT=["textContent"],pT={key:2,class:"expires-past"},fT={key:3,class:"expires-past"},mT={key:4,class:"empty-dash","aria-label":"Not applicable"},hT={class:"cell-actions",role:"cell"},vT={key:0,class:"dropdown"},yT=["aria-label"],gT={class:"dropdown-menu dropdown-menu-right"},bT=["href"],wT=["href"],kT=["href"],_T=["onClick"],ET=["onClick"],CT=["onClick"],NT={key:4},ST=["onClick"],DT={key:0,class:"paper-table-empty"},RT={key:0},TT={key:1},OT={class:"paper-table-empty-actions"},AT={key:1,href:"/anonymize",class:"btn btn-ink"};function al(e,t){let o=be("field"),r=be("form");return l(),d("div",UD,[s("div",LD,[s("div",FD,[t[18]||(t[18]=ge('
My work \xA0/\xA0 Dashboard

Your anonymizations

Every repository, pull request, and gist you\u2019ve mirrored, with live status and stats.

',2)),f(" Quota "),e.quota?(l(),d("div",zD,[(l(),d(J,null,ne([{key:"repository",label:"Repositories",kind:"count"},{key:"storage",label:"Storage",kind:"bytes"},{key:"file",label:"Files",kind:"count"}],(n,i)=>s("div",HD,[s("div",BD,[s("span",GD,c(n?.label),1),n?.kind==="count"?(l(),d("span",jD,[y(c(e.fmt?.number(e.quota[n?.key].used)),1),e.quota[n?.key].unlimited?f("v-if",!0):(l(),d("span",WD," / "+c(e.fmt?.number(e.quota[n?.key].total)),1)),e.quota[n?.key].unlimited?(l(),d("span",KD,"Unlimited")):f("v-if",!0)])):f("v-if",!0),n?.kind==="bytes"?(l(),d("span",YD,[y(c(e.fmt?.humanFileSize(e.quota[n?.key].used)),1),e.quota[n?.key].unlimited?f("v-if",!0):(l(),d("span",JD," / "+c(e.fmt?.humanFileSize(e.quota[n?.key].total)),1)),e.quota[n?.key].unlimited?(l(),d("span",QD,"Unlimited")):f("v-if",!0)])):f("v-if",!0)]),s("div",{class:O(["quota-track","quota-"+e.quota[n?.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":n?.label+" quota","aria-valuenow":e.quota[n?.key].used,"aria-valuemax":e.quota[n?.key].unlimited?e.quota[n?.key].used:e.quota[n?.key].total,"aria-valuetext":e.quota[n?.key].unlimited?"unlimited":e.fmt.number(e.quota[n?.key].percent,0)+"% used"},[e.quota[n?.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:Pe({width:e.quota[n?.key].percent+"%"})},null,4))],10,XD)])),64))])):f("v-if",!0),f(" Search + filters "),E((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter anonymizations","accept-charset":"UTF-8",onSubmit:t[5]||(t[5]=we(n=>e.submitForm(n,()=>{n.preventDefault()}),["prevent"]))},[s("div",ZD,[E(s("input",xD,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",eR,[s("div",tR,[s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="all"}]),onClick:t[0]||(t[0]=n=>e.typeFilter="all"),"aria-pressed":e.typeFilter==="all"},"All",10,sR),s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="repo"}]),onClick:t[1]||(t[1]=n=>e.typeFilter="repo"),"aria-pressed":e.typeFilter==="repo"},"Repos",10,nR),s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="pr"}]),onClick:t[2]||(t[2]=n=>e.typeFilter="pr"),"aria-pressed":e.typeFilter==="pr"},"PRs",10,oR),s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="gist"}]),onClick:t[3]||(t[3]=n=>e.typeFilter="gist"),"aria-pressed":e.typeFilter==="gist"},"Gists",10,rR)]),s("div",iR,[s("button",aR,[t[12]||(t[12]=s("span",{class:"filter-btn-label"},"Sort",-1)),s("span",lR,c(e.sortLabel()),1),s("i",{class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2),s("span",dR,c(e.sortDesc()?"descending":"ascending"),1)]),s("div",uR,[t[14]||(t[14]=s("h6",{class:"dropdown-header"},"Order by",-1)),(l(!0),d(J,null,ne(e.sortFields,(n,i,a)=>(l(),d("div",cR,[s("input",{class:"form-check-input",type:"radio",name:"sort",onClick:u=>e.setSort(i,n.defaultDesc),checked:e.isSortedBy(i),id:"sort-"+a},null,8,pR),s("label",{class:"form-check-label",for:"sort-"+a},c(n?.label),9,fR)]))),256)),t[15]||(t[15]=s("div",{class:"dropdown-divider"},null,-1)),s("button",{type:"button",class:"dropdown-item",onClick:t[4]||(t[4]=n=>e.toggleSortDirection())},[t[13]||(t[13]=s("i",{class:"fas fa-exchange-alt fa-rotate-90","aria-hidden":"true"},null,-1)),y(" "+c(e.sortDesc()?"Switch to ascending":"Switch to descending"),1)])])]),s("div",mR,[s("button",hR,[t[16]||(t[16]=s("span",{class:"filter-btn-label"},"Status",-1)),e.hasHiddenStatus()?f("v-if",!0):(l(),d("span",vR,"All")),e.hasHiddenStatus()?(l(),d("span",yR,c(e.hiddenStatusCount())+" hidden",1)):f("v-if",!0)]),s("div",gR,[t[17]||(t[17]=s("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(J,null,ne(e.statusKeyLabels,(n,i,a)=>(l(),d("div",bR,[E(s("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,wR),[[o,{state:e.viewState,set:u=>{e.filters.status[i]=u},value:e.filters?.status[i],form:null,options:{}}]]),s("label",{class:"form-check-label",for:"status-"+i},c(n),9,kR)]))),256))])])])],32)),[[r,e.viewState]]),f(" Result count + active filter chips "),e.loading?f("v-if",!0):(l(),d("div",_R,[s("span",ER,[e.filteredItems?.length===e.items?.length?(l(),d("span",CR,[y(c(e.fmt?.number(e.items?.length))+" anonymization",1),e.items?.length!==1?(l(),d("span",NR,"s")):f("v-if",!0)])):f("v-if",!0),e.filteredItems?.length!==e.items?.length?(l(),d("span",SR,c(e.fmt?.number(e.filteredItems?.length))+" of "+c(e.fmt?.number(e.items?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>(l(),d(J,null,[n===!1?(l(),d("span",DR,[y(" Hiding "+c(e.statusKeyLabels[i])+" ",1),s("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusKeyLabels[i]+" again"},"\xD7",8,RR)])):f("v-if",!0)],64))),256)),e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn-link-inline",onClick:t[6]||(t[6]=n=>e.clearFilters())},"Clear filters")):f("v-if",!0)]))]),f(" Table "),s("div",{class:"paper-table paper-table-dashboard w-100",role:"table","aria-label":"Anonymizations","aria-busy":e.loading},[s("div",OR,[s("div",{role:"columnheader","aria-sort":e.isSortedBy("_name")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("_name")}]),onClick:t[7]||(t[7]=n=>e.setSort("_name"))},[t[19]||(t[19]=y(" Anonymization ",-1)),e.isSortedBy("_name")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,AR),s("div",{role:"columnheader","aria-sort":e.isSortedBy("status")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("status")}]),onClick:t[8]||(t[8]=n=>e.setSort("status"))},[t[20]||(t[20]=y(" Status ",-1)),e.isSortedBy("status")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,IR),s("div",{role:"columnheader",class:"num","aria-sort":e.isSortedBy("pageView")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("pageView")}]),onClick:t[9]||(t[9]=n=>e.setSort("pageView"))},[t[21]||(t[21]=y(" Views ",-1)),e.isSortedBy("pageView")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,VR),s("div",{role:"columnheader","aria-sort":e.isSortedBy("options.expirationDate")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("options.expirationDate")}]),onClick:t[10]||(t[10]=n=>e.setSort("options.expirationDate"))},[t[22]||(t[22]=y(" Expires ",-1)),e.isSortedBy("options.expirationDate")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,PR),t[23]||(t[23]=s("div",{role:"columnheader"},[s("span",{class:"sr-only"},"Actions")],-1))]),f(" Loading skeleton: keeps the layout stable while the three lists load "),(l(),d(J,null,ne([1,2,3,4],(n,i)=>(l(),d(J,null,[e.loading?(l(),d("div",qR,[...t[24]||(t[24]=[s("div",{class:"cell-anon",role:"cell"},[s("span",{class:"skeleton skeleton-badge"}),s("div",{class:"anon-text"},[s("span",{class:"skeleton skeleton-line",style:{width:"38%"}}),s("span",{class:"skeleton skeleton-line skeleton-line-sm",style:{width:"56%"}})])],-1),s("div",{class:"cell-status",role:"cell"},[s("span",{class:"skeleton skeleton-line",style:{width:"60%"}})],-1),s("div",{class:"cell-views num",role:"cell"},[s("span",{class:"skeleton skeleton-line",style:{width:"40%"}})],-1),s("div",{class:"cell-expires",role:"cell"},[s("span",{class:"skeleton skeleton-line",style:{width:"55%"}})],-1),s("div",{class:"cell-actions",role:"cell"},null,-1)])])):f("v-if",!0)],64))),64)),(l(!0),d(J,null,ne(e.filteredItems,(n,i)=>(l(),d(J,{key:n?._type+":"+(n?._id||i)},[e.loading?f("v-if",!0):(l(),d("div",{key:0,class:O(["paper-table-row",{"repo-inactive":n?._statusKey=="expired"||n?._statusKey=="removed","repo-error":n?.status=="error","row-clickable":!!n?._viewUrl}]),role:"row",onClick:a=>e.openItem(n,a)},[s("div",$R,[s("span",{class:O(["type-badge",{"type-repo":n?._type==="repo","type-pr":n?._type==="pr","type-gist":n?._type==="gist"}])},c(n?._type==="repo"?"Repo":n?._type==="pr"?"PR":"Gist"),3),s("div",UR,[s("div",LR,[n?._viewUrl?(l(),d("a",{key:0,class:"repo-name",textContent:c(n?._name),href:e.safeUrl(n?._viewUrl)},null,8,FR)):f("v-if",!0),n?._viewUrl?f("v-if",!0):(l(),d("span",{key:1,class:"repo-name repo-name-static",textContent:c(n?._name)},null,8,zR)),n?.role==="coauthor"?(l(),d("span",HR,"Co-author")):f("v-if",!0)]),!n?._broken||n?.conference?(l(),d("div",BR,[n?._type==="repo"&&n?.source?.fullName&&!n?._broken?(l(),d("span",GR,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.fullName),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/")},null,8,jR),n?.options?.update&&n?.source?.branch?(l(),d("span",WR,[t[25]||(t[25]=y(" \xB7 ",-1)),s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,KR)])):f("v-if",!0),n?.source?.commit?(l(),d("span",YR,[t[26]||(t[26]=y(" \xB7 ",-1)),s("a",{class:"commit-hash",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},"@"+c(n?.source?.commit?.substring(0,8)),9,JR)])):f("v-if",!0)])):f("v-if",!0),n?._type==="pr"&&n?.source?.repositoryFullName&&!n?._broken?(l(),d("span",QR,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?._source),href:e.safeUrl("https://github.com/"+n?.source?.repositoryFullName+"/pull/"+n?.source?.pullRequestId)},null,8,XR)])):f("v-if",!0),n?._type==="gist"&&n?.source?.gistId&&!n?._broken?(l(),d("span",ZR,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?._source),href:e.safeUrl("https://gist.github.com/"+n?.source?.gistId)},null,8,xR)])):f("v-if",!0),n?.conference?(l(),d("span",{key:3,class:"cell-conf conf-tag",title:n?.conference},[t[27]||(t[27]=s("i",{class:"fas fa-university","aria-hidden":"true"},null,-1)),t[28]||(t[28]=y()),s("span",{textContent:c(n?.conference)},null,8,tT)],8,eT)):f("v-if",!0)])):f("v-if",!0)])]),s("div",sT,[s("div",nT,[s("span",{class:O(["status-dot","status-"+n?._statusKey]),"aria-hidden":"true"},null,2),s("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(n?.status))},null,8,oT)]),n?.status=="error"&&n?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:c(e.fmt?.statusMsg(n?.statusMessage)),title:n?.statusMessage},null,8,rT)):f("v-if",!0),n?._stale?(l(),d("div",{key:1,class:"status-sub status-sub-warn",title:"Last activity "+e.fmt?.humanTime(n?.anonymizeDate||n?.lastView)}," Last activity "+c(e.fmt?.humanTime(n?.anonymizeDate||n?.lastView))+" \xB7 may be stuck ",9,iT)):f("v-if",!0),n?.status!="error"&&!n?._stale&&n?.anonymizeDate?(l(),d("div",aT," anonymized "+c(e.fmt?.humanTime(n?.anonymizeDate)),1)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView))},null,8,lT),s("div",dT,[n?._expiry?.kind==="never"?(l(),d("span",uT,"Never")):f("v-if",!0),n?._expiry?.kind==="date"?(l(),d("span",{key:1,textContent:c(e.fmt?.humanTime(n?._expiry?.date))},null,8,cT)):f("v-if",!0),n?._expiry?.kind==="expired"&&n?._expiry?.date?(l(),d("span",pT,"Expired "+c(e.fmt?.humanTime(n?._expiry?.date)),1)):f("v-if",!0),n?._expiry?.kind==="expired"&&!n?._expiry?.date?(l(),d("span",fT,"Expired")):f("v-if",!0),n?._expiry?.kind==="none"?(l(),d("span",mT,"\u2014")):f("v-if",!0)]),s("div",hT,[n?._broken?f("v-if",!0):(l(),d("div",vT,[s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+n?._name},[...t[29]||(t[29]=[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"},null,-1)])],8,yT),s("div",gT,[s("a",{class:"dropdown-item",href:e.safeUrl(n?._viewUrl)},[...t[30]||(t[30]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View ",-1)])],8,bT),n?._type==="repo"&&n?.options?.page&&n?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+n?.repoId+"/")},[...t[31]||(t[31]=[s("i",{class:"fas fa-globe","aria-hidden":"true"},null,-1),y(" View page ",-1)])],8,wT)):f("v-if",!0),s("a",{class:"dropdown-item",href:e.safeUrl(n?._editUrl)},[...t[32]||(t[32]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,kT),n?.status=="ready"||n?.status=="error"?(l(),d("button",{key:1,type:"button",class:"dropdown-item",onClick:a=>e.refreshItem(n)},[...t[33]||(t[33]=[s("i",{class:"fas fa-sync","aria-hidden":"true"},null,-1),y(" Force update ",-1)])],8,_T)):f("v-if",!0),n?.status=="removed"?(l(),d("button",{key:2,type:"button",class:"dropdown-item",onClick:a=>e.refreshItem(n)},[...t[34]||(t[34]=[s("i",{class:"fas fa-check-circle","aria-hidden":"true"},null,-1),y(" Enable ",-1)])],8,ET)):f("v-if",!0),n?.status=="expired"?(l(),d("button",{key:3,type:"button",class:"dropdown-item",onClick:a=>e.extendItem(n)},[...t[35]||(t[35]=[s("i",{class:"fas fa-calendar-plus","aria-hidden":"true"},null,-1),y(" Extend 6 months ",-1)])],8,CT)):f("v-if",!0),(n?.status=="ready"||n?.status=="expired"||n?.status=="error")&&n?.role!=="coauthor"?(l(),d("div",NT,[t[37]||(t[37]=s("div",{class:"dropdown-divider"},null,-1)),s("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeItem(n)},[...t[36]||(t[36]=[s("i",{class:"fas fa-trash-alt","aria-hidden":"true"},null,-1),y(" Remove ",-1)])],8,ST)])):f("v-if",!0)])]))])],10,MR))],64))),128)),!e.loading&&e.filteredItems?.length==0?(l(),d("div",DT,[t[39]||(t[39]=s("i",{class:"fas fa-inbox","aria-hidden":"true"},null,-1)),e.items?.length==0?(l(),d("span",RT,"You have no anonymizations yet.")):f("v-if",!0),e.items?.length>0?(l(),d("span",TT,"Nothing matches the current filters.")):f("v-if",!0),s("div",OT,[e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[11]||(t[11]=n=>e.clearFilters())},"Clear filters")):f("v-if",!0),e.items?.length==0?(l(),d("a",AT,[...t[38]||(t[38]=[s("i",{class:"fa fa-plus-circle mr-1","aria-hidden":"true"},null,-1),y(" New anonymization",-1)])])):f("v-if",!0)])])):f("v-if",!0)],8,TR)])])}var IT={class:"explorer-page"},VT=["aria-label"],PT=["textContent"],qT={class:"leftCol-head"},MT={class:"leftCol-search"},$T={class:"tree-search-box"},UT={type:"text",class:"tree-search-input",placeholder:"Search files","aria-label":"Search files"},LT={class:"leftCol-project-header"},FT=["textContent"],zT={class:"project-file-count"},HT={class:"leftCol-body"},BT={key:0,class:"paper-inline-warning",role:"alert"},GT={key:1,class:"paper-inline-warning",role:"alert"},jT={class:"leftCol-foot"},WT=["title"],KT=["title"],YT=["title"],JT={key:2,class:"last-update",title:"Older repositories have no recorded publication date. The source commit date does not establish when files became available here."},QT={class:"explorer-main"},XT={class:"status-bar"},ZT={class:"breadcrumb paths","aria-label":"Path"},xT=["textContent"],eO={class:"status-bar-actions"},tO=["href"],sO={class:"d-none d-md-inline"},nO={class:"d-none d-md-inline"},oO=["href"],rO=["href"],iO=["href"],aO=["href"],lO={class:"explorer-content"};function ll(e,t){let o=et("tree"),r=et("partial-view"),n=be("field");return l(),d("div",IT,[E(s("button",{class:"sidebar-toggle",onClick:t[0]||(t[0]=i=>e.sidebarCollapsed=!e.sidebarCollapsed),"aria-label":e.sidebarCollapsed?"Show files":"Hide files"},[s("i",{class:O(["fas",e.sidebarCollapsed?"fa-folder-open":"fa-times"])},null,2),s("span",{textContent:c(e.sidebarCollapsed?"Files":"Close")},null,8,PT)],8,VT),[[B,e.files?.length]]),E(s("div",{class:O(["leftCol",{collapsed:e.sidebarCollapsed}])},[s("div",qT,[t[7]||(t[7]=s("span",{class:"leftCol-eyebrow"},"Files",-1)),s("button",{class:"leftCol-close","aria-label":"Close files",onClick:t[1]||(t[1]=i=>e.sidebarCollapsed=!0)},[...t[6]||(t[6]=[s("i",{class:"fas fa-times"},null,-1)])])]),s("div",MT,[s("div",$T,[s("i",{class:O(["fas tree-search-icon",e.fileSearchLoading?"fa-spinner fa-spin":"fa-search"])},null,2),E(s("input",UT,null,512),[[n,{state:e.viewState,set:i=>{e.fileSearchQuery=i},value:e.fileSearchQuery,form:null,options:{debounce:300},change:()=>{e.onFileSearchChange()}}]]),E(s("kbd",{class:"tree-search-kbd"},c(e.isMac?"\u2318":"Ctrl+")+"K",513),[[B,!e.fileSearchQuery]]),E(s("button",{class:"tree-search-clear","aria-label":"Clear search",onClick:t[2]||(t[2]=i=>{e.fileSearchQuery="",e.onFileSearchChange()})},"\xD7",512),[[B,e.fileSearchQuery]])])]),s("div",LT,[s("span",{class:"project-name",textContent:c(e.repoId)},null,8,FT),s("span",zT,c(e.fileCounts?.[""]||e.files?.length)+" files",1)]),s("div",HT,[e.options?.truncatedFolders?.length>0?(l(),d("div",BT,[t[8]||(t[8]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fmt?.translate("WARNINGS.repo_truncated")),1)])):f("v-if",!0),e.options?.hasSubmodules?(l(),d("div",GT,[t[9]||(t[9]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fmt?.translate("WARNINGS.submodules_not_included")),1)])):f("v-if",!0),De(o,{class:"files",file:e.files,"search-query":e.fileSearchQuery,"search-results":e.fileSearchResults,page:e.viewState},null,8,["file","search-query","search-results","page"])]),s("div",jT,[s("span",{class:"last-update",title:e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate},c(e.options?.sourceCommitDate?"Source commit":e.options?.anonymizedAt?"Anonymized":"Updated")+" "+c(e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),9,WT),e.options?.settingsSavedAt?(l(),d("span",{key:0,class:"last-update",title:e.options.settingsSavedAt}," Settings saved "+c(e.fmt?.date(e.options.settingsSavedAt)),9,KT)):f("v-if",!0),e.options?.publishedAt?(l(),d("span",{key:1,class:"last-update",title:e.options.publishedAt}," Snapshot ready "+c(e.fmt?.date(e.options.publishedAt)),9,YT)):f("v-if",!0),e.options?.anonymizedAt&&!e.options?.publishedAt?(l(),d("span",JT," Snapshot ready date not recorded ")):f("v-if",!0)])],2),[[B,e.files?.length]]),E(s("div",{class:"leftCol-backdrop",onClick:t[3]||(t[3]=i=>e.sidebarCollapsed=!0)},null,512),[[B,e.files?.length&&!e.sidebarCollapsed]]),s("div",QT,[s("div",XT,[s("ol",ZT,[(l(!0),d(J,null,ne(e.paths,(i,a)=>(l(),d("li",{class:"breadcrumb-item",textContent:c(i)},null,8,xT))),256))]),s("div",eO,[e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[10]||(t[10]=[s("i",{class:"far fa-edit"},null,-1),s("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,tO)):f("v-if",!0),e.type=="html-doc"&&!e.showSource?(l(),d("button",{key:1,class:O(["btn btn-sm",{"btn-active":e.allowScripts}]),"aria-label":"Allow this document to run JavaScript",title:"Scripts in this file are blocked by default. Enable them only if you trust the repository \u2014 the document stays isolated from your session either way.",onClick:t[4]||(t[4]=i=>e.toggleAllowScripts())},[t[11]||(t[11]=s("i",{class:"fab fa-js"},null,-1)),s("span",sO,c(e.allowScripts?"JS on":"JS off"),1)],2)):f("v-if",!0),e.type=="html-doc"?(l(),d("button",{key:2,class:"btn btn-sm","aria-label":"Toggle between the rendered document and its source",title:"Toggle between the rendered document and its source",onClick:t[5]||(t[5]=i=>e.toggleSource())},[s("i",{class:O(["fas",e.showSource?"fa-eye":"fa-code"])},null,2),s("span",nO,c(e.showSource?"Rendered":"Source"),1)])):f("v-if",!0),E(s("a",{target:"_self",class:"btn btn-sm","aria-label":"View raw current file",title:"View the raw content of the current file",href:e.safeUrl(e.url)},[...t[12]||(t[12]=[s("i",{class:"fas fa-file-alt"},null,-1),s("span",{class:"d-none d-md-inline"}," Raw",-1)])],8,oO),[[B,e.content!=null]]),E(s("a",{target:"_self",class:"btn btn-sm","aria-label":"Download current file",title:"Download the current file",href:e.safeUrl(e.url+"&download=true")},[...t[13]||(t[13]=[s("i",{class:"fas fa-download"},null,-1),s("span",{class:"d-none d-md-inline"}," Download",-1)])],8,rO),[[B,e.content!=null]]),e.options?.download?(l(),d("a",{key:3,target:"_self",class:"btn btn-sm","aria-label":"Download full repository as ZIP",title:"Download the full repository as a ZIP archive",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[14]||(t[14]=[s("i",{class:"fas fa-file-archive"},null,-1),s("span",{class:"d-none d-md-inline"}," Full repo ZIP",-1)])],8,iO)):f("v-if",!0),e.options?.hasWebsite?(l(),d("a",{key:4,target:"_self",class:"btn btn-sm","aria-label":"Website",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[15]||(t[15]=[s("i",{class:"fas fa-globe"},null,-1),s("span",{class:"d-none d-md-inline"}," Website",-1)])],8,aO)):f("v-if",!0)])]),s("div",lO,[De(r,{name:"partials/pageView.htm",state:e.viewState},null,8,["state"])])])])}var dO={class:"paper-faq"};function dl(e,t){return l(),d("div",dO,[...t[0]||(t[0]=[ge('
Help

Answers to the questions that come up most.

If something's missing, write to us \u2014 report a bug on GitHub.

',1),s("div",{class:"paper-faq-body"},[s("aside",{class:"paper-faq-toc"},[s("div",{class:"paper-faq-toc-head"},"Contents"),s("nav",null,[s("a",{href:"#faq-general"},"General"),s("a",{href:"#faq-features"},"Features"),s("a",{href:"#faq-limitations"},"Limitations"),s("a",{href:"#faq-privacy"},"Privacy & Security"),s("a",{href:"#faq-hosting"},"Self-Hosting")])]),s("section",{class:"faq-section","aria-label":"FAQs"},[s("div",null,[f(" General "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-info-circle mr-2"}),y("General ")]),s("div",{class:"panel-group",id:"faq-general",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingWhatIs"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#whatIs","aria-expanded":"false","aria-controls":"whatIs"}," What is Anonymous GitHub? ")])]),s("div",{id:"whatIs",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingWhatIs"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub is a free, open-source tool that anonymizes GitHub repositories and pull requests for double-anonymous (double-blind) peer review. It replaces identifying information \u2014 such as the repository owner, organization name, and custom terms \u2014 so that reviewers cannot determine the identity of the authors through the code repository. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingHowWork"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#howWork","aria-expanded":"false","aria-controls":"howWork"}," How does Anonymous GitHub work? ")])]),s("div",{id:"howWork",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingHowWork"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub either downloads the complete repository and anonymizes the content, or proxies requests to GitHub on the fly. In both cases, the original and anonymized versions of files are cached on the server. The system automatically detects and replaces the repository owner, organization name, and repository name. You can also specify additional custom terms to anonymize using one-per-line regex patterns. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingScope"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#scope","aria-expanded":"false","aria-controls":"scope"}," What is the scope of anonymization? ")])]),s("div",{id:"scope",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingScope"},[s("div",{class:"panel-body p-3"},[s("p",null," In double-anonymous peer review, the boundary of anonymization is the paper plus its online appendix \u2014 not the entire internet. Searching for any part of the paper or the online appendix can be considered a deliberate attempt to break anonymity. Anonymous GitHub anonymizes the repository owner, organization, repository name, file and directory names, and file contents across all text-based file types. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingCost"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#cost","aria-expanded":"false","aria-controls":"cost"}," How much does it cost? ")])]),s("div",{id:"cost",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCost"},[s("div",{class:"panel-body p-3"},[s("p",null,[y(" Anonymous GitHub is completely free to use. However, the server costs hundreds of dollars per year to maintain. If you find the service useful, a small donation would be greatly appreciated. You can support the project by "),s("a",{href:"https://github.com/sponsors/tdurieux/",target:"_blank"},"sponsoring on GitHub"),y(", donating through "),s("a",{href:"https://ko-fi.com/tdurieux",target:"_blank"},"Ko-fi"),y(', or by clicking the "Support me" button on the site. ')])])])])]),f(" Features "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-cogs mr-2"}),y("Features ")]),s("div",{class:"panel-group",id:"faq-features",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingFormats"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#formats","aria-expanded":"false","aria-controls":"formats"}," Which file formats are supported? ")])]),s("div",{id:"formats",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFormats"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub can display and render a wide variety of file types: "),s("ul",null,[s("li",null,[s("strong",null,"Text and source code"),y(" \u2014 displayed with syntax highlighting")]),s("li",null,[s("strong",null,"Markdown"),y(" \u2014 rendered as formatted HTML")]),s("li",null,[s("strong",null,"Images"),y(" (PNG, JPG, SVG, etc.) \u2014 displayed inline")]),s("li",null,[s("strong",null,"PDFs"),y(" \u2014 rendered directly in the browser")]),s("li",null,[s("strong",null,"Jupyter Notebooks"),y(" \u2014 rendered with code cells and outputs")])]),s("p",null," Only text-based files are anonymized. Anonymous GitHub analyzes the content of each file to determine whether it is textual or binary. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingPR"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#pullRequests","aria-expanded":"false","aria-controls":"pullRequests"}," Can I anonymize pull requests? ")])]),s("div",{id:"pullRequests",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPR"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. In addition to full repositories, Anonymous GitHub supports anonymizing individual pull requests. Simply paste the URL of a GitHub pull request when creating a new anonymized repository, and the system will automatically detect that it is a pull request and anonymize it accordingly. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingConference"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#conference","aria-expanded":"false","aria-controls":"conference"}," What is the Conference ID feature? ")])]),s("div",{id:"conference",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConference"},[s("div",{class:"panel-body p-3"},[s("p",null," When creating an anonymized repository, you can associate it with a Conference ID. This allows conferences to define default anonymization settings (such as expiration dates) that are automatically applied to repositories submitted under that conference. If your conference provides a Conference ID, enter it during the anonymization setup. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingExpiration"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#expiration","aria-expanded":"false","aria-controls":"expiration"}," What happens when an anonymized repository expires? ")])]),s("div",{id:"expiration",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingExpiration"},[s("div",{class:"panel-body p-3"},[s("p",null," You can configure one of three expiration strategies when creating your anonymized repository: "),s("ul",null,[s("li",null,[s("strong",null,"Never expire"),y(" \u2014 the anonymized repository remains accessible indefinitely.")]),s("li",null,[s("strong",null,"Redirect to GitHub"),y(" \u2014 after expiration, visitors are redirected to the original GitHub repository.")]),s("li",null,[s("strong",null,"Remove content"),y(" \u2014 after expiration, the anonymized content is deleted from the server.")])])])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingDownload"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#download","aria-expanded":"false","aria-controls":"download"}," Can I download an anonymized repository? ")])]),s("div",{id:"download",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDownload"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. Anonymized repositories can be downloaded as a ZIP file. This is useful if reviewers want to build or test the code locally. The downloaded archive contains the fully anonymized version of the repository. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingUpdates"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#updates","aria-expanded":"false","aria-controls":"updates"}," Are updates to the original repository reflected in the anonymized version? ")])]),s("div",{id:"updates",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingUpdates"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. The anonymized repository tracks the source on GitHub: when you push new commits to the original repository, the anonymized view picks up those changes (cached files are refreshed against GitHub). This means you can keep iterating on the code while reviewers have the link, and you do not need to recreate the anonymized repository every time you update the source. "),s("p",null," A few practical implications worth keeping in mind: "),s("ul",null,[s("li",null," You can safely create the anonymized repository early in the writing process \u2014 later commits will be visible to reviewers without any additional action. "),s("li",null," If you rename files, add new identifiers, or introduce new contributor names after creation, revisit the anonymization options (custom terms, file filters) to make sure the new content is still properly anonymized. "),s("li",null," If the original repository is made private or deleted, the anonymized repository will no longer be able to fetch updated content. ")])])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingCLI"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#cli","aria-expanded":"false","aria-controls":"cli"}," Is there a command-line tool? ")])]),s("div",{id:"cli",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCLI"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. Anonymous GitHub provides a CLI tool that lets you anonymize repositories locally, generating an anonymized ZIP file on your machine. Install it via npm: "),s("pre",{style:{"background-color":"var(--hover-bg-color)",padding:"12px","border-radius":"4px","margin-top":"8px",color:"var(--color)"}},[s("code",null,`npm install -g @tdurieux/anonymous_github -anonymous_github`)])])])])]),f(" Limitations "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-exclamation-triangle mr-2"}),y("Limitations ")]),s("div",{class:"panel-group",id:"faq-limitations",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingLimitation"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-limitations",href:"#limitation","aria-expanded":"false","aria-controls":"limitation"}," What are the limitations of Anonymous GitHub? ")])]),s("div",{id:"limitation",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingLimitation"},[s("div",{class:"panel-body p-3"},[s("ul",null,[s("li",null," Anonymous GitHub only anonymizes text-based files. Binary files (compiled executables, archives, etc.) are served as-is without anonymization. "),s("li",null," Files larger than 8 MB are not supported. "),s("li",null," Static site generators (such as Jekyll) used with GitHub Pages are not fully supported, although Markdown files are converted to HTML. "),s("li",null," The anonymization of terms within source code may change the behavior of the program (e.g., if a replaced term appears in a string literal or identifier). ")])])])])]),f(" Privacy & Security "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-shield-alt mr-2"}),y("Privacy & Security ")]),s("div",{class:"panel-group",id:"faq-privacy",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingData"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#data","aria-expanded":"false","aria-controls":"data"}," How is my data handled? ")])]),s("div",{id:"data",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingData"},[s("div",{class:"panel-body p-3"},[s("p",null," Data stored on Anonymous GitHub is never shared or used for any purpose beyond providing the anonymization service. When a repository is removed or expires, only its configuration is retained \u2014 this makes it easy to restore the repository if needed and ensures that no future repository reuses the same ID. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingPermissions"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#permissions","aria-expanded":"false","aria-controls":"permissions"}," Why does GitHub say Anonymous GitHub asks for write access? ")])]),s("div",{id:"permissions",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPermissions"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub only reads your repositories \u2014 it never pushes commits, opens issues, modifies settings, or deletes anything. From your perspective as a user, the service is read-only. "),s("p",null,[y(" However, GitHub's OAuth scopes do not offer a read-only option for private repositories: the only scope that grants access to private repos is "),s("code",null,"repo"),y(", which is documented as full read/write access. To support users who want to anonymize a private repository, Anonymous GitHub must request that scope, and GitHub then displays the broader permission text at sign-in. The application itself only ever performs read operations against the GitHub API. ")]),s("p",null,[y(" If you only anonymize public repositories, the source code is open and can be audited on the "),s("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),y(", or you can self-host your own instance. ")])])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingViewer"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#viewer","aria-expanded":"false","aria-controls":"viewer"}," Can repository owners see who viewed their anonymized repository? ")])]),s("div",{id:"viewer",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingViewer"},[s("div",{class:"panel-body p-3"},[s("p",null," No. Only the total number of views is tracked as an incremental counter. It is not possible for the repository owner or for Anonymous GitHub to identify individual viewers. Reviewer anonymity is fully preserved. ")])])])]),f(" Self-Hosting "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-server mr-2"}),y("Self-Hosting ")]),s("div",{class:"panel-group",id:"faq-hosting",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingDeploy"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-hosting",href:"#deploy","aria-expanded":"false","aria-controls":"deploy"}," Can I deploy my own instance? ")])]),s("div",{id:"deploy",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDeploy"},[s("div",{class:"panel-body p-3"},[s("p",null,[y(" Yes. Anonymous GitHub is fully open source (GPL-3.0) and supports Docker-based deployment. You will need to configure a GitHub OAuth app and provide a GitHub token. Detailed setup instructions are available on the "),s("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),y(". ")]),s("p",null," The basic steps are: "),s("ol",null,[s("li",null,"Clone the repository and install dependencies"),s("li",null,[y("Create a "),s("code",null,".env"),y(" file with your GitHub token, OAuth client ID, and client secret")]),s("li",null,[y("Run "),s("code",null,"docker-compose up -d")])])])])])]),s("div",{class:"text-center mt-5 mb-5 p-4",style:{"background-color":"var(--hover-bg-color)","border-radius":"8px"}},[s("p",{class:"mb-2",style:{"font-size":"1.1rem"}}," Still have questions? "),s("p",{class:"text-muted mb-0"},[y(" Open an issue on the "),s("a",{href:"https://github.com/tdurieux/anonymous_github/issues",target:"_blank"},"GitHub repository"),y(" and we'll be happy to help. ")])])])])],-1)])])}var uO={class:"pr-page"},cO={class:"container paper-page pr-page-inner"},pO={class:"pr-header"},fO={class:"paper-page-title pr-title"},mO=["textContent"],hO={key:1,class:"text-muted"},vO=["href"],yO={class:"pr-header-meta"},gO={key:0,class:"pr-meta-item"},bO=["textContent"],wO={key:1,class:"pr-meta-item"},kO=["textContent"],_O={key:2,class:"pr-meta-item"},EO=["textContent"],CO={key:0,class:"paper-tabs",role:"tablist"},NO=["textContent"],SO=["textContent"],DO={class:"paper-tab-content"},RO={key:0},TO={class:"pr-comments"},OO={class:"pr-comment"},AO={class:"pr-comment-head"},IO=["textContent"],VO={key:0,class:"pr-comment-date"},PO={key:0,class:"paper-table-empty"},qO={key:1},MO={class:"pr-comments"},$O={class:"pr-comment"},UO={class:"pr-comment-head"},LO={key:0,class:"pr-comment-author"},FO=["textContent"],zO=["textContent"],HO={key:0,class:"pr-comment-body"},BO={key:0,class:"paper-table-empty"};function ul(e,t){let o=et("gist-file"),r=et("markdown");return l(),d("div",uO,[s("div",cO,[t[15]||(t[15]=s("div",{class:"paper-crumbs"},[s("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),s("span",{class:"here"},"Gist")],-1)),s("header",pO,[s("h1",fO,[e.details?.description?(l(),d("span",{key:0,textContent:c(e.details?.description)},null,8,mO)):f("v-if",!0),e.details?.description?f("v-if",!0):(l(),d("span",hO,"Untitled gist")),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:2,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/gist-anonymize/"+e.gistId)},[...t[2]||(t[2]=[s("i",{class:"far fa-edit"},null,-1),s("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,vO)):f("v-if",!0)]),s("div",yO,[s("span",{class:O(["paper-pill",{good:e.details?.isPublic,warn:!e.details?.isPublic}])},c(e.details?.isPublic?"Public":"Secret"),3),e.details?.ownerLogin?(l(),d("span",gO,[t[3]||(t[3]=s("i",{class:"far fa-user"},null,-1)),t[4]||(t[4]=y(" @",-1)),s("span",{textContent:c(e.details?.ownerLogin)},null,8,bO)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",wO,[t[5]||(t[5]=s("i",{class:"far fa-clock"},null,-1)),t[6]||(t[6]=y()),s("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,kO)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",_O,[t[7]||(t[7]=s("i",{class:"fas fa-user-secret"},null,-1)),t[8]||(t[8]=y(" Anonymized ",-1)),s("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,EO)])):f("v-if",!0)])]),e.details?.files&&e.details?.files?.length||e.details?.comments&&e.details?.comments?.length?(l(),d("nav",CO,[e.details?.files?(l(),d("button",{key:0,class:O(["paper-tab",{active:e.tabState?.active=="files"}]),type:"button",role:"tab",onClick:t[0]||(t[0]=n=>e.tabState.active="files")},[t[9]||(t[9]=s("i",{class:"fas fa-file-code"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.files?.length,{0:"No files",one:"1 file",other:"{} files"}))},null,8,NO)],2)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:O(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",onClick:t[1]||(t[1]=n=>e.tabState.active="comments")},[t[10]||(t[10]=s("i",{class:"far fa-comment-dots"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,SO)],2)):f("v-if",!0)])):f("v-if",!0),s("div",DO,[e.details?.files&&e.tabState?.active=="files"?(l(),d("div",RO,[s("ul",TO,[(l(!0),d(J,null,ne(e.details?.files,(n,i)=>(l(),d("li",OO,[s("div",AO,[s("strong",{textContent:c(n?.filename)},null,8,IO),n?.language?(l(),d("span",VO,c(n?.language),1)):f("v-if",!0)]),De(o,{file:n},null,8,["file"])]))),256)),e.details?.files?.length?f("v-if",!0):(l(),d("li",PO,[...t[11]||(t[11]=[s("i",{class:"fas fa-file"},null,-1),s("span",null,"No files in this gist.",-1)])]))])])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",qO,[s("ul",MO,[(l(!0),d(J,null,ne(e.details?.comments,(n,i)=>(l(),d("li",$O,[s("div",UO,[n?.author?(l(),d("span",LO,[t[12]||(t[12]=s("i",{class:"far fa-user"},null,-1)),t[13]||(t[13]=y(" @",-1)),s("span",{textContent:c(n?.author)},null,8,FO)])):f("v-if",!0),n?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(n?.updatedDate))},null,8,zO)):f("v-if",!0)]),n?.body?(l(),d("div",HO,[De(r,{content:n?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",BO,[...t[14]||(t[14]=[s("i",{class:"far fa-comment-dots"},null,-1),s("span",null,"No comments on this gist.",-1)])]))])])):f("v-if",!0)])])])}var GO={class:"collapse navbar-collapse",id:"navbarSupportedContent"},jO={class:"navbar-nav mr-auto smooth-scroll"},WO={key:0,class:"nav-item"},KO={key:1,class:"nav-item"},YO={key:2,class:"nav-item"},JO={key:3,class:"nav-item"},QO={class:"nav-item"},XO={key:4,class:"nav-item"},ZO={class:"navbar-nav"},xO={key:0,class:"nav-item"},eA={key:1,class:"nav-item"},tA={key:2,class:"nav-item"},sA={key:3,class:"nav-item dropdown user-chip-wrap"},nA={class:"nav-link user-chip dropdown-toggle",href:"#",id:"navbarDropdownMenuLink",role:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},oA=["src"],rA={class:"user-chip-name"},iA={class:"dropdown-menu dropdown-menu-right user-menu","aria-labelledby":"navbarDropdownMenuLink"},aA={class:"dropdown-header"},lA=["innerHTML"];function cl(e,t){return l(),d(J,null,[s("nav",{class:O(["navbar navbar-expand-lg",{"navbar-dark":e.isDarkMode}])},[t[13]||(t[13]=s("a",{class:"navbar-brand",href:"/"},[y("Anonymous "),s("em",null,"GitHub")],-1)),t[14]||(t[14]=s("button",{class:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[s("span",{class:"navbar-toggler-icon"})],-1)),s("div",GO,[s("ul",jO,[e.user?f("v-if",!0):(l(),d("li",WO,[s("a",{class:O(["nav-link",{active:e.path=="/"}]),href:"/"}," Home ",2)])),e.user?(l(),d("li",KO,[s("a",{class:O(["nav-link",{active:e.path=="/dashboard"}]),href:"/dashboard"},[...t[2]||(t[2]=[s("i",{class:"fas fa-th-large d-lg-none mr-1"},null,-1),y(" My work ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",YO,[s("a",{class:O(["nav-link",{active:e.path=="/anonymize"||e.path=="/pull-request-anonymize"}]),href:"/anonymize"},[...t[3]||(t[3]=[s("i",{class:"fas fa-user-secret d-lg-none mr-1"},null,-1),y(" Anonymize ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",JO,[s("a",{class:O(["nav-link",{active:e.path=="/conferences"}]),href:"/conferences"},[...t[4]||(t[4]=[s("i",{class:"fas fa-chalkboard-teacher d-lg-none mr-1"},null,-1),y(" Conferences ",-1)])],2)])):f("v-if",!0),s("li",QO,[s("a",{class:O(["nav-link",{active:e.path=="/faq"}]),href:"/faq"},[...t[5]||(t[5]=[s("i",{class:"fas fa-question-circle d-lg-none mr-1"},null,-1),y("FAQ",-1)])],2)]),e.user&&e.user?.isAdmin?(l(),d("li",XO,[s("a",{class:O(["nav-link",{active:e.path?.indexOf("/admin")===0}]),href:"/admin/"},[...t[6]||(t[6]=[s("i",{class:"fas fa-cog d-lg-none mr-1"},null,-1),y(" Admin ",-1)])],2)])):f("v-if",!0)]),s("ul",ZO,[t[11]||(t[11]=s("li",{class:"nav-item"},[s("a",{class:"nav-link nav-icon",target:"_blank",href:"https://github.com/tdurieux/anonymous_github/",title:"Anonymous GitHub source code","aria-label":"Anonymous GitHub source code on GitHub",rel:"noopener","data-offset":"30"},[s("i",{class:"fab fa-github","aria-hidden":"true"})])],-1)),f(` "Report a bug" is about this service. Reviewers who land on an +`)],{type:"text/csv;charset=utf-8"}),C=URL.createObjectURL(I),A=document.createElement("a");A.href=C,A.download=`errors-${new Date().toISOString().slice(0,19)}.csv`,document.body.appendChild(A),A.click(),document.body.removeChild(A),URL.revokeObjectURL(C)};function b(N){e.copyHint=`${N} copied`,n.timeout(()=>{e.copyHint=""},1500)}e.copyJson=N=>{navigator.clipboard.writeText(N._detailJson).then(()=>b("JSON"))},e.copyCurl=N=>{if(!N._url)return;let I=`curl -X ${N._method||"GET"} '${window.location.origin}${N._url}'`;navigator.clipboard.writeText(I).then(()=>b("curl"))},w();let T=r(()=>{e.query.autoRefresh&&w()},15e3);e.on("dispose",()=>r.cancel(T)),e.watch("query.search",k),e.watch("query.bucket",k),e.watch("query.sort",k),e.watch("query.group",k)},ja=function(e,t,o,r){if(e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null){o.url("/");return}e.data=null,e.loading=!0,e.error=null;function n(p){if(p==null)return"\u2014";for(var g=["B","KB","MB","GB","TB"],w=0,b=p;b>=1024&&w0?1:0)+" "+g[w]}e.humanBytes=n;function i(p){if(!p)return"\u2014";var g=Math.floor(p/86400),w=Math.floor(p%86400/3600),b=Math.floor(p%3600/60);return g>0?g+"d "+(w<10?"0":"")+w+"h":w>0?w+"h "+(b<10?"0":"")+b+"m":b+"m"}e.humanDuration=i;function a(p){return p==null?"\u2014":p>=1e6?(p/1e6).toFixed(1)+"M":p>=1e3?(p/1e3).toFixed(1)+"K":String(p)}e.humanNum=a,e.queueTotal=function(p){return p?(p.waiting||0)+(p.active||0)+(p.delayed||0)+(p.failed||0):0},e.statusCount=function(p){if(!e.data||!e.data.repos)return 0;for(var g=e.data.repos.statusBreakdown||[],w=0;wh[w])&&(h[w]=g[w])})})},function(p){e.loading=!1,e.error=p.data&&p.data.error||"Failed to load overview"})}v();var k=r(v,3e4);e.on("dispose",function(){r.cancel(k)})};var Wa=[{path:"/connections",template:"partials/connections.htm",title:"GitHub connections \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>$a(e,t.http)},{path:"/signin",template:"partials/signin.htm",title:"Sign in \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ua(e,t.http)},{path:"/",template:"partials/home.htm",title:"Anonymous GitHub \u2013 Share the code, not the author",preserveExplorer:!1,setup:(e,t)=>Oa(e,t.http,t.location,t.window,t.timeout)},{path:"/dashboard",template:"partials/dashboard.htm",title:"Your anonymizations \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Aa(e,t.http,t.location,t.promises,t.window,t.quotaService)},{path:"/pr-dashboard",redirect:"/dashboard"},{path:"/anonymize/:repoId?",template:"partials/anonymize.htm",title:"New anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Jn(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/pull-request-anonymize/:pullRequestId?",template:"partials/anonymize.htm",title:"Anonymize a pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Jn(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/gist-anonymize/:gistId?",template:"partials/anonymize.htm",title:"Anonymize a gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Jn(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/status/:repoId",template:"partials/status.htm",title:"Repository status \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ia(e,t.http,t.params)},{path:"/conferences",template:"partials/conferences.htm",title:"Your conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>qa(e,t.http,t.location)},{path:"/conference/new",template:"partials/newConference.htm",title:"New conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Qo(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId/edit",template:"partials/newConference.htm",title:"Edit conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Qo(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId",template:"partials/conference.htm",title:"Conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ma(e,t.http,t.location,t.params)},{path:"/faq",template:"partials/faq.htm",title:"FAQ \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Da(e,t.http)},{path:"/profile",template:"partials/profile.htm",title:"Your settings \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ra(e,t.http,t.translate,t.timeout,t.quotaService)},{path:"/claim",template:"partials/claim.htm",title:"Claim an anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ta(e,t.http,t.location)},{path:"/pr/:pullRequestId/:path(.*)*",template:"partials/pullRequest.htm",title:"Anonymous pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Va(e,t.http,t.location,t.params,t.html)},{path:"/gist/:gistId/:path(.*)*",template:"partials/gist.htm",title:"Anonymous gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Pa(e,t.http,t.location,t.params,t.html)},{path:"/r/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Jo(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/repository/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Jo(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/admin/",template:"partials/admin/overview.htm",title:"Admin \xB7 Overview \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ja(e,t.http,t.location,t.interval)},{path:"/admin/repositories",template:"partials/admin/repositories.htm",title:"Admin \xB7 Repositories \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>La(e,t.http,t.location)},{path:"/admin/users",template:"partials/admin/users.htm",title:"Admin \xB7 Users \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Fa(e,t.http,t.location)},{path:"/admin/users/:username",template:"partials/admin/user.htm",title:"Admin \xB7 User details \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>za(e,t.http,t.location,t.params)},{path:"/admin/conferences",template:"partials/admin/conferences.htm",title:"Admin \xB7 Conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ha(e,t.http,t.location)},{path:"/admin/queues",template:"partials/admin/queues.htm",title:"Admin \xB7 Queues \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ba(e,t.http,t.location,t.interval,t.timeout)},{path:"/admin/errors",template:"partials/admin/errors.htm",title:"Admin \xB7 Errors \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ga(e,t.http,t.location,t.interval)},{path:"/404",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",preserveExplorer:!1,setup:()=>{}},{path:"/:pathMatch(.*)*",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",setup:()=>{}}];var Gc={class:"container paper-page connections-page"},jc={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Wc={key:1,role:"status"},Kc=["disabled"],Yc={key:3},Jc={class:"connections-grid"},Qc={key:0},Xc={class:"connection-title"},Zc={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},xc={class:"connection-actions"},ep={key:0,class:"btn btn-ink",target:"_self",href:"/github/app/install"},tp={key:1,class:"connection-installations"},sp={key:0},np=["href"],op={class:"sr-only"},rp=["disabled"],ip={class:"connection-title"},ap={key:0,target:"_self",href:"/github/login",class:"btn btn-outline-ink"},lp={key:1,class:"connection-revoke"},dp={key:0},up=["disabled"],cp={class:"connection-resources"},pp={class:"connection-title"},fp={class:"connection-count"},mp={key:0,class:"connection-empty"},hp={class:"connection-resource-name"},vp={key:0,class:"connection-resource-actions"},yp=["disabled","onClick"],gp=["disabled","onClick"],bp={key:1,class:"connection-help",role:"status"},wp=["disabled","onClick"];function Ka(e,t){return l(),d("div",Gc,[t[20]||(t[20]=be('
My work / GitHub connections

GitHub connections

Manage how GitHub shares your code. Your anonymizations and URLs stay the same.

',2)),e.connectionError?(l(),d("p",jc,c(e.connectionError),1)):f("v-if",!0),!e.connections&&!e.connectionError?(l(),d("p",Wc,"Loading your connections\u2026")):f("v-if",!0),!e.connections&&e.connectionError?(l(),d("button",{key:2,class:"btn btn-outline-ink",disabled:e.busy,onClick:t[0]||(t[0]=o=>e.loadConnections())},"Try again",8,Kc)):f("v-if",!0),e.connections?(l(),d("div",Yc,[s("div",Jc,[e.connections.appEnabled?(l(),d("section",Qc,[t[8]||(t[8]=s("div",{class:"connection-top"},[s("i",{class:"fab fa-github","aria-hidden":"true"}),s("span",{class:"connection-badge"},"Recommended")],-1)),s("div",Xc,[t[3]||(t[3]=s("h2",null,"GitHub App",-1)),s("span",{class:O(["connection-status",{"is-connected":e.connections.appConnected&&!e.connections.appError}])},c(e.connections.appError?"Needs attention":e.connections.appConnected?"Connected":"Not connected"),3)]),t[9]||(t[9]=s("p",null,"Read-only access to the repositories you choose.",-1)),e.connections.appError?(l(),d("p",Zc,c(e.connections.appError)+". Reconnect to restore access.",1)):f("v-if",!0),s("div",xc,[e.connections.appConnected&&!e.connections.appError?(l(),d("a",ep,[...t[4]||(t[4]=[y("Manage repository access ",-1),s("i",{class:"fas fa-external-link-alt","aria-hidden":"true"},null,-1)])])):f("v-if",!0),s("a",{class:O(e.connections.appConnected&&!e.connections.appError?"connection-link":"btn btn-ink"),target:"_self",href:"/github/app/login"},c(e.connections.appConnected?"Reconnect account":"Connect GitHub account"),3)]),t[10]||(t[10]=s("p",{class:"connection-help"},"Choose repositories on GitHub. Organization access may need an administrator's approval.",-1)),e.connections.installations?.length?(l(),d("ul",tp,[(l(!0),d(J,null,ne(e.connections.installations,o=>(l(),d("li",{key:o.id},[s("div",null,[s("strong",null,c(o.account),1),o.suspended?(l(),d("span",sp," \xB7 Suspended")):f("v-if",!0)]),s("a",{target:"_self",href:"/github/app/install?installationId="+o.id},[t[5]||(t[5]=y("Manage access ",-1)),s("span",op,"for "+c(o.account),1),t[6]||(t[6]=y(" \u2192",-1))],8,np)]))),128))])):f("v-if",!0),s("button",{class:"connection-link",disabled:e.busy,onClick:t[1]||(t[1]=o=>e.loadConnections())},[...t[7]||(t[7]=[s("i",{class:"fas fa-sync-alt","aria-hidden":"true"},null,-1),y(" Refresh access",-1)])],8,rp)])):f("v-if",!0),s("section",null,[t[13]||(t[13]=s("div",{class:"connection-top"},[s("i",{class:"fas fa-key","aria-hidden":"true"}),s("span",{class:"connection-badge connection-badge-muted"},"Legacy")],-1)),s("div",ip,[t[11]||(t[11]=s("h2",null,"GitHub OAuth",-1)),s("span",{class:O(["connection-status",{"is-connected":e.connections.oauthConnected}])},c(e.connections.oauthConnected?"Connected":"Not connected"),3)]),t[14]||(t[14]=s("p",null,"For existing OAuth anonymizations and gists.",-1)),t[15]||(t[15]=s("p",{class:"connection-help"},"This connection uses GitHub's broader repository permissions. Existing work keeps using it until you switch below.",-1)),e.connections.oauthEnabled?(l(),d("a",ap,c(e.connections.oauthConnected?"Reconnect OAuth":"Connect legacy OAuth"),1)):f("v-if",!0),e.connections.oauthConnected?(l(),d("div",lp,[e.connections.gistCount?(l(),d("p",dp,c(e.connections.gistCount)+" gist(s) still require OAuth.",1)):f("v-if",!0),t[12]||(t[12]=s("p",null,"Switch all dependent repositories before revoking access. Gists still require OAuth.",-1)),e.connections.appConnected?(l(),d("button",{key:1,class:"connection-link connection-danger",disabled:e.busy||e.connections.gistCount||e.connections.resources.some(o=>o.connection==="oauth"),onClick:t[2]||(t[2]=o=>e.disconnectOAuth())},"Revoke OAuth access",8,up)):f("v-if",!0)])):f("v-if",!0)])]),s("section",cp,[s("div",pp,[t[16]||(t[16]=s("h2",null,"Repository connections",-1)),s("span",fp,c(e.connections.resources?.length||0)+" resources",1)]),t[18]||(t[18]=s("p",null,"Check access, then switch each resource to the GitHub App. After reinstalling the App, reconnect existing resources here to keep their anonymous URLs and published snapshots.",-1)),e.connections.resources?.length?f("v-if",!0):(l(),d("div",mp,[...t[17]||(t[17]=[s("i",{class:"fas fa-code-branch","aria-hidden":"true"},null,-1),s("div",null,[s("h3",null,"No repository connections yet"),s("p",null,"Your repositories and pull requests will appear here once you anonymize them.")],-1),s("a",{class:"connection-link",href:"/anonymize"},"New anonymization \u2192",-1)])])),(l(!0),d(J,null,ne(e.connections.resources,o=>(l(),d("div",{class:"connection-resource",key:o.type+o.id},[s("div",hp,[s("strong",null,c(o.name||o.id),1),s("small",null,c(o.type)+" \xB7 "+c(o.id),1)]),s("span",{class:O(["connection-badge",{"connection-badge-muted":o.connection==="oauth"}])},c(o.connection==="github-app"?"Read-only App":"Legacy OAuth"),3),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&e.connections.appEnabled&&e.connections.appConnected?(l(),d("div",vp,[s("button",{class:"btn btn-outline-ink",disabled:e.busy,onClick:r=>e.changeConnection(o,"github-app",!0)},"Check read-only access",8,yp),o.eligible?(l(),d("button",{key:0,class:"btn btn-ink",disabled:e.busy,onClick:r=>e.changeConnection(o,"github-app",!1)},c(o.connection==="github-app"?"Reconnect read-only access":"Switch to read-only access"),9,gp)):f("v-if",!0),o.eligible===!1?(l(),d("span",bp,"Access unavailable. Allow this repository on GitHub, then check again.")):f("v-if",!0)])):f("v-if",!0),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&o.connection==="github-app"&&e.connections.oauthConnected?(l(),d("button",{key:1,class:"connection-link",disabled:e.busy,onClick:r=>e.changeConnection(o,"oauth",!1)},"Use OAuth",8,wp)):f("v-if",!0)]))),128)),t[19]||(t[19]=s("p",{class:"connection-footnote"},[s("i",{class:"fas fa-info-circle","aria-hidden":"true"}),y(" Removing access stops new fetches from GitHub. Published content keeps its current expiration and removal settings.")],-1))])])):f("v-if",!0)])}var kp={class:"container paper-page auth-page"},_p={class:"auth-layout"},Ep={class:"auth-options"},Cp={key:0},Np={key:0,class:"btn btn-ink auth-continue",target:"_self",href:"/github/login?recover=1"},Sp={key:1},Dp={key:1},Rp={key:2,class:"auth-legacy"},Tp={key:3,role:"status"};function Ya(e,t){return l(),d("div",kp,[t[5]||(t[5]=s("a",{class:"auth-back",href:"/"},[s("i",{class:"fas fa-arrow-left","aria-hidden":"true"}),y(" Anonymous GitHub")],-1)),s("div",_p,[t[4]||(t[4]=be('
Your research, ready for review

Your code.
Your identity,
protected.
Sign in to GitHub

Sign in to create and manage your anonymizations.

',1)),s("div",Ep,[e.accountRecovery?(l(),d("section",Cp,[t[0]||(t[0]=s("h2",null,"Verify your existing account",-1)),t[1]||(t[1]=s("p",null,"We found an existing account. Verify it with your previous GitHub connection to keep your anonymizations. Future sign-ins will use the GitHub App.",-1)),e.site_options?.GITHUB_OAUTH_ENABLED?(l(),d("a",Np,"Verify with previous GitHub connection")):(l(),d("p",Sp,"Account verification is currently unavailable. Please try again later."))])):f("v-if",!0),e.site_options?.GITHUB_APP_ENABLED&&!e.accountRecovery?(l(),d("section",Dp,[...t[2]||(t[2]=[be('
Read-only access

Continue with GitHub

Connect through the GitHub App with read-only repository access.

  • You choose which repositories to share
  • No permission to write to your code
Sign in with GitHub Your existing anonymizations and connections stay with your account.',6)])])):f("v-if",!0),!e.site_options?.GITHUB_APP_ENABLED&&e.site_options?.GITHUB_OAUTH_ENABLED&&!e.accountRecovery?(l(),d("section",Rp,[...t[3]||(t[3]=[s("div",{class:"connection-title"},[s("h2",null,"Continue with GitHub")],-1),s("p",null,"Sign in to access your account. GitHub OAuth includes write access to private repositories.",-1),s("a",{class:"connection-link",target:"_self",href:"/github/login"},[y("Sign in with GitHub "),s("i",{class:"fas fa-arrow-right","aria-hidden":"true"})],-1)])])):f("v-if",!0),e.site_options&&!e.site_options.GITHUB_APP_ENABLED&&!e.site_options.GITHUB_OAUTH_ENABLED?(l(),d("p",Tp,"GitHub sign-in is currently unavailable. Please try again later.")):f("v-if",!0)])])])}var Op={class:"paper-empty"};function Ja(e,t){return l(),d("div",Op,[...t[0]||(t[0]=[be('
Error \xB7 404

This link
isn\u2019t here.

The anonymous mirror you\u2019re looking for has expired, been removed by its owner, or never existed. If you received this URL from an author, ask them to re-issue it.

',1)])])}var Ap={class:"container paper-page admin-page"},Ip={class:"admin-summary"},Vp={class:"summary-total"},Pp={class:"count"},qp={class:"count"},Mp={class:"count"},$p={class:"count"},Up={class:"count"},Lp={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},Fp={class:"w-100 admin-filter-toolbar","aria-label":"Conferences","accept-charset":"UTF-8"},zp={class:"admin-filter-row"},Hp={class:"search-wrap"},Bp={type:"search",class:"form-control",placeholder:"Search conferences\u2026",autocomplete:"off"},Gp={key:0,class:"admin-search-hint"},jp={class:"admin-filter-inline","aria-label":"Pagination"},Wp=["disabled"],Kp={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},Yp=["disabled"],Jp={key:0,class:"admin-filter-row"},Qp={class:"admin-active-chips"},Xp={class:"key"},Zp=["onClick"],xp={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},ef={class:"paper-table-head",role:"row"},tf={role:"columnheader"},sf={role:"columnheader"},nf={role:"columnheader"},of={class:"paper-table-row",role:"row"},rf={class:"cell-anon",role:"cell"},af={class:"anon-text"},lf=["textContent","href"],df={class:"anon-sub"},uf={class:"cell-status",role:"cell"},cf=["textContent"],pf={class:"cell-views num",role:"cell"},ff=["textContent","href"],mf={class:"cell-expires",role:"cell"},hf={class:"cell-actions",role:"cell"},vf={class:"dropdown"},yf={class:"dropdown-menu dropdown-menu-right"},gf=["href"],bf=["href"],wf=["href"],kf=["onClick"],_f={key:0,class:"paper-table-empty"},Ef={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},Cf={style:{"font-size":"12px",color:"var(--ink-muted)"}},Nf={key:0,class:"pagination-compact"},Sf=["disabled"],Df=["max"],Rf=["disabled"],Tf={class:"admin-filter-inline"},Of={class:"form-control form-control-sm"};function Qa(e,t){let o=we("field"),r=we("form");return l(),d("div",Ap,[t[42]||(t[42]=be('
Admin \xA0/\xA0 Conferences

Conferences

',3)),s("div",Ip,[s("span",Vp,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),s("span",{class:O(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=n=>{e.query.ready=!e.query.ready,e.query.page=1})},[t[13]||(t[13]=y("Ready ",-1)),s("span",Pp,c(e.fmt?.number(e.statusCountFor("ready"))),1)],2),s("span",{class:O(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=n=>{e.query.preparing=!e.query.preparing,e.query.page=1})},[t[14]||(t[14]=y("Preparing ",-1)),s("span",qp,c(e.fmt?.number(e.statusCountFor("preparing"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=n=>{e.query.error=!e.query.error,e.query.page=1})},[t[15]||(t[15]=y("Errored ",-1)),s("span",Mp,c(e.fmt?.number(e.statusCountFor("error"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=n=>{e.query.expired=!e.query.expired,e.query.page=1})},[t[16]||(t[16]=y("Expired ",-1)),s("span",$p,c(e.fmt?.number(e.statusCountFor("expired"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.removed}]),title:"Toggle removed filter",onClick:t[4]||(t[4]=n=>{e.query.removed=!e.query.removed,e.query.page=1})},[t[17]||(t[17]=y("Removed ",-1)),s("span",Up,c(e.fmt?.number(e.statusCountFor("removed"))),1)],2)]),e.fetchError?(l(),d("div",Lp,[t[18]||(t[18]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fetchError),1)])):f("v-if",!0),E((l(),d("form",Fp,[s("div",zp,[s("div",Hp,[E(s("input",Bp,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",Gp,"/"))]),t[22]||(t[22]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",onClick:t[5]||(t[5]=n=>e.exportCsv())},[...t[19]||(t[19]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])]),s("span",jp,[s("button",{class:"btn btn-sm",type:"button",onClick:t[6]||(t[6]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[20]||(t[20]=[s("i",{class:"fas fa-chevron-left"},null,-1)])],8,Wp),s("span",Kp,c(e.query?.page)+"/"+c(e.totalPage||1),1),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[21]||(t[21]=[s("i",{class:"fas fa-chevron-right"},null,-1)])],8,Yp)])]),e.chips?.length?(l(),d("div",Jp,[s("div",Qp,[(l(!0),d(J,null,ne(e.chips,(n,i)=>(l(),d("span",{class:"admin-active-chip",key:n?.key},[s("span",Xp,c(n?.label),1),s("span",null,c(n?.value),1),s("button",{type:"button",onClick:a=>e.clearFilter(n.key)},[...t[23]||(t[23]=[s("i",{class:"fas fa-times"},null,-1)])],8,Zp)]))),128))])])):f("v-if",!0)])),[[r,e.viewState]]),s("div",xp,[s("div",ef,[s("div",tf,[s("span",{class:O(["sortable",{active:e.query?.sort=="name"}]),onClick:t[8]||(t[8]=n=>e.sortBy("name"))},[t[24]||(t[24]=y("Conference ",-1)),s("i",{class:O(["fas",e.sortIcon("name")])},null,2)],2)]),s("div",sf,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[9]||(t[9]=n=>e.sortBy("status"))},[t[25]||(t[25]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),t[27]||(t[27]=s("div",{role:"columnheader",class:"num"},"Repos",-1)),s("div",nf,[s("span",{class:O(["sortable",{active:e.query?.sort=="startDate"}]),onClick:t[10]||(t[10]=n=>e.sortBy("startDate"))},[t[26]||(t[26]=y("Window ",-1)),s("i",{class:O(["fas",e.sortIcon("startDate")])},null,2)],2)]),t[28]||(t[28]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredConferences,(n,i)=>(l(),d("div",of,[s("div",rf,[t[30]||(t[30]=s("span",{class:"type-badge type-repo"},"Conf",-1)),s("div",af,[s("a",{class:"repo-name",textContent:c(n?.name),href:e.safeUrl("/conference/"+n?.conferenceID)},null,8,lf),s("div",df,[s("span",null,c(n?.conferenceID),1),t[29]||(t[29]=y("\xA0\xB7\xA0",-1)),s("span",null,c(e.fmt?.number(n?.price||0))+" \u20AC",1)])])]),s("div",uf,[s("span",{class:O(["status-dot",{"status-removed":n?.status=="removed"||n?.status=="expired","status-ready":n?.status=="ready","status-error":n?.status=="error","status-preparing":n?.status=="preparing"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,cf)]),s("div",pf,[s("a",{title:"Show repositories in this conference",textContent:c(e.fmt?.number(n?.repositories?.length||0)),href:e.safeUrl("/admin/?conference="+n?.conferenceID)},null,8,ff)]),s("div",mf,c(e.fmt?.date(n?.startDate))+" \u2013 "+c(e.fmt?.date(n?.endDate)),1),s("div",hf,[s("div",vf,[t[36]||(t[36]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",yf,[s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/edit")},[...t[31]||(t[31]=[s("i",{class:"far fa-edit"},null,-1),y(" Edit",-1)])],8,gf),s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/")},[...t[32]||(t[32]=[s("i",{class:"fa fa-eye"},null,-1),y(" View",-1)])],8,bf),s("a",{class:"dropdown-item",href:e.safeUrl("/admin/?conference="+n?.conferenceID)},[...t[33]||(t[33]=[s("i",{class:"fas fa-code-branch"},null,-1),y(" View repositories",-1)])],8,wf),t[35]||(t[35]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:ke(a=>e.removeConference(n),["prevent"])},[...t[34]||(t[34]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,kf),[[B,n?.status!="removed"]])])])])]))),256)),e.filteredConferences?.length==0?(l(),d("div",_f,[...t[37]||(t[37]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No conferences match the current filters.",-1)])])):f("v-if",!0)]),s("div",Ef,[s("span",Cf,c(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",Nf,[s("button",{class:"btn btn-sm",onClick:t[11]||(t[11]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[38]||(t[38]=[s("i",{class:"fas fa-chevron-left"},null,-1),y(" Previous",-1)])],8,Sf),E(s("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,Df),[[o,{state:e.viewState,set:n=>{e.query.page=n},value:e.query?.page,form:null,options:{}}]]),s("span",null,"of "+c(e.totalPage),1),s("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[39]||(t[39]=[y("Next ",-1),s("i",{class:"fas fa-chevron-right"},null,-1)])],8,Rf)])):f("v-if",!0),s("span",Tf,[t[41]||(t[41]=s("label",null,"Per page",-1)),E((l(),d("select",Of,[...t[40]||(t[40]=[be('',5)])])),[[o,{state:e.viewState,set:n=>{e.query.limit=n},value:e.query?.limit,form:null,options:{}}]])])])])}var Af={class:"container paper-page admin-page errors-page"},If={class:"errors-header"},Vf={class:"errors-actions"},Pf={class:"kpi-grid"},qf={class:"kpi-card"},Mf={class:"kpi-value"},$f={key:0},Uf={key:1},Lf={class:"kpi-card kpi-error"},Ff={class:"kpi-value"},zf={class:"kpi-sub"},Hf={class:"kpi-card kpi-warn"},Bf={class:"kpi-value"},Gf={class:"kpi-sub"},jf={class:"kpi-card kpi-info"},Wf={class:"kpi-value"},Kf={class:"kpi-sub"},Yf={class:"kpi-value"},Jf={class:"kpi-sub"},Qf={key:0,class:"dropped-warn"},Xf={class:"volume-chart"},Zf={class:"volume-bars"},xf=["title"],em={class:"errors-toolbar","aria-label":"Error filters"},tm={class:"seg-tabs"},sm={class:"search-wrap"},nm={type:"search",class:"form-control",placeholder:"code:repo_not_found module:route status:>=400",autocomplete:"off"},om={key:0,class:"filter-count"},rm={class:"select-wrap"},im={class:"form-control form-control-sm"},am={class:"select-wrap"},lm={class:"form-control form-control-sm"},dm={class:"autoref"},um={type:"checkbox"},cm={key:0,class:"admin-empty"},pm={key:1,class:"errors-pager"},fm={key:2,class:"errors-list"},mm=["onClick"],hm={class:"col-when"},vm={class:"when-rel"},ym={class:"when-abs"},gm={class:"col-sev"},bm={class:"sev-label"},wm={class:"col-mod"},km={class:"pill pill-module"},_m={class:"col-msg"},Em={class:"msg-code"},Cm={key:0,class:"msg-context"},Nm={key:1,class:"msg-detail"},Sm={key:2,class:"msg-url"},Dm={class:"col-count"},Rm={key:0,class:"count-pill"},Tm={key:1,class:"count-pill count-pill-muted"},Om={class:"col-status"},Am={key:0,class:"errors-row-detail"},Im={class:"detail-tabs"},Vm=["onClick"],Pm=["onClick"],qm=["onClick"],Mm={class:"detail-body"},$m={class:"detail-main"},Um={key:0},Lm={key:1,class:"stack-pre"},Fm={key:2,class:"related-list"},zm={class:"when-abs"},Hm={class:"msg-url"},Bm={class:"detail-actions"},Gm=["onClick"],jm=["onClick"],Wm={key:0,class:"copy-hint"},Km={class:"detail-aside"},Ym={class:"aside-block"},Jm=["title"],Qm={class:"aside-block"},Xm=["title"],Zm={class:"aside-block"},xm={class:"aside-value"},eh={key:0,class:"aside-sub"},th={key:0,class:"aside-block"},sh=["href"],nh={key:1,class:"aside-block"},oh={class:"aside-value mono"};function Xa(e,t){let o=we("field"),r=we("form");return l(),d("div",Af,[t[32]||(t[32]=s("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),s("span",{class:"here"},"Errors")],-1)),s("header",If,[t[10]||(t[10]=s("h1",{class:"paper-page-title"},"Errors",-1)),s("div",Vf,[s("button",{class:"btn btn-sm",type:"button",onClick:t[0]||(t[0]=n=>e.exportCsv())},[...t[8]||(t[8]=[s("i",{class:"fas fa-file-export"},null,-1),y(" Export CSV",-1)])]),s("button",{class:"btn btn-sm btn-danger",type:"button",onClick:t[1]||(t[1]=n=>e.clearAll())},[...t[9]||(t[9]=[s("i",{class:"fas fa-trash"},null,-1),y(" Clear all",-1)])])])]),t[33]||(t[33]=be('',1)),s("section",Pf,[s("div",qf,[t[11]||(t[11]=s("div",{class:"kpi-label"},"Last 24h",-1)),s("div",Mf,c(e.stats?.last24h),1),s("div",{class:O(["kpi-sub",{up:e.stats?.delta>0,down:e.stats?.delta<0}])},[e.stats?.prev24h?(l(),d("span",$f,c(e.stats?.delta>0?"+":"")+c(e.stats?.delta)+"% vs yesterday",1)):f("v-if",!0),e.stats?.prev24h?f("v-if",!0):(l(),d("span",Uf,"no prior baseline"))],2)]),s("div",Lf,[t[12]||(t[12]=s("div",{class:"kpi-label"},"Errors (5xx)",-1)),s("div",Ff,c(e.stats?.severity?.error),1),s("div",zf,c(e.stats?.unique?.error)+" unique",1)]),s("div",Hf,[t[13]||(t[13]=s("div",{class:"kpi-label"},"Warnings (4xx)",-1)),s("div",Bf,c(e.stats?.severity?.warn),1),s("div",Gf,c(e.stats?.unique?.warn)+" unique",1)]),s("div",jf,[t[14]||(t[14]=s("div",{class:"kpi-label"},"Info (auth, 404)",-1)),s("div",Wf,c(e.stats?.severity?.info),1),s("div",Kf,c(e.stats?.unique?.info)+" unique",1)]),s("div",{class:O(["kpi-card",{"kpi-error":e.stats?.dropped>0}])},[t[15]||(t[15]=s("div",{class:"kpi-label"},"Captured",-1)),s("div",Yf,c(e.total),1),s("div",Jf,[y(" cap "+c(e.cap)+" \xB7 "+c(e.available?"live":"redis off")+" ",1),e.stats?.dropped>0?(l(),d("span",Qf," \xB7 "+c(e.stats?.dropped)+" dropped",1)):f("v-if",!0)])],2)]),s("section",Xf,[t[16]||(t[16]=be('
Volume \xB7 24h \xB7 1h bucketserror warn info
',1)),s("div",Zf,[(l(!0),d(J,null,ne(e.stats?.buckets,(n,i)=>(l(),d("div",{class:"volume-bar",key:i,title:e.bucketTitle(n)},[s("span",{class:"seg seg-error",style:qe({height:e.barPx(n,"error")+"px"})},null,4),s("span",{class:"seg seg-warn",style:qe({height:e.barPx(n,"warn")+"px"})},null,4),s("span",{class:"seg seg-info",style:qe({height:e.barPx(n,"info")+"px"})},null,4)],8,xf))),128))])]),E((l(),d("form",em,[s("div",tm,[s("button",{type:"button",class:O({active:e.query?.bucket===""}),onClick:t[2]||(t[2]=n=>e.setBucket(""))},"All",2),s("button",{type:"button",class:O({active:e.query?.bucket==="error"}),onClick:t[3]||(t[3]=n=>e.setBucket("error"))},"5xx",2),s("button",{type:"button",class:O({active:e.query?.bucket==="warn"}),onClick:t[4]||(t[4]=n=>e.setBucket("warn"))},"4xx",2),s("button",{type:"button",class:O({active:e.query?.bucket==="info"}),onClick:t[5]||(t[5]=n=>e.setBucket("info"))},"Info",2)]),s("div",sm,[t[17]||(t[17]=s("i",{class:"fas fa-search search-icon"},null,-1)),E(s("input",nm,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.parsedFilterCount?(l(),d("span",om,c(e.parsedFilterCount)+" filter"+c(e.parsedFilterCount>1?"s":""),1)):f("v-if",!0)]),s("div",rm,[t[19]||(t[19]=s("label",null,"Sort",-1)),E((l(),d("select",im,[...t[18]||(t[18]=[s("option",{value:"recent"},"Most recent",-1),s("option",{value:"count"},"Most frequent",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.sort=n},value:e.query?.sort,form:null,options:{}}]])]),s("div",am,[t[21]||(t[21]=s("label",null,"Group",-1)),E((l(),d("select",lm,[...t[20]||(t[20]=[s("option",{value:""},"Off",-1),s("option",{value:"code"},"By code",-1),s("option",{value:"module"},"By module",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.group=n},value:e.query?.group,form:null,options:{}}]])]),s("label",dm,[E(s("input",um,null,512),[[o,{state:e.viewState,set:n=>{e.query.autoRefresh=n},value:e.query?.autoRefresh,form:null,options:{}}]]),t[22]||(t[22]=y(" Auto-refresh ",-1))]),s("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[6]||(t[6]=n=>e.refreshNow())},[...t[23]||(t[23]=[s("i",{class:"fas fa-sync"},null,-1)])])])),[[r,e.viewState]]),e.visible?.length?f("v-if",!0):(l(),d("div",cm,"No errors captured.")),e.canLoadMore()&&e.visible?.length?(l(),d("div",pm,[s("span",null,"Showing "+c(e.entries?.length)+" of "+c(e.total)+" captured",1),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>e.loadMore())},"Load older")])):f("v-if",!0),e.visible?.length?(l(),d("div",fm,[t[31]||(t[31]=be('
WhenSeverityModuleMessageCountStatus
',1)),(l(!0),d(J,null,ne(e.visible,(n,i)=>(l(),d("div",{class:O(["errors-row",{open:e.expanded[n?._key]}]),key:n?._key},[s("div",{class:"errors-row-main",onClick:a=>e.toggle(n)},[s("div",hm,[s("div",vm,c(e.relTime(n?.ts)),1),s("div",ym,c(e.absTimeShort(n?.ts)),1)]),s("div",gm,[s("span",{class:O(["sev-dot","sev-"+n?._bucket])},null,2),s("span",bm,c(e.fmt?.uppercase(n?._bucket)),1)]),s("div",wm,[s("span",km,c(n?.module),1)]),s("div",_m,[s("strong",Em,c(n?.displayMessage),1),n?.displayContext&&n?.displayContext!==n?.displayMessage?(l(),d("span",Cm,c(n?.displayContext),1)):f("v-if",!0),n?._detail?(l(),d("span",Nm,c(n?._detail),1)):f("v-if",!0),n?._url?(l(),d("div",Sm,c(n?._url),1)):f("v-if",!0)]),s("div",Dm,[n?.count>1?(l(),d("span",Rm,"\xD7"+c(n?.count),1)):f("v-if",!0),n?.count===1?(l(),d("span",Tm,"\xD71")):f("v-if",!0)]),s("div",Om,[n?._status?(l(),d("span",{key:0,class:O(["status-pill","status-"+n?._bucket])},c(n?._status),3)):f("v-if",!0)])],8,mm),e.expanded[n?._key]?(l(),d("div",Am,[s("div",Im,[s("button",{type:"button",class:O({active:e.detailTab[n?._key]==="raw"||!e.detailTab[n?._key]}),onClick:a=>e.detailTab[n._key]="raw"},"Raw",10,Vm),n?._stack?(l(),d("button",{key:0,type:"button",class:O({active:e.detailTab[n?._key]==="stack"}),onClick:a=>e.detailTab[n._key]="stack"},"Stack",10,Pm)):f("v-if",!0),n?.count>1?(l(),d("button",{key:1,type:"button",class:O({active:e.detailTab[n?._key]==="related"}),onClick:a=>e.detailTab[n._key]="related"},"Related ("+c(n?.count)+")",11,qm)):f("v-if",!0)]),s("div",Mm,[s("div",$m,[(e.detailTab[n?._key]||"raw")==="raw"?(l(),d("pre",Um,c(n?._detailJson),1)):f("v-if",!0),e.detailTab[n?._key]==="stack"?(l(),d("pre",Lm,c(n?._stack),1)):f("v-if",!0),e.detailTab[n?._key]==="related"?(l(),d("div",Fm,[(l(!0),d(J,null,ne(n?._related,(a,u)=>(l(),d("div",{class:"related-row",key:u},[s("span",zm,c(e.absTimeShort(a?.ts)),1),s("span",Hm,c(a?._url),1),a?._status?(l(),d("span",{key:0,class:O(["status-pill","status-"+a?._bucket])},c(a?._status),3)):f("v-if",!0)]))),128))])):f("v-if",!0),s("div",Bm,[s("button",{class:"btn btn-sm",type:"button",title:"Copy a curl that reproduces the request",onClick:a=>e.copyCurl(n)},[...t[24]||(t[24]=[s("i",{class:"fas fa-terminal"},null,-1),y(" Copy curl",-1)])],8,Gm),s("button",{class:"btn btn-sm",type:"button",onClick:a=>e.copyJson(n)},[...t[25]||(t[25]=[s("i",{class:"fas fa-clipboard"},null,-1),y(" Copy JSON",-1)])],8,jm),e.copyHint?(l(),d("span",Wm,c(e.copyHint),1)):f("v-if",!0)])]),s("aside",Km,[s("div",Ym,[t[26]||(t[26]=s("div",{class:"aside-label"},"First seen",-1)),s("div",{class:"aside-value",title:e.absTime(n?._firstSeen)},c(e.relTime(n?._firstSeen)),9,Jm)]),s("div",Qm,[t[27]||(t[27]=s("div",{class:"aside-label"},"Last seen",-1)),s("div",{class:"aside-value",title:e.absTime(n?.ts)},c(e.relTime(n?.ts)),9,Xm)]),s("div",Zm,[t[28]||(t[28]=s("div",{class:"aside-label"},"Occurrences",-1)),s("div",xm,[y(c(n?.count),1),n?._lastHourCount?(l(),d("span",eh," \xB7 "+c(n?._lastHourCount)+" this hour",1)):f("v-if",!0)])]),n?._repoId?(l(),d("div",th,[t[29]||(t[29]=s("div",{class:"aside-label"},"Repository",-1)),s("a",{class:"aside-value",href:e.safeUrl("/r/"+n?._repoId)},c(n?._repoId),9,sh)])):f("v-if",!0),n?._url?(l(),d("div",nh,[t[30]||(t[30]=s("div",{class:"aside-label"},"URL",-1)),s("div",oh,c(n?._url),1)])):f("v-if",!0)])])])):f("v-if",!0)],2))),128))])):f("v-if",!0)])}var rh={class:"container paper-page admin-page overview-page"},ih={key:0,class:"admin-empty"},ah={key:1,class:"alert alert-danger",style:{margin:"12px 0"}},lh={key:2},dh={class:"ov-kpi-row"},uh={class:"ov-kpi-card"},ch={class:"ov-kpi-value"},ph={class:"ov-kpi-sub"},fh={class:"ov-kpi-card"},mh={class:"ov-kpi-sub"},hh={class:"ov-kpi-card"},vh={class:"ov-kpi-sub"},yh={class:"ov-kpi-card"},gh={class:"ov-kpi-sub"},bh={class:"ov-kpi-card"},wh={class:"ov-kpi-value"},kh={class:"ov-kpi-sub"},_h={class:"ov-daily-row"},Eh={class:"ov-daily-card"},Ch={class:"ov-daily-value"},Nh={class:"ov-daily-card"},Sh={class:"ov-daily-value"},Dh={class:"ov-daily-sub"},Rh={class:"ov-daily-card"},Th={class:"ov-daily-value"},Oh={class:"ov-chart-row"},Ah={class:"ov-chart-card"},Ih={key:0,class:"ov-spark-bars"},Vh=["data-tip","aria-label"],Ph={key:1,class:"ov-spark-x"},qh={class:"ov-chart-card"},Mh={key:0,class:"ov-spark-bars"},$h=["data-tip","aria-label"],Uh={key:1,class:"ov-spark-x"},Lh={class:"ov-chart-card"},Fh={key:0,class:"ov-spark-bars"},zh=["data-tip","aria-label"],Hh={key:1,class:"ov-spark-x"},Bh={class:"ov-chart-card"},Gh={key:0,class:"ov-spark-bars"},jh=["data-tip","aria-label"],Wh={key:1,class:"ov-spark-x"},Kh={class:"ov-triple-row"},Yh={class:"ov-panel-card"},Jh={class:"ov-panel-head"},Qh={class:"ov-panel-meta"},Xh={class:"ov-stacked-bar"},Zh={class:"ov-bar-legend"},xh={href:"/admin/repositories",class:"ov-legend-item"},ev={class:"ov-legend-n"},tv={href:"/admin/repositories",class:"ov-legend-item"},sv={class:"ov-legend-n"},nv={href:"/admin/repositories",class:"ov-legend-item"},ov={class:"ov-legend-n"},rv={href:"/admin/repositories",class:"ov-legend-item"},iv={class:"ov-legend-n"},av={href:"/admin/repositories",class:"ov-legend-item"},lv={class:"ov-legend-n"},dv={class:"ov-panel-card"},uv={class:"ov-panel-head"},cv={class:"ov-panel-meta"},pv={class:"ov-error-bars"},fv={class:"ov-ebar-row"},mv={class:"ov-ebar-track"},hv={class:"ov-ebar-n"},vv={class:"ov-ebar-row"},yv={class:"ov-ebar-track"},gv={class:"ov-ebar-n"},bv={class:"ov-ebar-row"},wv={class:"ov-ebar-track"},kv={class:"ov-ebar-n"},_v={key:0,class:"ov-panel-foot"},Ev={href:"/admin/errors"},Cv={class:"ov-panel-card"},Nv={class:"ov-routes-table"},Sv={class:"ov-route-row",href:"/admin/queues"},Dv={class:"ov-route-n"},Rv={class:"ov-route-n"},Tv={class:"ov-route-row",href:"/admin/queues"},Ov={class:"ov-route-n"},Av={class:"ov-route-n"},Iv={class:"ov-route-row",href:"/admin/queues"},Vv={class:"ov-route-n"},Pv={class:"ov-route-n"},qv={class:"ov-services-card"},Mv={class:"ov-services-head"},$v={class:"ov-panel-meta"},Uv={class:"ov-services-grid"},Lv={class:"ov-svc"},Fv={class:"ov-svc-info"},zv={class:"ov-svc-meta"},Hv={class:"ov-svc-detail"},Bv={class:"ov-svc"},Gv={class:"ov-svc-info"},jv={key:0,class:"ov-svc-meta"},Wv={key:1,class:"ov-svc-meta"},Kv={class:"ov-svc"},Yv={class:"ov-svc-info"},Jv={key:0,class:"ov-svc-meta"},Qv={key:1,class:"ov-svc-meta"},Xv={class:"ov-svc"},Zv={class:"ov-svc-info"},xv={key:0,class:"ov-svc-meta"},ey={key:1,class:"ov-svc-meta"},ty={class:"ov-svc"},sy={class:"ov-svc-info"},ny={class:"ov-svc-meta"};function Za(e,t){return l(),d("div",rh,[t[42]||(t[42]=be('
Admin \xB7 System Health

Overview

',3)),e.loading?(l(),d("div",ih,"Loading overview\u2026")):f("v-if",!0),e.error?(l(),d("div",ah,[t[0]||(t[0]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.error),1)])):f("v-if",!0),e.data?(l(),d("div",lh,[f(" \u2500\u2500 Top KPI row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",dh,[s("div",uh,[t[1]||(t[1]=s("div",{class:"ov-kpi-label"},[y("Repositories "),s("span",{class:"ov-dot ov-dot-ok"})],-1)),s("div",ch,c(e.humanNum(e.data?.repos?.total)),1),s("div",ph,"+"+c(e.data?.repos?.newRepos24h)+" \xB7 last 24h",1)]),s("div",fh,[t[2]||(t[2]=s("div",{class:"ov-kpi-label"},"CPU",-1)),s("div",{class:O(["ov-kpi-value",{"ov-val-warn":e.data?.system?.cpuPercent>80}])},c(e.data?.system?.cpuPercent)+"%",3),s("div",mh,c(e.data?.system?.cpuCount)+" cores \xB7 load "+c(e.data?.system?.loadAvg?.[0]?.toFixed(1)),1)]),s("div",hh,[t[3]||(t[3]=s("div",{class:"ov-kpi-label"},"Memory",-1)),s("div",{class:O(["ov-kpi-value",{"ov-val-warn":e.data?.system?.memPercent>85}])},c(e.data?.system?.memPercent)+"%",3),s("div",vh,c(e.humanBytes(e.data?.system?.memUsed))+" / "+c(e.humanBytes(e.data?.system?.memTotal)),1)]),s("div",yh,[t[4]||(t[4]=s("div",{class:"ov-kpi-label"},"Disk",-1)),s("div",{class:O(["ov-kpi-value",{"ov-val-warn":e.data?.system?.diskPercent>85}])},c(e.data?.system?.diskPercent)+"%",3),s("div",gh,c(e.humanBytes(e.data?.system?.diskUsed))+" / "+c(e.humanBytes(e.data?.system?.diskTotal))+" \xB7 "+c(e.data?.system?.diskMount),1)]),s("div",bh,[t[5]||(t[5]=s("div",{class:"ov-kpi-label"},"Uptime",-1)),s("div",wh,c(e.humanDuration(e.data?.system?.uptime)),1),s("div",kh,c(e.data?.system?.nodeVersion)+" \xB7 "+c(e.data?.system?.platform),1)])]),f(" \u2500\u2500 Daily activity highlights \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",_h,[s("div",Eh,[t[6]||(t[6]=s("div",{class:"ov-daily-label"},"New repos today",-1)),s("div",Ch,"+"+c(e.fmt?.number(e.data?.daily?.today?.repositories)),1),t[7]||(t[7]=s("div",{class:"ov-daily-sub"},"since yesterday",-1))]),s("div",Nh,[t[8]||(t[8]=s("div",{class:"ov-daily-label"},"New users today",-1)),s("div",Sh,"+"+c(e.fmt?.number(e.data?.daily?.today?.users)),1),s("div",Dh,c(e.fmt?.number(e.data?.users?.total))+" total users",1)]),s("div",Rh,[t[9]||(t[9]=s("div",{class:"ov-daily-label"},"Page views today",-1)),s("div",Th,"+"+c(e.fmt?.number(e.data?.daily?.today?.pageViews)),1),t[10]||(t[10]=s("div",{class:"ov-daily-sub"},"since yesterday",-1))])]),f(" \u2500\u2500 Daily charts \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",Oh,[s("div",Ah,[t[11]||(t[11]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"Daily page views \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-accent"}),y("views/day")])],-1)),e.data?.history?.length?(l(),d("div",Ih,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+" views","aria-label":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+" views"},[s("span",{class:"ov-spark-fill",style:qe({height:e.historyBarH(o,"dailyPageViews")+"px"})},null,4)],8,Vh))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Ph,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),s("div",qh,[t[12]||(t[12]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"New repos \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-ok-fill"}),y("repos/day")])],-1)),e.data?.history?.length?(l(),d("div",Mh,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+" repos","aria-label":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+" repos"},[s("span",{class:"ov-spark-fill ov-spark-fill-alt",style:qe({height:e.historyBarH(o,"dailyRepositories")+"px"})},null,4)],8,$h))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Uh,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),s("div",Lh,[t[13]||(t[13]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"Users \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-user-fill"}),y("total users")])],-1)),e.data?.history?.length?(l(),d("div",Fh,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": "+e.fmt?.number(o?.nbUsers)+" users","aria-label":e.historyLabel(o)+": "+e.fmt?.number(o?.nbUsers)+" users"},[s("span",{class:"ov-spark-fill ov-spark-fill-user",style:qe({height:e.historyBarH(o,"nbUsers")+"px"})},null,4)],8,zh))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Hh,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),s("div",Bh,[t[14]||(t[14]=s("div",{class:"ov-chart-head"},[s("span",{class:"ov-chart-title"},"New users \xB7 30d"),s("span",{class:"ov-chart-legend"},[s("span",{class:"ov-dot-legend ov-dot-new-user-fill"}),y("users/day")])],-1)),e.data?.history?.length?(l(),d("div",Gh,[(l(!0),d(J,null,ne(e.data?.history,(o,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+" users","aria-label":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+" users"},[s("span",{class:"ov-spark-fill ov-spark-fill-new-user",style:qe({height:e.historyBarH(o,"dailyUsers")+"px"})},null,4)],8,jh))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Wh,[s("span",null,c(e.historyLabel(e.data?.history[0])),1),s("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),s("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)])]),f(" \u2500\u2500 Three-panel row: Status / Errors / Queues \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",Kh,[f(" Repo status breakdown "),s("div",Yh,[s("div",Jh,[t[15]||(t[15]=s("span",{class:"ov-panel-title"},"Repo status",-1)),s("span",Qh,c(e.fmt?.number(e.data?.repos?.total))+" total",1)]),s("div",Xh,[s("span",{class:"ov-bar-seg ov-bar-ready",title:"Ready",style:qe({width:e.barPct("ready")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-preparing",title:"Preparing",style:qe({width:e.barPct("preparing")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-error",title:"Error",style:qe({width:e.barPct("error")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-expired",title:"Expired",style:qe({width:e.barPct("expired")+"%"})},null,4),s("span",{class:"ov-bar-seg ov-bar-removed",title:"Removed",style:qe({width:e.barPct("removed")+"%"})},null,4)]),s("div",Zh,[s("a",xh,[t[16]||(t[16]=s("span",{class:"ov-swatch ov-bar-ready"},null,-1)),t[17]||(t[17]=y(" ready ",-1)),s("span",ev,c(e.fmt?.number(e.statusCount("ready"))),1)]),s("a",tv,[t[18]||(t[18]=s("span",{class:"ov-swatch ov-bar-preparing"},null,-1)),t[19]||(t[19]=y(" preparing ",-1)),s("span",sv,c(e.fmt?.number(e.statusCount("preparing")+e.statusCount("download"))),1)]),s("a",nv,[t[20]||(t[20]=s("span",{class:"ov-swatch ov-bar-error"},null,-1)),t[21]||(t[21]=y(" error ",-1)),s("span",ov,c(e.fmt?.number(e.statusCount("error"))),1)]),s("a",rv,[t[22]||(t[22]=s("span",{class:"ov-swatch ov-bar-expired"},null,-1)),t[23]||(t[23]=y(" expired ",-1)),s("span",iv,c(e.fmt?.number(e.statusCount("expired")+e.statusCount("expiring"))),1)]),s("a",av,[t[24]||(t[24]=s("span",{class:"ov-swatch ov-bar-removed"},null,-1)),t[25]||(t[25]=y(" removed ",-1)),s("span",lv,c(e.fmt?.number(e.statusCount("removed")+e.statusCount("removing"))),1)])])]),f(" Error breakdown "),s("div",dv,[s("div",uv,[t[26]||(t[26]=s("span",{class:"ov-panel-title"},"Errors \xB7 24h",-1)),s("span",cv,c(e.data?.errors?.last24h)+" total",1)]),s("div",pv,[s("div",fv,[t[27]||(t[27]=s("span",{class:"ov-ebar-label"},"5xx",-1)),s("span",mv,[s("span",{class:"ov-ebar-fill ov-ebar-error",style:qe({width:e.errPct("error")+"%"})},null,4)]),s("span",hv,c(e.data?.errors?.severity?.error),1)]),s("div",vv,[t[28]||(t[28]=s("span",{class:"ov-ebar-label"},"4xx",-1)),s("span",yv,[s("span",{class:"ov-ebar-fill ov-ebar-warn",style:qe({width:e.errPct("warn")+"%"})},null,4)]),s("span",gv,c(e.data?.errors?.severity?.warn),1)]),s("div",bv,[t[29]||(t[29]=s("span",{class:"ov-ebar-label"},"Info",-1)),s("span",wv,[s("span",{class:"ov-ebar-fill ov-ebar-info",style:qe({width:e.errPct("info")+"%"})},null,4)]),s("span",kv,c(e.data?.errors?.severity?.info),1)])]),e.data?.repos?.recentErrors24h?(l(),d("div",_v,[s("a",Ev,c(e.data?.repos?.recentErrors24h)+" repos in error state \u2192",1)])):f("v-if",!0)]),f(" Top routes / queues "),s("div",Cv,[t[34]||(t[34]=s("div",{class:"ov-panel-head"},[s("span",{class:"ov-panel-title"},"Queues"),s("span",{class:"ov-panel-meta"},"by state")],-1)),s("div",Nv,[t[33]||(t[33]=be('
QueueActiveWaitFailed
',1)),s("a",Sv,[t[30]||(t[30]=s("span",{class:"ov-route-name"},"download",-1)),s("span",Dv,c(e.data?.queues?.download?.active),1),s("span",Rv,c(e.data?.queues?.download?.waiting),1),s("span",{class:O(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.download?.failed>0}])},c(e.data?.queues?.download?.failed),3)]),s("a",Tv,[t[31]||(t[31]=s("span",{class:"ov-route-name"},"remove",-1)),s("span",Ov,c(e.data?.queues?.remove?.active),1),s("span",Av,c(e.data?.queues?.remove?.waiting),1),s("span",{class:O(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.remove?.failed>0}])},c(e.data?.queues?.remove?.failed),3)]),s("a",Iv,[t[32]||(t[32]=s("span",{class:"ov-route-name"},"cache",-1)),s("span",Vv,c(e.data?.queues?.cache?.active),1),s("span",Pv,c(e.data?.queues?.cache?.waiting),1),s("span",{class:O(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.cache?.failed>0}])},c(e.data?.queues?.cache?.failed),3)])])])]),f(" \u2500\u2500 Services bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),s("section",qv,[s("div",Mv,[t[35]||(t[35]=s("span",{class:"ov-panel-title"},"Services",-1)),s("span",$v,c(e.fmt?.number(e.data?.users?.total))+" users \xB7 "+c(e.data?.conferences?.total)+" conferences",1)]),s("div",Uv,[s("div",Lv,[t[37]||(t[37]=s("span",{class:"ov-svc-dot ov-dot-ok"},null,-1)),s("div",Fv,[t[36]||(t[36]=s("span",{class:"ov-svc-name"},"web",-1)),s("span",zv,c(e.data?.system?.nodeVersion),1)]),s("span",Hv,"uptime "+c(e.humanDuration(e.data?.system?.uptime)),1)]),s("div",Bv,[s("span",{class:O(["ov-svc-dot",e.queueTotal(e.data?.queues?.download)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),s("div",Gv,[t[38]||(t[38]=s("span",{class:"ov-svc-name"},"download",-1)),e.queueTotal(e.data?.queues?.download)?(l(),d("span",jv,c(e.queueTotal(e.data?.queues?.download))+" jobs",1)):f("v-if",!0),e.queueTotal(e.data?.queues?.download)?f("v-if",!0):(l(),d("span",Wv,"idle"))])]),s("div",Kv,[s("span",{class:O(["ov-svc-dot",e.queueTotal(e.data?.queues?.cache)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),s("div",Yv,[t[39]||(t[39]=s("span",{class:"ov-svc-name"},"cache",-1)),e.queueTotal(e.data?.queues?.cache)?(l(),d("span",Jv,c(e.queueTotal(e.data?.queues?.cache))+" jobs",1)):f("v-if",!0),e.queueTotal(e.data?.queues?.cache)?f("v-if",!0):(l(),d("span",Qv,"idle"))])]),s("div",Xv,[s("span",{class:O(["ov-svc-dot",e.queueTotal(e.data?.queues?.remove)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),s("div",Zv,[t[40]||(t[40]=s("span",{class:"ov-svc-name"},"remove",-1)),e.queueTotal(e.data?.queues?.remove)?(l(),d("span",xv,c(e.queueTotal(e.data?.queues?.remove))+" jobs",1)):f("v-if",!0),e.queueTotal(e.data?.queues?.remove)?f("v-if",!0):(l(),d("span",ey,"idle"))])]),s("div",ty,[s("span",{class:O(["ov-svc-dot",e.data?.repos?.recentErrors24h>10?"ov-dot-warn":"ov-dot-ok"])},null,2),s("div",sy,[t[41]||(t[41]=s("span",{class:"ov-svc-name"},"errors",-1)),s("span",ny,c(e.data?.errors?.last24h)+" / 24h",1)])])])])])):f("v-if",!0)])}var oy={class:"container paper-page admin-page"},ry={class:"q-header"},iy={class:"q-header-actions"},ay={class:"q-range-btns"},ly={class:"q-cards"},dy=["onClick"],uy={class:"q-card-head"},cy=["textContent"],py=["textContent"],fy={class:"q-card-sub"},my={key:0,class:"q-card-bar"},hy={key:0,class:"q-detail"},vy={class:"q-throughput"},yy={class:"q-section-label"},gy={class:"q-section-right"},by={class:"q-stats-panel"},wy={class:"q-section-label"},ky={class:"q-stats-grid"},_y={class:"q-stat"},Ey=["textContent"],Cy={class:"q-stat"},Ny=["textContent"],Sy={class:"q-stat"},Dy=["textContent"],Ry={class:"q-stat"},Ty=["textContent"],Oy={class:"q-stat"},Ay=["textContent"],Iy={class:"q-stat"},Vy=["textContent"],Py={class:"q-stats-actions"},qy=["disabled"],My={class:"q-jobs"},$y={class:"q-jobs-header"},Uy={class:"q-section-label"},Ly={class:"q-state-filters"},Fy={class:"q-state-toggle"},zy={type:"checkbox"},Hy={class:"q-search-row"},By={type:"search",class:"form-control",placeholder:"Search by job/repo id\u2026",autocomplete:"off"},Gy={class:"q-auto-refresh"},jy={type:"checkbox"},Wy={key:0,class:"q-table"},Ky=["onClick"],Yy={class:"q-cell-state"},Jy=["textContent"],Qy=["textContent"],Xy={class:"q-cell-id"},Zy=["textContent","href"],xy={class:"q-cell-payload"},eg=["textContent"],tg={key:0,class:"q-payload-detail"},sg=["textContent"],ng=["textContent"],og={class:"q-cell-progress"},rg={key:0,class:"q-progress-wrap"},ig=["textContent"],ag={class:"q-cell-actions"},lg=["onClick"],dg=["onClick"],ug={key:0,class:"q-detail-row"},cg={colspan:"7"},pg={class:"q-job-detail"},fg={class:"q-job-detail-grid"},mg={class:"q-job-detail-item"},hg={class:"q-job-detail-value"},vg=["textContent","href"],yg={class:"q-job-detail-item"},gg={class:"q-job-detail-value"},bg=["textContent"],wg={key:0,class:"q-job-detail-item"},kg=["textContent"],_g={key:1,class:"q-job-detail-item"},Eg=["textContent"],Cg={key:2,class:"q-job-detail-item"},Ng={class:"q-job-detail-value"},Sg={key:3,class:"q-job-detail-item"},Dg=["textContent"],Rg={key:4,class:"q-job-detail-item"},Tg=["textContent"],Og={key:5,class:"q-job-detail-item"},Ag=["textContent"],Ig={key:6,class:"q-job-detail-item"},Vg=["textContent"],Pg={key:7,class:"q-job-detail-item"},qg=["textContent"],Mg={key:0,class:"q-job-detail-error"},$g=["textContent"],Ug={key:1},Lg=["textContent"],Fg={class:"q-job-detail-actions"},zg=["onClick"],Hg=["onClick"],Bg=["href"],Gg={key:1,class:"paper-table-empty",style:{border:"1px solid var(--border-color)","border-radius":"10px",background:"var(--paper-card)"}},jg={key:0},Wg={key:1};function xa(e,t){let o=we("field");return l(),d("div",oy,[t[47]||(t[47]=s("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),s("span",{class:"here"},"Queues")],-1)),s("div",ry,[t[12]||(t[12]=s("h1",{class:"paper-page-title"},"Queues",-1)),s("div",iy,[s("div",ay,[s("button",{class:O(["btn btn-sm",{active:e.range=="1h"}]),onClick:t[0]||(t[0]=r=>e.setRange("1h"))},"1h",2),s("button",{class:O(["btn btn-sm",{active:e.range=="6h"}]),onClick:t[1]||(t[1]=r=>e.setRange("6h"))},"6h",2),s("button",{class:O(["btn btn-sm",{active:e.range=="24h"}]),onClick:t[2]||(t[2]=r=>e.setRange("24h"))},"24h",2),s("button",{class:O(["btn btn-sm",{active:e.range=="7d"}]),onClick:t[3]||(t[3]=r=>e.setRange("7d"))},"7d",2)]),s("button",{class:"btn btn-sm",onClick:t[4]||(t[4]=r=>e.pauseAll())},"Pause all"),s("button",{class:"btn btn-sm btn-dark",onClick:t[5]||(t[5]=r=>e.drainSelected())},"Drain "+c(e.selectedQueue),1)])]),t[48]||(t[48]=be('',1)),f(" Queue overview cards "),s("div",ly,[(l(!0),d(J,null,ne(e.queueList,(r,n)=>(l(),d("div",{class:O(["q-card",{selected:e.selectedQueue==r?.key,paused:r?.paused}]),onClick:i=>e.selectQueue(r.key)},[s("div",uy,[s("span",{class:O(["q-dot",{"q-dot-red":r?.paused||r?.counts?.failed>0}])},null,2),s("span",{class:"q-card-name",textContent:c(r?.label)},null,8,cy)]),s("div",{class:"q-card-count",textContent:c((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0))},null,8,py),s("div",fy,[s("span",null,"waiting \xB7 "+c(r?.counts?.active||0)+" active",1),r?.counts?.active?(l(),d("div",my,[s("div",{class:"q-card-bar-fill",style:qe({width:r?.counts?.active/((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0)||1)*100+"%"})},null,4)])):f("v-if",!0)])],10,dy))),256))]),f(" Detail: throughput chart + stats panel "),e.selectedStats?(l(),d("div",hy,[s("div",vy,[s("div",yy,[y(c(e.selectedQueue)+"\xB7throughput ",1),s("span",gy,[t[13]||(t[13]=s("span",{class:"q-legend-completed"},"\u25CF",-1)),t[14]||(t[14]=y(" completed ",-1)),t[15]||(t[15]=s("span",{class:"q-legend-failed"},"\u25CF",-1)),t[16]||(t[16]=y(" failed ",-1)),t[17]||(t[17]=s("span",{class:"q-legend-exec"},"- -",-1)),y(" avg time \xB7 "+c(e.fmt?.uppercase(e.range)),1)])]),t[18]||(t[18]=s("div",{class:"q-chart-wrap"},[s("canvas",{id:"q-throughput-chart",height:"180"}),s("div",{id:"q-chart-tooltip",class:"q-chart-tooltip",style:{display:"none"}}),s("div",{id:"q-chart-crosshair",class:"q-chart-crosshair",style:{display:"none"}})],-1))]),s("div",by,[s("div",wy,c(e.selectedQueue)+"\xB7stats",1),s("div",ky,[s("div",_y,[t[19]||(t[19]=s("div",{class:"q-stat-label"},"WAITING",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.waiting||0)},null,8,Ey)]),s("div",Cy,[t[20]||(t[20]=s("div",{class:"q-stat-label"},"ACTIVE",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.active||0)},null,8,Ny)]),s("div",Sy,[t[21]||(t[21]=s("div",{class:"q-stat-label"},"COMPLETED (24H)",-1)),s("div",{class:"q-stat-value",textContent:c(e.fmt?.number(e.selectedStats?.completed24h))},null,8,Dy)]),s("div",Ry,[t[22]||(t[22]=s("div",{class:"q-stat-label"},"FAILED (24H)",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.failed24h||0)},null,8,Ty)]),s("div",Oy,[t[23]||(t[23]=s("div",{class:"q-stat-label"},"DELAYED",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.delayed||0)},null,8,Ay)]),s("div",Iy,[t[24]||(t[24]=s("div",{class:"q-stat-label"},"WORKERS",-1)),s("div",{class:"q-stat-value",textContent:c(e.selectedStats?.workers||0)},null,8,Vy)])]),s("div",Py,[s("button",{class:"btn btn-sm",onClick:t[6]||(t[6]=r=>e.togglePause())},c(e.selectedStats?.paused?"Resume":"Pause"),1),s("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=r=>e.retryFailed()),disabled:!e.selectedStats?.counts?.failed},"Retry failed",8,qy),s("button",{class:"btn btn-sm",onClick:t[8]||(t[8]=r=>e.emptyQueue())},"Empty")])])])):f("v-if",!0),e.actionError?(l(),d("div",{key:1,class:"q-toast-error",onClick:t[9]||(t[9]=r=>e.actionError=null)},[t[25]||(t[25]=s("i",{class:"fas fa-exclamation-circle"},null,-1)),y(" "+c(e.actionError),1)])):f("v-if",!0),f(" Jobs table "),s("div",My,[s("div",$y,[s("div",Uy,"ALL JOBS \xB7 "+c(e.fmt?.uppercase(e.selectedQueue)),1),s("div",Ly,[(l(!0),d(J,null,ne(e.allStates,(r,n)=>(l(),d("label",Fy,[E(s("input",zy,null,512),[[o,{state:e.viewState,set:i=>{e.stateFilter[r]=i},value:e.stateFilter[r],form:null,options:{}}]]),s("span",{class:O("q-state-chip q-state-"+r)},c(r),3)]))),256))])]),s("div",Hy,[E(s("input",By,null,512),[[o,{state:e.viewState,set:r=>{e.query.search=r},value:e.query?.search,form:null,options:{}}]]),s("label",Gy,[E(s("input",jy,null,512),[[o,{state:e.viewState,set:r=>{e.query.autoRefresh=r},value:e.query?.autoRefresh,form:null,options:{}}]]),t[26]||(t[26]=y(" Auto-refresh ",-1))]),s("button",{class:"btn btn-sm",type:"button",title:"Refresh now",onClick:t[10]||(t[10]=r=>e.refreshNow())},[...t[27]||(t[27]=[s("i",{class:"fas fa-sync"},null,-1)])])]),e.filteredJobs().length>0?(l(),d("table",Wy,[t[45]||(t[45]=s("thead",null,[s("tr",null,[s("th",null,"STATE"),s("th",null,"JOB ID"),s("th",null,"PAYLOAD"),s("th",null,"ATTEMPTS"),s("th",null,"DURATION"),s("th",null,"PROGRESS"),s("th")])],-1)),(l(!0),d(J,null,ne(e.filteredJobs(),(r,n)=>(l(),d("tbody",null,[s("tr",{style:{cursor:"pointer"},class:O({"q-row-failed":r?._state=="failed","q-row-expanded":e.expanded[r?.id]}),onClick:i=>e.toggleJob(r)},[s("td",Yy,[s("span",{textContent:c(r?._state),class:O("q-state-badge q-state-"+r?._state)},null,10,Jy),r?._state=="delayed"&&r?.delayUntil?(l(),d("span",{key:0,class:"q-delay-hint",textContent:c(e.delayCountdown(r?.delayUntil))},null,8,Qy)):f("v-if",!0)]),s("td",Xy,[s("i",{class:O(["fas fa-chevron-right q-chevron",{"q-chevron-open":e.expanded[r?.id]}])},null,2),s("a",{target:"_blank",textContent:c("job:"+e.fmt.limitTo(r?.id,6)),onClick:t[11]||(t[11]=i=>i.stopPropagation()),href:e.safeUrl("/r/"+r?.id)},null,8,Zy)]),s("td",xy,[s("span",{textContent:c(r?.name||"anonymize")},null,8,eg),r?.data?.repoId&&r?.data?.repoId!==r?.name?(l(),d("span",tg," \xB7 "+c(r?.data?.repoId),1)):f("v-if",!0)]),s("td",{class:"q-cell-num",textContent:c(r?.attemptsMade||1)},null,8,sg),s("td",{class:"q-cell-num",textContent:c(e.jobDuration(r))},null,8,ng),s("td",og,[e.jobProgressPct(r)!==null?(l(),d("div",rg,[s("div",{class:"q-progress-bar",style:qe({"--pct":e.jobProgressPct(r)+"%"})},null,4),s("span",{class:"q-progress-label",textContent:c(e.jobProgressPct(r)+"%")},null,8,ig)])):f("v-if",!0)]),s("td",ag,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",title:"Retry",onClick:i=>{e.retryJob(r),i.stopPropagation()}},[...t[28]||(t[28]=[s("i",{class:"fas fa-sync"},null,-1)])],8,lg)):f("v-if",!0),s("button",{class:"btn btn-sm",title:"Remove",onClick:i=>{e.removeJob(r),i.stopPropagation()}},[...t[29]||(t[29]=[s("i",{class:"fas fa-trash-alt"},null,-1)])],8,dg)])],10,Ky),e.expanded[r?.id]?(l(),d("tr",ug,[s("td",cg,[s("div",pg,[s("div",fg,[s("div",mg,[t[30]||(t[30]=s("span",{class:"q-job-detail-label"},"JOB ID",-1)),s("span",hg,[s("a",{target:"_blank",textContent:c(r?.id),href:e.safeUrl("/r/"+r?.id)},null,8,vg)])]),s("div",yg,[t[31]||(t[31]=s("span",{class:"q-job-detail-label"},"STATE",-1)),s("span",gg,[s("span",{textContent:c(r?._state),class:O("q-state-badge q-state-"+r?._state)},null,10,bg)])]),r?.data?.repoId?(l(),d("div",wg,[t[32]||(t[32]=s("span",{class:"q-job-detail-label"},"REPO ID",-1)),s("span",{class:"q-job-detail-value",textContent:c(r?.data?.repoId)},null,8,kg)])):f("v-if",!0),r?.timestamp?(l(),d("div",_g,[t[33]||(t[33]=s("span",{class:"q-job-detail-label"},"CREATED",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.humanTime(r?.timestamp))},null,8,Eg)])):f("v-if",!0),r?._state=="delayed"&&r?.delayUntil?(l(),d("div",Cg,[t[34]||(t[34]=s("span",{class:"q-job-detail-label"},"RETRY AT",-1)),s("span",Ng,c(e.humanTime(r?.delayUntil))+" ("+c(e.delayCountdown(r?.delayUntil))+")",1)])):f("v-if",!0),r?.processedOn?(l(),d("div",Sg,[t[35]||(t[35]=s("span",{class:"q-job-detail-label"},"PROCESSED",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.humanTime(r?.processedOn))},null,8,Dg)])):f("v-if",!0),r?.finishedOn?(l(),d("div",Rg,[t[36]||(t[36]=s("span",{class:"q-job-detail-label"},"FINISHED",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.humanTime(r?.finishedOn))},null,8,Tg)])):f("v-if",!0),r?.attemptsMade?(l(),d("div",Og,[t[37]||(t[37]=s("span",{class:"q-job-detail-label"},"ATTEMPTS",-1)),s("span",{class:"q-job-detail-value",textContent:c(r?.attemptsMade)},null,8,Ag)])):f("v-if",!0),r?.progress&&r?.progress?.status?(l(),d("div",Ig,[t[38]||(t[38]=s("span",{class:"q-job-detail-label"},"STATUS",-1)),s("span",{class:"q-job-detail-value",textContent:c(r?.progress?.status)},null,8,Vg)])):f("v-if",!0),e.jobProgressPct(r)!==null?(l(),d("div",Pg,[t[39]||(t[39]=s("span",{class:"q-job-detail-label"},"PROGRESS",-1)),s("span",{class:"q-job-detail-value",textContent:c(e.jobProgressPct(r)+"%")},null,8,qg)])):f("v-if",!0)]),r?.failedReason?(l(),d("div",Mg,[t[40]||(t[40]=s("span",{class:"q-job-detail-label"},"ERROR",-1)),s("div",{class:"q-error-reason",textContent:c(r?.failedReason)},null,8,$g)])):f("v-if",!0),r?.stacktrace?.length?(l(),d("div",Ug,[t[41]||(t[41]=s("span",{class:"q-job-detail-label"},"STACKTRACE",-1)),(l(!0),d(J,null,ne(r?.stacktrace,(i,a)=>(l(),d("pre",{class:"q-error-stack",key:a},[s("code",{textContent:c(i)},null,8,Lg)]))),128))])):f("v-if",!0),s("div",Fg,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",onClick:i=>e.retryJob(r)},[...t[42]||(t[42]=[s("i",{class:"fas fa-sync"},null,-1),y(" Retry",-1)])],8,zg)):f("v-if",!0),s("button",{class:"btn btn-sm",onClick:i=>e.removeJob(r)},[...t[43]||(t[43]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,Hg),s("a",{class:"btn btn-sm",target:"_blank",href:e.safeUrl("/r/"+r?.id)},[...t[44]||(t[44]=[s("i",{class:"fas fa-external-link-alt"},null,-1),y(" View repo",-1)])],8,Bg)])])])])):f("v-if",!0)]))),256))])):f("v-if",!0),e.filteredJobs().length==0?(l(),d("div",Gg,[t[46]||(t[46]=s("i",{class:"fas fa-check-circle"},null,-1)),e.query?.search?f("v-if",!0):(l(),d("span",jg,"No jobs in the "+c(e.selectedQueue)+" queue.",1)),e.query?.search?(l(),d("span",Wg,"No jobs match the current filters.")):f("v-if",!0)])):f("v-if",!0)])])}var Kg={class:"container paper-page admin-page"},Yg={class:"admin-summary"},Jg={class:"summary-total"},Qg={class:"summary-meta"},Xg={class:"count"},Zg={class:"count"},xg={class:"count"},eb={class:"count"},tb={class:"count"},sb={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},ob={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},rb={class:"admin-filter-row"},ib={class:"search-wrap"},ab={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repoId, source repo, error message\u2026",autocomplete:"off"},lb={key:0,class:"admin-search-hint"},db={class:"admin-filter-inline"},ub={type:"text",class:"form-control form-control-sm",placeholder:"username"},cb={class:"admin-filter-inline"},pb={type:"text",class:"form-control form-control-sm",placeholder:"ID"},fb={class:"admin-filter-inline","aria-label":"Pagination"},mb=["disabled"],hb={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},vb=["disabled"],yb={key:0,class:"admin-filter-row"},gb={class:"admin-active-chips"},bb={class:"key"},wb=["onClick"],kb={key:1,class:"bulk-bar"},_b={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},Eb={class:"paper-table-head",role:"row"},Cb={role:"columnheader",style:{width:"28px"}},Nb=["checked"],Sb={role:"columnheader"},Db={role:"columnheader"},Rb={role:"columnheader",class:"num"},Tb={role:"columnheader"},Ob={role:"cell",style:{width:"28px"}},Ab={type:"checkbox","aria-label":"Select repository"},Ib={class:"cell-anon",role:"cell"},Vb={class:"anon-text"},Pb=["textContent","href"],qb={class:"anon-sub"},Mb=["textContent","href"],$b={key:0},Ub=["textContent","href"],Lb={key:1},Fb=["textContent","href"],zb={key:2},Hb={class:"cell-status",role:"cell"},Bb={class:"status-line"},Gb=["textContent"],jb=["textContent","title"],Wb=["textContent"],Kb=["textContent"],Yb={class:"cell-actions",role:"cell"},Jb={class:"dropdown"},Qb={class:"dropdown-menu dropdown-menu-right"},Xb=["href"],Zb=["href"],xb=["href"],e1=["onClick"],t1=["onClick"],s1=["onClick"],n1=["onClick"],o1=["onClick"],r1=["onClick"],i1={key:0,class:"paper-table-empty"},a1={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},l1={style:{"font-size":"12px",color:"var(--ink-muted)"}},d1={key:0,class:"pagination-compact"},u1=["disabled"],c1=["max"],p1=["disabled"],f1={class:"admin-filter-inline"},m1={class:"form-control form-control-sm"};function el(e,t){let o=we("field"),r=we("form");return l(),d("div",Kg,[t[61]||(t[61]=be('
Admin \xA0/\xA0 Repositories

Repositories

',3)),s("div",Yg,[s("span",Jg,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),s("span",Qg,c(e.fmt?.humanFileSize(e.totalSize))+" on disk",1),s("span",{class:O(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=n=>{e.query.ready=!e.query.ready,e.query.page=1})},[t[18]||(t[18]=y("Ready ",-1)),s("span",Xg,c(e.fmt?.number(e.statusCountFor("ready"))),1)],2),s("span",{class:O(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=n=>{e.query.preparing=!e.query.preparing,e.query.page=1})},[t[19]||(t[19]=y("Preparing ",-1)),s("span",Zg,c(e.fmt?.number(e.statusCountFor("preparing")+e.statusCountFor("download"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=n=>{e.query.error=!e.query.error,e.query.page=1})},[t[20]||(t[20]=y("Errored ",-1)),s("span",xg,c(e.fmt?.number(e.statusCountFor("error"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=n=>{e.query.expired=!e.query.expired,e.query.page=1})},[t[21]||(t[21]=y("Expired ",-1)),s("span",eb,c(e.fmt?.number(e.statusCountFor("expired")+e.statusCountFor("expiring"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.removed}]),title:"Toggle removed filter",onClick:t[4]||(t[4]=n=>{e.query.removed=!e.query.removed,e.query.page=1})},[t[22]||(t[22]=y("Removed ",-1)),s("span",tb,c(e.fmt?.number(e.statusCountFor("removed")+e.statusCountFor("removing"))),1)],2)]),e.fetchError?(l(),d("div",sb,[t[23]||(t[23]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fetchError),1)])):f("v-if",!0),E((l(),d("form",ob,[f(" Row 1: search + scoped inputs + headline actions "),s("div",rb,[s("div",ib,[E(s("input",ab,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",lb,"/"))]),s("span",db,[t[24]||(t[24]=s("label",null,"Owner",-1)),E(s("input",ub,null,512),[[o,{state:e.viewState,set:n=>{e.query.owner=n},value:e.query?.owner,form:null,options:{}}]])]),s("span",cb,[t[25]||(t[25]=s("label",null,"Conference",-1)),E(s("input",pb,null,512),[[o,{state:e.viewState,set:n=>{e.query.conference=n},value:e.query?.conference,form:null,options:{}}]])]),t[29]||(t[29]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[5]||(t[5]=n=>e.exportCsv())},[...t[26]||(t[26]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])]),s("span",fb,[s("button",{class:"btn btn-sm",type:"button",onClick:t[6]||(t[6]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[27]||(t[27]=[s("i",{class:"fas fa-chevron-left"},null,-1)])],8,mb),s("span",hb,c(e.query?.page)+"/"+c(e.totalPage||1),1),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[28]||(t[28]=[s("i",{class:"fas fa-chevron-right"},null,-1)])],8,vb)])]),f(" Row 2: appears only when there are active filter chips "),e.chips?.length?(l(),d("div",yb,[s("div",gb,[(l(!0),d(J,null,ne(e.chips,(n,i)=>(l(),d("span",{class:"admin-active-chip",key:n?.key},[s("span",bb,c(n?.label),1),s("span",null,c(n?.value),1),s("button",{type:"button","aria-label":"Remove filter",onClick:a=>e.clearFilter(n.key)},[...t[30]||(t[30]=[s("i",{class:"fas fa-times"},null,-1)])],8,wb)]))),128))])])):f("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",kb,[s("span",null,[s("strong",null,c(e.selectedCount()),1),t[31]||(t[31]=y(" selected",-1))]),s("button",{class:"btn btn-sm",type:"button",onClick:t[8]||(t[8]=n=>e.bulkRefresh())},[...t[32]||(t[32]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force refresh",-1)])]),s("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[9]||(t[9]=n=>e.bulkRemoveCache())},[...t[33]||(t[33]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])]),s("button",{class:"btn btn-sm",type:"button",onClick:t[10]||(t[10]=n=>e.clearSelection())},"Clear")])):f("v-if",!0),s("div",_b,[s("div",Eb,[s("div",Cb,[s("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[11]||(t[11]=n=>e.selectAllOnPage()),checked:e.allSelected},null,8,Nb)]),s("div",Sb,[s("span",{class:O(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[12]||(t[12]=n=>e.sortBy("source.repositoryName"))},[t[34]||(t[34]=y("Repository ",-1)),s("i",{class:O(["fas",e.sortIcon("source.repositoryName")])},null,2)],2)]),s("div",Db,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[13]||(t[13]=n=>e.sortBy("status"))},[t[35]||(t[35]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),s("div",Rb,[s("span",{class:O(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[14]||(t[14]=n=>e.sortBy("pageView"))},[t[36]||(t[36]=y("Views ",-1)),s("i",{class:O(["fas",e.sortIcon("pageView")])},null,2)],2)]),s("div",Tb,[s("span",{class:O(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[15]||(t[15]=n=>e.sortBy("anonymizeDate"))},[t[37]||(t[37]=y("Anonymized ",-1)),s("i",{class:O(["fas",e.sortIcon("anonymizeDate")])},null,2)],2)]),t[38]||(t[38]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredRepositories,(n,i)=>(l(),d("div",{class:O(["paper-table-row",{"repo-inactive":n?.status=="expired"||n?.status=="removed","repo-error":n?.status=="error","row-selected":e.selected[n?.repoId]}]),role:"row"},[s("div",Ob,[E(s("input",Ab,null,512),[[o,{state:e.viewState,set:a=>{e.selected[n.repoId]=a},value:e.selected[n?.repoId],form:null,options:{}}]])]),s("div",Ib,[t[43]||(t[43]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",Vb,[s("a",{class:"repo-name",target:"_blank",textContent:c(n?.repoId),href:e.safeUrl("/r/"+n?.repoId)},null,8,Pb),s("div",qb,[s("a",{textContent:c(n?.source?.repositoryName),href:e.safeUrl("https://github.com/"+n?.source?.repositoryName+"/")},null,8,Mb),n?.options?.update?(l(),d("span",$b,[t[39]||(t[39]=y("\xA0\xB7\xA0",-1)),s("a",{textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,Ub)])):f("v-if",!0),n?.options?.update?f("v-if",!0):(l(),d("span",Lb,[t[40]||(t[40]=y("\xA0\xB7\xA0@",-1)),s("a",{textContent:c(n?.source?.commit?.substring(0,8)),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},null,8,Fb)])),n?.conference?(l(),d("span",zb,[t[41]||(t[41]=y("\xA0\xB7\xA0",-1)),t[42]||(t[42]=s("i",{class:"fas fa-chalkboard-teacher"},null,-1)),y(" "+c(n?.conference),1)])):f("v-if",!0),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.humanFileSize(n?.size?.storage)),1),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.number(n?.options?.terms?.length))+" terms",1)])])]),s("div",Hb,[s("span",Bb,[s("span",{class:O(["status-dot",{"status-removed":n?.status=="removed"||n?.status=="expired","status-ready":n?.status=="ready","status-error":n?.status=="error","status-preparing":n?.status=="preparing"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,Gb)]),n?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(n?.statusMessage)),title:n?.statusMessage},null,8,jb)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView||0))},null,8,Wb),s("div",{class:"cell-expires",role:"cell",textContent:c(e.fmt?.humanTime(n?.anonymizeDate))},null,8,Kb),s("div",Yb,[s("div",Jb,[t[55]||(t[55]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",Qb,[s("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+n?.repoId)},[...t[44]||(t[44]=[s("i",{class:"far fa-edit"},null,-1),y(" Edit",-1)])],8,Xb),s("a",{class:"dropdown-item",href:e.safeUrl("/r/"+n?.repoId+"/")},[...t[45]||(t[45]=[s("i",{class:"fa fa-eye"},null,-1),y(" View repo",-1)])],8,Zb),n?.options?.page&&n?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+n?.repoId+"/")},[...t[46]||(t[46]=[s("i",{class:"fas fa-globe"},null,-1),y(" View page",-1)])],8,xb)):f("v-if",!0),s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.fetchGithubInfo(n),["prevent"])},[...t[47]||(t[47]=[s("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,e1),t[53]||(t[53]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.updateRepository(n),["prevent"])},[...t[48]||(t[48]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force update",-1)])],8,t1),[[B,n?.status=="ready"||n?.status=="error"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.updateRepository(n),["prevent"])},[...t[49]||(t[49]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Enable",-1)])],8,s1),[[B,n?.status=="removed"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.showStatusMessage(n),["prevent"])},[...t[50]||(t[50]=[s("i",{class:"fas fa-exclamation-triangle"},null,-1),y(" View status message",-1)])],8,n1),[[B,n?.statusMessage]]),t[54]||(t[54]=s("div",{class:"dropdown-divider"},null,-1)),s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.removeCache(n),["prevent"])},[...t[51]||(t[51]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])],8,o1),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:ke(a=>e.removeRepository(n),["prevent"])},[...t[52]||(t[52]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,r1),[[B,n?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",i1,[...t[56]||(t[56]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No repositories match the current filters.",-1)])])):f("v-if",!0)]),s("div",a1,[s("span",l1,c(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",d1,[s("button",{class:"btn btn-sm",onClick:t[16]||(t[16]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[57]||(t[57]=[s("i",{class:"fas fa-chevron-left"},null,-1),y(" Previous ",-1)])],8,u1),E(s("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},"aria-label":"Page",max:e.totalPage},null,8,c1),[[o,{state:e.viewState,set:n=>{e.query.page=n},value:e.query?.page,form:null,options:{}}]]),s("span",null,"of "+c(e.totalPage),1),s("button",{class:"btn btn-sm",onClick:t[17]||(t[17]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[58]||(t[58]=[y(" Next ",-1),s("i",{class:"fas fa-chevron-right"},null,-1)])],8,p1)])):f("v-if",!0),s("span",f1,[t[60]||(t[60]=s("label",null,"Per page",-1)),E((l(),d("select",m1,[...t[59]||(t[59]=[be('',5)])])),[[o,{state:e.viewState,set:n=>{e.query.limit=n},value:e.query?.limit,form:null,options:{}}]])])])])}var h1={class:"container paper-page admin-page"},v1={class:"paper-crumbs"},y1={class:"here"},g1={class:"paper-page-title"},b1={key:0,class:"user-detail-card"},w1={class:"user-header"},k1=["src"],_1={class:"status-dot-wrap"},E1=["textContent"],C1={key:0,class:"type-badge type-repo"},N1={class:"user-actions",style:{"margin-top":"4px"}},S1={class:"user-detail-grid"},D1={class:"detail-value"},R1={class:"detail-value"},T1={class:"detail-value",style:{"font-family":"var(--font-mono)","font-size":"0.85rem"}},O1={class:"detail-value"},A1=["href"],I1={class:"detail-value"},V1={class:"detail-value"},P1={key:0},q1={key:1,class:"text-muted"},M1={class:"detail-value"},$1={key:0,style:{"margin-top":"20px"}},U1={class:"paper-table w-100",style:{"margin-top":"10px"}},L1={class:"paper-table-row",style:{"grid-template-columns":"1fr 160px"}},F1={class:"cell-anon",role:"cell"},z1={class:"anon-text"},H1=["textContent"],B1={class:"cell-expires",role:"cell"},G1={key:1,class:"admin-section-header"},j1={class:"section-count"},W1={key:2,class:"user-detail-card"},K1={type:"text",class:"form-control",placeholder:"Token name (e.g. dev-laptop)",required:""},Y1={key:0,class:"alert alert-warning",role:"alert"},J1={style:{"white-space":"pre-wrap","word-break":"break-all",margin:"8px 0 0","font-family":"var(--font-mono)","font-size":"0.85rem"}},Q1={key:1,class:"paper-table w-100"},X1={class:"paper-table-row",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},Z1=["textContent"],x1=["textContent"],ew={role:"cell"},tw={key:0},sw={key:1,class:"text-muted"},nw={role:"cell"},ow=["onClick"],rw={key:2,class:"paper-table-empty"},iw={class:"admin-section-header"},aw={class:"section-count"},lw={class:"admin-summary"},dw={class:"summary-total"},uw={class:"count"},cw={class:"count"},pw={class:"count"},fw={class:"count"},mw={class:"count"},hw={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},vw={class:"admin-filter-row"},yw={class:"search-wrap"},gw={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repoId, source repo, error message\u2026",autocomplete:"off"},bw={key:3,class:"bulk-bar"},ww={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},kw={class:"paper-table-head",role:"row"},_w={role:"columnheader",style:{width:"28px"}},Ew=["checked"],Cw={role:"columnheader"},Nw={role:"columnheader"},Sw={role:"columnheader",class:"num"},Dw={role:"columnheader"},Rw={role:"cell",style:{width:"28px"}},Tw={type:"checkbox","aria-label":"Select repository"},Ow={class:"cell-anon",role:"cell"},Aw={class:"anon-text"},Iw=["textContent","href"],Vw={class:"anon-sub"},Pw=["textContent","href"],qw={key:0},Mw=["textContent","href"],$w={key:1},Uw=["textContent","href"],Lw={key:2},Fw={class:"cell-status",role:"cell"},zw={class:"status-line"},Hw=["textContent"],Bw=["textContent","title"],Gw=["textContent"],jw=["textContent"],Ww={class:"cell-actions",role:"cell"},Kw={class:"dropdown"},Yw={class:"dropdown-menu dropdown-menu-right"},Jw=["href"],Qw=["href"],Xw=["href"],Zw=["onClick"],xw=["onClick"],ek=["onClick"],tk=["onClick"],sk=["onClick"],nk=["onClick"],ok={key:0,class:"paper-table-empty"};function tl(e,t){let o=we("field"),r=we("form");return l(),d("div",h1,[s("div",v1,[t[22]||(t[22]=s("a",{href:"/admin/users"},"Users",-1)),t[23]||(t[23]=y(" \xA0/\xA0 ",-1)),s("span",y1,c(e.userInfo?.username||"Profile"),1)]),s("h1",g1,c(e.userInfo?.username||"User"),1),t[81]||(t[81]=be('',1)),e.userInfo?(l(),d("div",b1,[s("div",w1,[e.userInfo?.photo?(l(),d("img",{key:0,width:"56",height:"56",src:e.safeUrl(e.userInfo?.photo)},null,8,k1)):f("v-if",!0),s("div",null,[s("h1",null,[y(c(e.userInfo?.username)+" ",1),s("span",_1,[s("span",{class:O(["status-dot",{"status-ready":e.userInfo?.status=="active","status-removed":e.userInfo?.status!="active"}])},null,2),s("span",{textContent:c(e.fmt?.title(e.userInfo?.status))},null,8,E1)]),e.userInfo?.isAdmin?(l(),d("span",C1,"Admin")):f("v-if",!0)]),s("div",N1,[e.userInfo?.status!=="banned"?(l(),d("button",{key:0,class:"btn btn-sm text-danger",onClick:t[0]||(t[0]=n=>e.banUser())},[...t[24]||(t[24]=[s("i",{class:"fas fa-ban"},null,-1),y(" Ban",-1)])])):f("v-if",!0),e.userInfo?.status==="banned"||e.userInfo?.status==="removed"?(l(),d("button",{key:1,class:"btn btn-sm",onClick:t[1]||(t[1]=n=>e.activateUser())},[...t[25]||(t[25]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Activate",-1)])])):f("v-if",!0),e.userInfo?.isAdmin?f("v-if",!0):(l(),d("button",{key:2,class:"btn btn-sm",onClick:t[2]||(t[2]=n=>e.promoteUser())},[...t[26]||(t[26]=[s("i",{class:"fas fa-user-shield"},null,-1),y(" Promote to admin",-1)])])),e.userInfo?.isAdmin?(l(),d("button",{key:3,class:"btn btn-sm text-danger",onClick:t[3]||(t[3]=n=>e.demoteUser())},[...t[27]||(t[27]=[s("i",{class:"fas fa-user-minus"},null,-1),y(" Remove admin",-1)])])):f("v-if",!0)])])]),s("div",S1,[t[30]||(t[30]=s("div",{class:"detail-label"},"ID",-1)),s("div",D1,c(e.userInfo?._id),1),t[31]||(t[31]=s("div",{class:"detail-label"},"Email",-1)),s("div",R1,c(e.userInfo?.emails?.[0]?.email),1),t[32]||(t[32]=s("div",{class:"detail-label"},"Access token",-1)),s("div",T1,c(e.userInfo?.accessTokens?.github),1),t[33]||(t[33]=s("div",{class:"detail-label"},"GitHub",-1)),s("div",O1,[s("a",{target:"_blank",href:e.safeUrl("https://github.com/"+e.userInfo?.username)},[t[28]||(t[28]=s("i",{class:"fab fa-github"},null,-1)),y(" "+c(e.userInfo?.username),1)],8,A1)]),t[34]||(t[34]=s("div",{class:"detail-label"},"Created",-1)),s("div",I1,c(e.fmt?.humanTime(e.userInfo?.dateOfEntry)),1),t[35]||(t[35]=s("div",{class:"detail-label"},"Last connection",-1)),s("div",V1,[e.userInfo?.accessTokenDates?.github?(l(),d("span",P1,c(e.fmt?.humanTime(e.userInfo?.accessTokenDates?.github)),1)):f("v-if",!0),e.userInfo?.accessTokenDates?.github?f("v-if",!0):(l(),d("span",q1,"never"))]),t[36]||(t[36]=s("div",{class:"detail-label"},"GitHub repos",-1)),s("div",M1,[y(c(e.userInfo?.repositories?.length)+" repositories ",1),s("button",{class:"btn btn-sm ml-2",onClick:t[4]||(t[4]=n=>e.showRepos=!e.showRepos)},c(e.showRepos?"Hide":"Show"),1),s("button",{class:"btn btn-sm ml-1",onClick:t[5]||(t[5]=n=>e.getGitHubRepositories())},[...t[29]||(t[29]=[s("i",{class:"fas fa-sync"},null,-1),y(" Refresh ",-1)])])])]),e.showRepos?(l(),d("div",$1,[t[39]||(t[39]=s("div",{class:"paper-section-eyebrow"},"GitHub repositories",-1)),s("div",U1,[(l(!0),d(J,null,ne(e.userInfo?.repositories,(n,i)=>(l(),d("div",L1,[s("div",F1,[t[37]||(t[37]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",z1,[s("span",{class:"repo-name",textContent:c(n?.name)},null,8,H1)])]),s("div",B1,[t[38]||(t[38]=s("i",{class:"fas fa-database"},null,-1)),y(" "+c(e.fmt?.humanFileSize(n?.size)),1)])]))),256))])])):f("v-if",!0)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",G1,[t[40]||(t[40]=s("h2",null,[s("i",{class:"fas fa-key"}),y(" API tokens")],-1)),s("span",j1,c(e.tokens?.length),1)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",W1,[t[46]||(t[46]=s("p",{class:"paper-page-lede"},[y("Personal API tokens for this admin account. Send as "),s("code",null,"Authorization: Bearer "),y(" to authenticate without GitHub OAuth (useful for development).")],-1)),E((l(),d("form",{class:"d-flex",style:{gap:"8px","margin-bottom":"12px"},onSubmit:t[6]||(t[6]=ke(n=>e.submitForm(n,()=>{e.createToken()}),["prevent"]))},[E(s("input",K1,null,512),[[o,{state:e.viewState,set:n=>{e.tokenForm.name=n},value:e.tokenForm?.name,form:null,options:{}}]]),t[41]||(t[41]=s("button",{type:"submit",class:"btn btn-primary"},[s("i",{class:"fas fa-plus"}),y(" Generate")],-1))],32)),[[r,e.viewState]]),e.tokenForm?.plaintext?(l(),d("div",Y1,[t[42]||(t[42]=s("strong",null,"Copy this token now \u2014 it will not be shown again:",-1)),s("pre",J1,c(e.tokenForm?.plaintext),1),s("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=n=>e.tokenForm.plaintext=null)},"Dismiss")])):f("v-if",!0),e.tokens?.length?(l(),d("div",Q1,[t[44]||(t[44]=s("div",{class:"paper-table-head",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},[s("div",{role:"columnheader"},"Name"),s("div",{role:"columnheader"},"Created"),s("div",{role:"columnheader"},"Last used"),s("div",{role:"columnheader","aria-label":"Actions"})],-1)),(l(!0),d(J,null,ne(e.tokens,(n,i)=>(l(),d("div",X1,[s("div",{role:"cell",textContent:c(n?.name)},null,8,Z1),s("div",{role:"cell",textContent:c(e.fmt?.humanTime(n?.createdAt))},null,8,x1),s("div",ew,[n?.lastUsedAt?(l(),d("span",tw,c(e.fmt?.humanTime(n?.lastUsedAt)),1)):f("v-if",!0),n?.lastUsedAt?f("v-if",!0):(l(),d("span",sw,"never"))]),s("div",nw,[s("button",{class:"btn btn-sm text-danger",title:"Revoke",onClick:a=>e.revokeToken(n)},[...t[43]||(t[43]=[s("i",{class:"fas fa-trash-alt"},null,-1)])],8,ow)])]))),256))])):f("v-if",!0),e.tokens?.length?f("v-if",!0):(l(),d("div",rw,[...t[45]||(t[45]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No tokens yet.",-1)])]))])):f("v-if",!0),s("div",iw,[t[47]||(t[47]=s("h2",null,[s("i",{class:"fas fa-code-branch"}),y(" Anonymized repositories")],-1)),s("span",aw,c(e.repositories?.length),1)]),s("div",lw,[s("span",dw,c(e.fmt?.number(e.repositories?.length)),1),s("span",{class:O(["summary-pill ok",{active:e.filters?.status?.ready===!1}]),title:"Toggle ready filter",onClick:t[8]||(t[8]=n=>e.filters.status.ready=!e.filters.status.ready)},[t[48]||(t[48]=y("Ready ",-1)),s("span",uw,c(e.fmt?.number(e.statusCountFor("ready"))),1)],2),s("span",{class:O(["summary-pill warn",{active:e.filters?.status?.preparing===!1}]),title:"Toggle preparing filter",onClick:t[9]||(t[9]=n=>e.filters.status.preparing=!e.filters.status.preparing)},[t[49]||(t[49]=y("Preparing ",-1)),s("span",cw,c(e.fmt?.number(e.statusCountFor("preparing"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.filters?.status?.error===!1}]),title:"Toggle errored filter",onClick:t[10]||(t[10]=n=>e.filters.status.error=!e.filters.status.error)},[t[50]||(t[50]=y("Errored ",-1)),s("span",pw,c(e.fmt?.number(e.statusCountFor("error"))),1)],2),s("span",{class:O(["summary-pill",{active:e.filters?.status?.expired===!1}]),title:"Toggle expired filter",onClick:t[11]||(t[11]=n=>e.filters.status.expired=!e.filters.status.expired)},[t[51]||(t[51]=y("Expired ",-1)),s("span",fw,c(e.fmt?.number(e.statusCountFor("expired"))),1)],2),s("span",{class:O(["summary-pill",{active:e.filters?.status?.removed===!1}]),title:"Toggle removed filter",onClick:t[12]||(t[12]=n=>e.filters.status.removed=!e.filters.status.removed)},[t[52]||(t[52]=y("Removed ",-1)),s("span",mw,c(e.fmt?.number(e.statusCountFor("removed"))),1)],2)]),E((l(),d("form",hw,[s("div",vw,[s("div",yw,[E(s("input",gw,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),t[54]||(t[54]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[13]||(t[13]=n=>e.exportCsv())},[...t[53]||(t[53]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])])])])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",bw,[s("span",null,[s("strong",null,c(e.selectedCount()),1),t[55]||(t[55]=y(" selected",-1))]),s("button",{class:"btn btn-sm",type:"button",onClick:t[14]||(t[14]=n=>e.bulkRefresh())},[...t[56]||(t[56]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force refresh",-1)])]),s("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[15]||(t[15]=n=>e.bulkRemoveCache())},[...t[57]||(t[57]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])]),s("button",{class:"btn btn-sm",type:"button",onClick:t[16]||(t[16]=n=>e.clearSelection())},"Clear")])):f("v-if",!0),s("div",ww,[s("div",kw,[s("div",_w,[s("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[17]||(t[17]=n=>e.selectAllOnPage()),checked:e.allSelected},null,8,Ew)]),s("div",Cw,[s("span",{class:O(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[18]||(t[18]=n=>e.sortBy("source.repositoryName"))},[t[58]||(t[58]=y("Repository ",-1)),s("i",{class:O(["fas",e.sortIcon("source.repositoryName")])},null,2)],2)]),s("div",Nw,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[19]||(t[19]=n=>e.sortBy("status"))},[t[59]||(t[59]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),s("div",Sw,[s("span",{class:O(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[20]||(t[20]=n=>e.sortBy("pageView"))},[t[60]||(t[60]=y("Views ",-1)),s("i",{class:O(["fas",e.sortIcon("pageView")])},null,2)],2)]),s("div",Dw,[s("span",{class:O(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[21]||(t[21]=n=>e.sortBy("anonymizeDate"))},[t[61]||(t[61]=y("Anonymized ",-1)),s("i",{class:O(["fas",e.sortIcon("anonymizeDate")])},null,2)],2)]),t[62]||(t[62]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredRepositories,(n,i)=>(l(),d("div",{class:O(["paper-table-row",{"repo-inactive":n?.status=="expired"||n?.status=="removed","repo-error":n?.status=="error","row-selected":e.selected[n?.repoId]}]),role:"row"},[s("div",Rw,[E(s("input",Tw,null,512),[[o,{state:e.viewState,set:a=>{e.selected[n.repoId]=a},value:e.selected[n?.repoId],form:null,options:{}}]])]),s("div",Ow,[t[67]||(t[67]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",Aw,[s("a",{class:"repo-name",target:"_blank",textContent:c(n?.repoId),href:e.safeUrl("/r/"+n?.repoId)},null,8,Iw),s("div",Vw,[s("a",{textContent:c(n?.source?.fullName),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/")},null,8,Pw),n?.options?.update?(l(),d("span",qw,[t[63]||(t[63]=y("\xA0\xB7\xA0",-1)),s("a",{textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,Mw)])):f("v-if",!0),n?.options?.update?f("v-if",!0):(l(),d("span",$w,[t[64]||(t[64]=y("\xA0\xB7\xA0@",-1)),s("a",{textContent:c(n?.source?.commit?.substring(0,8)),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},null,8,Uw)])),n?.conference?(l(),d("span",Lw,[t[65]||(t[65]=y("\xA0\xB7\xA0",-1)),t[66]||(t[66]=s("i",{class:"fas fa-chalkboard-teacher"},null,-1)),y(" "+c(n?.conference),1)])):f("v-if",!0),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.humanFileSize(n?.size?.storage)),1),s("span",null,"\xA0\xB7\xA0"+c(e.fmt?.number(n?.options?.terms?.length))+" terms",1)])])]),s("div",Fw,[s("span",zw,[s("span",{class:O(["status-dot",{"status-removed":n?.status=="removed"||n?.status=="expired","status-ready":n?.status=="ready","status-error":n?.status=="error","status-preparing":n?.status=="preparing"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,Hw)]),n?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(n?.statusMessage)),title:n?.statusMessage},null,8,Bw)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView||0))},null,8,Gw),s("div",{class:"cell-expires",role:"cell",textContent:c(e.fmt?.humanTime(n?.anonymizeDate))},null,8,jw),s("div",Ww,[s("div",Kw,[t[79]||(t[79]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",Yw,[s("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+n?.repoId)},[...t[68]||(t[68]=[s("i",{class:"far fa-edit"},null,-1),y(" Edit",-1)])],8,Jw),s("a",{class:"dropdown-item",href:e.safeUrl("/r/"+n?.repoId+"/")},[...t[69]||(t[69]=[s("i",{class:"fa fa-eye"},null,-1),y(" View repo",-1)])],8,Qw),n?.options?.page&&n?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+n?.repoId+"/")},[...t[70]||(t[70]=[s("i",{class:"fas fa-globe"},null,-1),y(" View page",-1)])],8,Xw)):f("v-if",!0),s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.fetchGithubInfo(n),["prevent"])},[...t[71]||(t[71]=[s("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,Zw),t[77]||(t[77]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.updateRepository(n),["prevent"])},[...t[72]||(t[72]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force update",-1)])],8,xw),[[B,n?.status=="ready"||n?.status=="error"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.updateRepository(n),["prevent"])},[...t[73]||(t[73]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Enable",-1)])],8,ek),[[B,n?.status=="removed"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.showStatusMessage(n),["prevent"])},[...t[74]||(t[74]=[s("i",{class:"fas fa-exclamation-triangle"},null,-1),y(" View status message",-1)])],8,tk),[[B,n?.statusMessage]]),t[78]||(t[78]=s("div",{class:"dropdown-divider"},null,-1)),s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.removeCache(n),["prevent"])},[...t[75]||(t[75]=[s("i",{class:"fas fa-broom"},null,-1),y(" Remove cache",-1)])],8,sk),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:ke(a=>e.removeRepository(n),["prevent"])},[...t[76]||(t[76]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove",-1)])],8,nk),[[B,n?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",ok,[...t[80]||(t[80]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No repositories match the current filters.",-1)])])):f("v-if",!0)])])}var rk={class:"container paper-page admin-page"},ik={class:"admin-summary"},ak={class:"summary-total"},lk={class:"count"},dk={class:"count"},uk={class:"count"},ck={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},pk={class:"w-100 admin-filter-toolbar","aria-label":"Users","accept-charset":"UTF-8"},fk={class:"admin-filter-row"},mk={class:"search-wrap"},hk={type:"search",class:"form-control","aria-label":"Search users",placeholder:"Search username or email\u2026",autocomplete:"off"},vk={key:0,class:"admin-search-hint"},yk={class:"admin-filter-inline"},gk={class:"form-control form-control-sm"},bk={class:"admin-filter-inline","aria-label":"Pagination"},wk=["disabled"],kk={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},_k=["disabled"],Ek={key:0,class:"admin-filter-row"},Ck={class:"admin-active-chips"},Nk={class:"key"},Sk=["onClick"],Dk={key:1,class:"bulk-bar"},Rk={class:"paper-table w-100",role:"table","aria-label":"Users",style:{"--cols":"28px minmax(280px, 2.4fr) 100px 140px 140px 52px"}},Tk={class:"paper-table-head admin-users-row",role:"row"},Ok={role:"columnheader",style:{width:"28px"}},Ak=["checked"],Ik={role:"columnheader"},Vk={role:"columnheader"},Pk={role:"cell",style:{width:"28px"}},qk={type:"checkbox","aria-label":"Select user"},Mk={class:"cell-anon",role:"cell"},$k=["src"],Uk={class:"anon-text"},Lk=["textContent","href"],Fk={class:"anon-sub"},zk={key:0},Hk={key:1},Bk=["href"],Gk={key:2},jk={class:"cell-views num",role:"cell"},Wk=["textContent","href"],Kk={class:"cell-status",role:"cell"},Yk=["textContent"],Jk={class:"cell-status",role:"cell"},Qk={key:0,class:"type-badge type-repo"},Xk={key:1,class:"empty-dash"},Zk={class:"cell-actions",role:"cell"},xk={class:"dropdown"},e0={class:"dropdown-menu dropdown-menu-right"},t0=["href"],s0=["href"],n0=["onClick"],o0=["onClick"],r0={key:0,class:"paper-table-empty"},i0={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},a0={style:{"font-size":"12px",color:"var(--ink-muted)"}},l0={key:0,class:"pagination-compact"},d0=["disabled"],u0=["max"],c0=["disabled"],p0={class:"admin-filter-inline"},f0={class:"form-control form-control-sm"};function sl(e,t){let o=we("field"),r=we("form");return l(),d("div",rk,[t[43]||(t[43]=be('
Admin \xA0/\xA0 Users

Users

',3)),s("div",ik,[s("span",ak,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),s("span",{class:O(["summary-pill ok",{active:e.query?.status=="active"}]),onClick:t[0]||(t[0]=n=>{e.query.status=e.query.status=="active"?"":"active",e.query.page=1})},[t[13]||(t[13]=y("Active ",-1)),s("span",lk,c(e.fmt?.number(e.statusCountFor("active"))),1)],2),s("span",{class:O(["summary-pill error",{active:e.query?.status=="banned"}]),onClick:t[1]||(t[1]=n=>{e.query.status=e.query.status=="banned"?"":"banned",e.query.page=1})},[t[14]||(t[14]=y("Banned ",-1)),s("span",dk,c(e.fmt?.number(e.statusCountFor("banned"))),1)],2),s("span",{class:O(["summary-pill",{active:e.query?.status=="removed"}]),onClick:t[2]||(t[2]=n=>{e.query.status=e.query.status=="removed"?"":"removed",e.query.page=1})},[t[15]||(t[15]=y("Removed ",-1)),s("span",uk,c(e.fmt?.number(e.statusCountFor("removed"))),1)],2)]),e.fetchError?(l(),d("div",ck,[t[16]||(t[16]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fetchError),1)])):f("v-if",!0),E((l(),d("form",pk,[s("div",fk,[s("div",mk,[E(s("input",hk,null,512),[[o,{state:e.viewState,set:n=>{e.query.search=n},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",vk,"/"))]),s("span",yk,[t[18]||(t[18]=s("label",null,"Role",-1)),E((l(),d("select",gk,[...t[17]||(t[17]=[s("option",{value:""},"Any",-1),s("option",{value:"admin"},"Admin",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.role=n},value:e.query?.role,form:null,options:{}}]])]),t[22]||(t[22]=s("span",{class:"admin-filter-spacer"},null,-1)),s("button",{class:"btn btn-sm",type:"button",onClick:t[3]||(t[3]=n=>e.exportCsv())},[...t[19]||(t[19]=[s("i",{class:"fas fa-file-csv"},null,-1),y(" Export",-1)])]),s("span",bk,[s("button",{class:"btn btn-sm",type:"button",onClick:t[4]||(t[4]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[20]||(t[20]=[s("i",{class:"fas fa-chevron-left"},null,-1)])],8,wk),s("span",kk,c(e.query?.page)+"/"+c(e.totalPage||1),1),s("button",{class:"btn btn-sm",type:"button",onClick:t[5]||(t[5]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[21]||(t[21]=[s("i",{class:"fas fa-chevron-right"},null,-1)])],8,_k)])]),e.chips?.length?(l(),d("div",Ek,[s("div",Ck,[(l(!0),d(J,null,ne(e.chips,(n,i)=>(l(),d("span",{class:"admin-active-chip",key:n?.key},[s("span",Nk,c(n?.label),1),s("span",null,c(n?.value),1),s("button",{type:"button",onClick:a=>e.clearFilter(n.key)},[...t[23]||(t[23]=[s("i",{class:"fas fa-times"},null,-1)])],8,Sk)]))),128))])])):f("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",Dk,[s("span",null,[s("strong",null,c(e.selectedCount()),1),t[24]||(t[24]=y(" selected",-1))]),s("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[6]||(t[6]=n=>e.bulkBan())},[...t[25]||(t[25]=[s("i",{class:"fas fa-ban"},null,-1),y(" Ban",-1)])]),s("button",{class:"btn btn-sm",type:"button",onClick:t[7]||(t[7]=n=>{e.selected={},e.allSelected=!1})},"Clear")])):f("v-if",!0),s("div",Rk,[s("div",Tk,[s("div",Ok,[s("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[8]||(t[8]=n=>e.selectAllOnPage()),checked:e.allSelected},null,8,Ak)]),s("div",Ik,[s("span",{class:O(["sortable",{active:e.query?.sort=="username"}]),onClick:t[9]||(t[9]=n=>e.sortBy("username"))},[t[26]||(t[26]=y("User ",-1)),s("i",{class:O(["fas",e.sortIcon("username")])},null,2)],2)]),t[28]||(t[28]=s("div",{role:"columnheader",class:"num"},"Repos",-1)),s("div",Vk,[s("span",{class:O(["sortable",{active:e.query?.sort=="status"}]),onClick:t[10]||(t[10]=n=>e.sortBy("status"))},[t[27]||(t[27]=y("Status ",-1)),s("i",{class:O(["fas",e.sortIcon("status")])},null,2)],2)]),t[29]||(t[29]=s("div",{role:"columnheader"},"Role",-1)),t[30]||(t[30]=s("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(J,null,ne(e.filteredUsers,(n,i)=>(l(),d("div",{class:O(["paper-table-row admin-users-row",{"row-selected":e.selected[n?.username]}]),role:"row"},[s("div",Pk,[E(s("input",qk,null,512),[[o,{state:e.viewState,set:a=>{e.selected[n.username]=a},value:e.selected[n?.username],form:null,options:{}}]])]),s("div",Mk,[n?.photo?(l(),d("img",{key:0,width:"28",height:"28",class:"rounded-circle",style:{"flex-shrink":"0"},src:e.safeUrl(n?.photo)},null,8,$k)):f("v-if",!0),s("div",Uk,[s("a",{class:"repo-name",textContent:c(n?.username),href:e.safeUrl("/admin/users/"+n?.username)},null,8,Lk),s("div",Fk,[n?.emails[0].email?(l(),d("span",zk,c(n?.emails[0].email),1)):f("v-if",!0),n?.emails[0].email?(l(),d("span",Hk,"\xA0\xB7\xA0")):f("v-if",!0),s("a",{target:"_blank",href:e.safeUrl("https://github.com/"+n?.username)},[t[31]||(t[31]=s("i",{class:"fab fa-github"},null,-1)),y(" "+c(n?.username),1)],8,Bk),n?.dateOfEntry?(l(),d("span",Gk,"\xA0\xB7\xA0Joined "+c(e.fmt?.humanTime(n?.dateOfEntry)),1)):f("v-if",!0)])])]),s("div",jk,[s("a",{title:"Show this user's repositories",textContent:c(e.fmt?.number(n?.repoCount||0)),href:e.safeUrl("/admin/?owner="+n?.username)},null,8,Wk)]),s("div",Kk,[s("span",{class:O(["status-dot",{"status-ready":n?.status=="active","status-removed":n?.status=="removed"||n?.status=="banned"}])},null,2),s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,Yk)]),s("div",Jk,[n?.isAdmin?(l(),d("span",Qk,"Admin")):f("v-if",!0),n?.isAdmin?f("v-if",!0):(l(),d("span",Xk,"\u2014"))]),s("div",Zk,[s("div",xk,[t[37]||(t[37]=s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"})],-1)),s("div",e0,[s("a",{class:"dropdown-item",href:e.safeUrl("/admin/users/"+n?.username)},[...t[32]||(t[32]=[s("i",{class:"far fa-eye"},null,-1),y(" View details",-1)])],8,t0),s("a",{class:"dropdown-item",href:e.safeUrl("/admin/?owner="+n?.username)},[...t[33]||(t[33]=[s("i",{class:"fas fa-code-branch"},null,-1),y(" View repositories",-1)])],8,s0),t[36]||(t[36]=s("div",{class:"dropdown-divider"},null,-1)),E(s("a",{class:"dropdown-item text-danger",href:"#",onClick:ke(a=>e.banUser(n),["prevent"])},[...t[34]||(t[34]=[s("i",{class:"fas fa-ban"},null,-1),y(" Ban",-1)])],8,n0),[[B,n?.status=="active"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.activateUser(n),["prevent"])},[...t[35]||(t[35]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Activate",-1)])],8,o0),[[B,n?.status=="removed"||n?.status=="banned"]])])])])],2))),256)),e.filteredUsers?.length==0?(l(),d("div",r0,[...t[38]||(t[38]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No users match the current filters.",-1)])])):f("v-if",!0)]),s("div",i0,[s("span",a0,c(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",l0,[s("button",{class:"btn btn-sm",onClick:t[11]||(t[11]=n=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[39]||(t[39]=[s("i",{class:"fas fa-chevron-left"},null,-1),y(" Previous",-1)])],8,d0),E(s("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,u0),[[o,{state:e.viewState,set:n=>{e.query.page=n},value:e.query?.page,form:null,options:{}}]]),s("span",null,"of "+c(e.totalPage),1),s("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=n=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[40]||(t[40]=[y("Next ",-1),s("i",{class:"fas fa-chevron-right"},null,-1)])],8,c0)])):f("v-if",!0),s("span",p0,[t[42]||(t[42]=s("label",null,"Per page",-1)),E((l(),d("select",f0,[...t[41]||(t[41]=[s("option",{value:"10"},"10",-1),s("option",{value:"25"},"25",-1),s("option",{value:"50"},"50",-1),s("option",{value:"100"},"100",-1)])])),[[o,{state:e.viewState,set:n=>{e.query.limit=n},value:e.query?.limit,form:null,options:{}}]])])])])}var m0={class:"anonymize-page h-100"},h0={class:"anonymize-landing"},v0={class:"anonymize-landing-inner"},y0={class:"form-group mt-4 mb-2"},g0={class:"source-url-label-row"},b0={key:0,class:"repo-access","aria-label":"GitHub access"},w0={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},k0=["aria-pressed","disabled"],_0=["aria-pressed","disabled"],E0={key:1,class:"connection-badge"},C0={id:"sourceUrl-landing",type:"text",class:"form-control form-control-lg",placeholder:"https://github.com/owner/repository"},N0={key:0,class:"alert alert-info",role:"status"},S0={key:1},D0={key:1,class:"repo-access-details","aria-label":"GitHub access"},R0={class:"repo-access-main"},T0={class:"repo-access-controls"},O0={key:1,class:"connection-link",href:"/connections"},A0={class:"repo-access-note"},I0={key:0},V0={class:"anonymize-workspace"},P0={class:"anonymize-topbar"},q0={class:"anonymize-topbar-inner"},M0={class:"paper-crumbs"},$0={class:"here"},U0={class:"anonymize-topbar-head"},L0={class:"paper-page-title anonymize-topbar-title"},F0={key:0},z0={key:1},H0={class:"anonymize-split"},B0={class:"anonymize-form-col overflow-auto"},G0={class:"form needs-validation paper-settings-main",name:"anonymize",novalidate:""},j0={class:"paper-settings-section"},W0={class:"form-group"},K0={class:"source-url-label-row"},Y0={key:0,class:"repo-access","aria-label":"GitHub access"},J0={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},Q0=["aria-pressed","disabled"],X0=["aria-pressed","disabled"],Z0={key:1,class:"connection-badge"},x0=["disabled"],e_={class:"invalid-feedback"},t_={class:"invalid-feedback"},s_={class:"invalid-feedback"},n_={class:"invalid-feedback"},o_={key:0,class:"repo-access-details","aria-label":"GitHub access"},r_={class:"repo-access-main"},i_={class:"repo-access-controls"},a_={key:1,class:"connection-link",href:"/connections"},l_={class:"repo-access-note"},d_={key:0},u_={key:1,class:"repo-access-details"},c_={key:0,role:"status"},p_={key:2,class:"form-grid-2"},f_={class:"form-group"},m_={class:"input-group"},h_={class:"form-control",id:"branch",name:"branch"},v_=["textContent","value"],y_={class:"input-group-append"},g_={class:"form-group"},b_=["disabled"],w_={class:"invalid-feedback"},k_={class:"invalid-feedback"},__={class:"form-check"},E_={class:"form-check-input",type:"checkbox",id:"update",name:"update"},C_={class:"paper-settings-section"},N_={class:"form-group"},S_=["disabled"],D_={class:"form-text text-muted"},R_={class:"invalid-feedback"},T_={class:"form-group"},O_=["disabled"],A_={class:"form-text text-muted"},I_={class:"invalid-feedback"},V_={class:"form-group"},P_=["disabled"],q_={class:"form-text text-muted"},M_={class:"invalid-feedback"},$_={class:"form-group"},U_={class:"form-text text-muted"},L_=["href"],F_={class:"invalid-feedback"},z_={class:"form-text text-muted"},H_={class:"paper-settings-section"},B_={class:"form-group"},G_={class:"form-text text-muted"},j_={class:"warning-feedback"},W_={class:"invalid-feedback"},K_={class:"paper-settings-section"},Y_={class:"form-check"},J_={class:"form-check-input",type:"checkbox",id:"link",name:"link"},Q_={class:"form-check"},X_={class:"form-check-input",type:"checkbox",id:"image",name:"image"},Z_={class:"form-check"},x_={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},eE={class:"form-check"},tE={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},sE={class:"form-check"},nE=["disabled"],oE={class:"form-check"},rE={class:"form-check-input",type:"checkbox",id:"title-gist",name:"title-gist"},iE={class:"form-check"},aE={class:"form-check-input",type:"checkbox",id:"content-gist",name:"content-gist"},lE={class:"form-check"},dE={class:"form-check-input",type:"checkbox",id:"comments-gist",name:"comments-gist"},uE={class:"form-check"},cE={class:"form-check-input",type:"checkbox",id:"username-gist",name:"username-gist"},pE={class:"form-check"},fE={class:"form-check-input",type:"checkbox",id:"date-gist",name:"date-gist"},mE={class:"form-check"},hE={class:"form-check-input",type:"checkbox",id:"origin-gist",name:"origin-gist"},vE={class:"form-check"},yE={class:"form-check-input",type:"checkbox",id:"title",name:"title"},gE={class:"form-check"},bE={class:"form-check-input",type:"checkbox",id:"body",name:"body"},wE={class:"form-check"},kE={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},_E={class:"form-check"},EE={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},CE={class:"form-check"},NE={class:"form-check-input",type:"checkbox",id:"username",name:"username"},SE={class:"form-check"},DE={class:"form-check-input",type:"checkbox",id:"date",name:"date"},RE={class:"form-check"},TE={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},OE={class:"paper-settings-section"},AE={class:"form-grid-2"},IE={class:"form-group"},VE={class:"form-control",id:"expiration",name:"expiration"},PE={class:"form-group"},qE=["min","max"],ME={class:"invalid-feedback"},$E={class:"invalid-feedback"},UE={class:"paper-settings-section"},LE={class:"form-group"},FE={style:{position:"relative"}},zE={type:"text",id:"coauthorSearch",class:"form-control",placeholder:"Search GitHub username\u2026",autocomplete:"off"},HE={class:"dropdown-menu show",style:{display:"block","max-height":"220px","overflow-y":"auto",width:"100%"}},BE=["onClick"],GE=["src"],jE=["textContent"],WE=["textContent"],KE={class:"coauthor-list"},YE={class:"coauthor-row d-flex align-items-center",style:{padding:"6px 0",gap:"8px"}},JE=["src"],QE=["textContent","href"],XE=["onClick"],ZE={class:"form-text text-muted"},xE=["textContent"],eC={class:"anonymize-submit-bar"},tC={key:0,class:"anonymize-preview-col"},sC=["innerHTML"],nC={key:1,class:"anonymize-preview-col"},oC={class:"anonymize-preview-body"},rC={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},iC={class:"pr-title mb-1"},aC={key:0},lC=["textContent"],dC={key:0},uC={key:1},cC={key:2},pC={class:"pr-comments mt-3"},fC={class:"pr-comment"},mC={class:"pr-comment-head"},hC=["textContent"],vC={key:0,class:"pr-comment-date"},yC={key:3},gC={class:"pr-comments"},bC={class:"pr-comment"},wC={class:"pr-comment-head"},kC={key:0,class:"pr-comment-author"},_C=["textContent"],EC=["textContent"],CC={key:0,class:"pr-comment-body"},NC={key:2,class:"anonymize-preview-col"},SC={class:"anonymize-preview-body"},DC={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},RC={class:"pr-title mb-1"},TC={key:0},OC=["textContent"],AC={key:0},IC={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--paper-bg-alt)"}},VC={key:2,class:"paper-tabs",role:"tablist"},PC=["textContent"],qC={class:"paper-tab-content"},MC={key:0},$C=["innerHTML"],UC={key:1},LC={class:"pr-comments"},FC={class:"pr-comment"},zC={class:"pr-comment-head"},HC={key:0,class:"pr-comment-author"},BC=["textContent"],GC=["textContent"],jC={key:0,class:"pr-comment-body"};function nl(e,t){let o=tt("gist-file"),r=tt("markdown"),n=we("field"),i=we("form");return l(),d("div",m0,[f(" ===== STATE 1: No URL \u2014 centered input ===== "),E(s("div",h0,[s("div",v0,[t[23]||(t[23]=s("div",{class:"paper-crumbs"},[y("My work \xA0/\xA0 "),s("span",{class:"here"},"New anonymization")],-1)),t[24]||(t[24]=s("h1",{class:"paper-page-title"},[y("New "),s("em",null,"anonymization")],-1)),t[25]||(t[25]=s("p",{class:"paper-page-lede"}," Paste a GitHub repository, pull-request, or gist URL. We\u2019ll fetch it, strip every trace of identity, and hand you back a stable link. ",-1)),s("div",y0,[s("div",g0,[t[18]||(t[18]=s("label",{class:"paper-field-label",for:"sourceUrl-landing"},"Source URL",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",b0,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",w0,[s("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[0]||(t[0]=a=>e.chooseGitHubConnection("github-app"))},[...t[17]||(t[17]=[s("i",{class:"fas fa-shield-alt","aria-hidden":"true"},null,-1),y(),s("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,k0),s("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[1]||(t[1]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,_0)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",E0,c(e.detectedType!=="gist"&&e.githubConnection==="github-app"?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),E(s("input",C0,null,512),[[n,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:null,options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]])]),t[26]||(t[26]=s("small",{class:"form-text",style:{color:"var(--ink-muted)"}}," Repository, pull request (\u2026/pull/42) and gist (gist.github.com/\u2026) URLs are all accepted. ",-1)),e.detectedType==="gist"&&e.gistOAuthRequired?(l(),d("aside",N0,[t[19]||(t[19]=s("p",null,"Connect GitHub OAuth to access gists. Your account and existing anonymizations stay the same, and your draft will be restored when you return.",-1)),t[20]||(t[20]=s("p",null,"GitHub's legacy OAuth connection includes write access to private repositories.",-1)),e.githubConnections?.oauthEnabled?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[2]||(t[2]=a=>e.connectGistOAuth())},"Connect GitHub OAuth to access gists")):(l(),d("p",S0,"GitHub OAuth is currently unavailable. Please try again later."))])):f("v-if",!0),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",D0,[s("div",R0,[s("div",T0,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[3]||(t[3]=a=>e.grantGitHubAccess())},[...t[21]||(t[21]=[y("Manage access ",-1),s("i",{class:"fas fa-external-link-alt","aria-hidden":"true"},null,-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",O0,c(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):f("v-if",!0)])]),s("div",A0,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",I0,"Select repositories on GitHub, then return here.")):f("v-if",!0),t[22]||(t[22]=s("span",null,[s("i",{class:"fas fa-info-circle","aria-hidden":"true"}),y(" Selected content will be published, including content from private repositories.")],-1))])])):f("v-if",!0)])],512),[[B,!e.sourceUrl]]),f(" ===== STATE 2: URL provided \u2014 form (left) + preview (right) ===== "),E(s("div",V0,[s("header",P0,[s("div",q0,[s("div",M0,[t[27]||(t[27]=s("a",{href:"/dashboard"},"My work",-1)),t[28]||(t[28]=y(" \xA0/\xA0 ",-1)),s("span",$0,c(e.isUpdate?"Edit anonymization":"New anonymization"),1)]),s("div",U0,[s("h1",L0,[e.isUpdate?f("v-if",!0):(l(),d("span",F0,[...t[29]||(t[29]=[y("New ",-1),s("em",null,"anonymization",-1)])])),e.isUpdate?(l(),d("span",z0,[...t[30]||(t[30]=[y("Edit ",-1),s("em",null,"anonymization",-1)])])):f("v-if",!0)]),E(s("span",{class:O(["type-badge",{"type-repo":e.detectedType==="repo","type-pr":e.detectedType==="pr","type-gist":e.detectedType==="gist"}])},c(e.detectedType==="repo"?"Repo":e.detectedType==="pr"?"PR":"Gist"),3),[[B,e.detectedType]])])])]),s("div",H0,[f(" Form column (left) "),s("div",B0,[E((l(),d("form",G0,[s("section",j0,[t[41]||(t[41]=s("div",{class:"paper-section-eyebrow"},"Source",-1)),s("div",W0,[s("div",K0,[t[32]||(t[32]=s("label",{class:"paper-field-label",for:"sourceUrl"},"GitHub URL",-1)),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",Y0,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",J0,[s("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[4]||(t[4]=a=>e.chooseGitHubConnection("github-app"))},[...t[31]||(t[31]=[s("i",{class:"fas fa-shield-alt","aria-hidden":"true"},null,-1),y(),s("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,Q0),s("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[5]||(t[5]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,X0)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",Z0,c(e.detectedType!=="gist"&&e.githubConnection==="github-app"?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.sourceUrl?.invalid}]),name:"sourceUrl",id:"sourceUrl",disabled:e.isUpdate&&e.detectedType!=="repo",placeholder:"Paste a GitHub repo or pull request URL"},null,10,x0),[[n,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),E(s("div",e_," Please provide a valid GitHub URL. ",512),[[B,e.anonymize?.sourceUrl?.errors?.github]]),E(s("div",t_," Not accessible. The organization may restrict access. ",512),[[B,e.anonymize?.sourceUrl?.errors?.access]]),E(s("div",s_," Does not exist or is not accessible. ",512),[[B,e.anonymize?.sourceUrl?.errors?.missing]]),E(s("div",n_," Already anonymized. ",512),[[B,e.anonymize?.sourceUrl?.errors?.used]])]),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",o_,[s("div",r_,[s("div",i_,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[6]||(t[6]=a=>e.grantGitHubAccess())},[...t[33]||(t[33]=[y("Manage access ",-1),s("i",{class:"fas fa-external-link-alt","aria-hidden":"true"},null,-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",a_,c(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):f("v-if",!0)])]),s("div",l_,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",d_,"Select repositories on GitHub, then return here.")):f("v-if",!0),t[34]||(t[34]=s("span",null,[s("i",{class:"fas fa-info-circle","aria-hidden":"true"}),y(" Selected content will be published, including content from private repositories.")],-1))])])):f("v-if",!0),e.isUpdate&&e.detectedType==="repo"&&e.role==="owner"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("aside",u_,[t[35]||(t[35]=s("p",null,"If you deleted and recreated this repository, reconnect it before choosing a branch.",-1)),s("button",{type:"button",class:"btn btn-outline-ink",onClick:t[7]||(t[7]=a=>e.reconnectSource())},"Reconnect source repository"),e.reconnectRepositoryId?(l(),d("p",c_,"Source reloaded. Review the branch, commit, and anonymization preview, then save to replace the published snapshot.")):f("v-if",!0)])):f("v-if",!0),e.detectedType==="repo"?(l(),d("div",p_,[s("div",f_,[t[37]||(t[37]=s("label",{class:"paper-field-label",for:"branch"},"Branch",-1)),s("div",m_,[E((l(),d("select",h_,[(l(!0),d(J,null,ne(e.branches,(a,u)=>(l(),d("option",{textContent:c(a?.name),value:a?.name},null,8,v_))),256))])),[[n,{state:e.viewState,set:a=>{e.source.branch=a},value:e.source?.branch,form:"anonymize",options:{}}]]),s("div",y_,[s("button",{class:"btn",type:"button",title:"Refresh","data-toggle":"tooltip","data-placement":"bottom",onClick:t[8]||(t[8]=a=>e.getBranches(!0))},[...t[36]||(t[36]=[s("i",{class:"fas fa-sync","aria-hidden":"true"},null,-1)])])])])]),s("div",g_,[t[38]||(t[38]=s("label",{class:"paper-field-label",for:"commit"},"Commit",-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.commit?.invalid}]),id:"commit",disabled:e.options.update,name:"commit",pattern:"[a-fA-Z0-9]{6,}",required:""},null,10,b_),[[n,{state:e.viewState,set:a=>{e.source.commit=a},value:e.source?.commit,form:"anonymize",options:{}}]]),E(s("div",w_," The commit SHA is not valid. ",512),[[B,e.anonymize?.commit?.errors?.pattern||e.anonymize?.commit?.errors?.required]]),E(s("div",k_," This commit no longer exists in the repository. Click refresh to get the latest. ",512),[[B,e.anonymize?.commit?.errors?.exists]])])])):f("v-if",!0),E(s("div",__,[E(s("input",E_,null,512),[[n,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"anonymize",options:{}}]]),t[39]||(t[39]=s("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[40]||(t[40]=s("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))],512),[[B,e.detectedType]])]),E(s("section",C_,[t[52]||(t[52]=s("div",{class:"paper-section-eyebrow"},"Identity",-1)),E(s("div",N_,[t[44]||(t[44]=s("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.repoId?.invalid}]),name:"repoId",id:"repoId",disabled:e.isUpdate},null,10,S_),[[n,{state:e.viewState,set:a=>{e.repoId=a},value:e.repoId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",D_,[t[42]||(t[42]=y("Your share link will be ",-1)),s("code",null,"anonymous.4open.science/r/"+c(e.repoId),1),t[43]||(t[43]=y(".",-1))]),E(s("div",R_,"ID can only contain letters and numbers.",512),[[B,e.anonymize?.repoId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.repoId)+" is already used.",513),[[B,e.anonymize?.repoId?.errors?.used]])],512),[[B,e.detectedType==="repo"]]),E(s("div",T_,[t[47]||(t[47]=s("label",{class:"paper-field-label",for:"pullRequestId"},"Anonymized pull request ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId",disabled:e.isUpdate},null,10,O_),[[n,{state:e.viewState,set:a=>{e.pullRequestId=a},value:e.pullRequestId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",A_,[t[45]||(t[45]=y("Your share link will be ",-1)),s("code",null,"anonymous.4open.science/pr/"+c(e.pullRequestId),1),t[46]||(t[46]=y(".",-1))]),E(s("div",I_,"ID can only contain letters and numbers.",512),[[B,e.anonymize?.pullRequestId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used.",513),[[B,e.anonymize?.pullRequestId?.errors?.used]])],512),[[B,e.detectedType==="pr"]]),E(s("div",V_,[t[50]||(t[50]=s("label",{class:"paper-field-label",for:"gistId"},"Anonymized gist ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.gistId?.invalid}]),name:"gistId",id:"gistId",disabled:e.isUpdate},null,10,P_),[[n,{state:e.viewState,set:a=>{e.gistId=a},value:e.gistId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",q_,[t[48]||(t[48]=y("Your share link will be ",-1)),s("code",null,"anonymous.4open.science/gist/"+c(e.gistId),1),t[49]||(t[49]=y(".",-1))]),E(s("div",M_,"ID can only contain letters and numbers.",512),[[B,e.anonymize?.gistId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.gistId)+" is already used.",513),[[B,e.anonymize?.gistId?.errors?.used]])],512),[[B,e.detectedType==="gist"]]),s("div",$_,[t[51]||(t[51]=s("label",{class:"paper-field-label",for:"conference"},[y("Conference "),s("span",{class:"paper-optional"},"(optional)")],-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[n,{state:e.viewState,set:a=>{e.conference=a},value:e.conference,form:"anonymize",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),E(s("small",U_,[s("a",{target:"_blank",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,L_),y(" expires "+c(e.fmt?.date(e.conference_data?.endDate))+". ",1)],512),[[B,e.conference_data]]),E(s("div",F_,"The conference is not activated.",512),[[B,e.anonymize?.conference?.errors?.activated]]),E(s("small",z_,"Link to a conference to apply its shared defaults.",512),[[B,!e.conference_data]])])],512),[[B,e.detectedType]]),E(s("section",H_,[t[60]||(t[60]=s("div",{class:"paper-section-eyebrow"},"Anonymization",-1)),s("div",B_,[t[59]||(t[59]=s("label",{class:"paper-field-label",for:"terms"},"Terms to redact",-1)),E(s("textarea",{class:O(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"4"},null,2),[[n,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"anonymize",options:{debounce:250}}]]),s("small",G_,[t[53]||(t[53]=y("One term per line (regex allowed). Replaced by ",-1)),s("code",null,c(e.site_options?.ANONYMIZATION_MASK)+"-[N]",1),t[54]||(t[54]=y(", or use ",-1)),t[55]||(t[55]=s("code",null,"term=>replacement",-1)),t[56]||(t[56]=y(" to pick your own (e.g. ",-1)),t[57]||(t[57]=s("code",null,"Anonymous=>ABC",-1)),t[58]||(t[58]=y(").",-1))]),E(s("div",j_,"Regex characters detected. Escape them if unintentional.",512),[[B,e.termsRegexWarning]]),E(s("div",W_,"Terms are in an invalid format.",512),[[B,e.anonymize?.terms?.errors?.format]])])],512),[[B,e.detectedType]]),E(s("section",K_,[t[79]||(t[79]=s("div",{class:"paper-section-eyebrow"},"Display",-1)),E(s("div",null,[s("div",Y_,[E(s("input",J_,null,512),[[n,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"anonymize",options:{}}]]),t[61]||(t[61]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1))]),s("div",Q_,[E(s("input",X_,null,512),[[n,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"anonymize",options:{}}]]),t[62]||(t[62]=s("label",{class:"form-check-label",for:"image"},"Display images",-1))]),s("div",Z_,[E(s("input",x_,null,512),[[n,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"anonymize",options:{}}]]),t[63]||(t[63]=s("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1))]),s("div",eE,[E(s("input",tE,null,512),[[n,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"anonymize",options:{}}]]),t[64]||(t[64]=s("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))]),s("div",sE,[E(s("input",{class:"form-check-input",type:"checkbox",id:"page",name:"page",disabled:!e.details?.hasPage||e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch},null,8,nE),[[n,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"anonymize",options:{}}]]),t[65]||(t[65]=s("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),E(s("small",{class:"form-text text-muted d-block"},c(e.fmt?.translate("WARNINGS.page_not_enabled_on_repo")),513),[[B,!e.details?.hasPage]]),E(s("small",{class:"form-text text-muted d-block"},c(e.fmt?.translate("WARNINGS.page_branch_mismatch",{pageBranch:e.details?.pageSource?.branch,selectedBranch:e.source?.branch})),513),[[B,e.details?.hasPage&&e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch]])])],512),[[B,e.detectedType==="repo"]]),E(s("div",null,[s("div",oE,[E(s("input",rE,null,512),[[n,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[66]||(t[66]=s("label",{class:"form-check-label",for:"title-gist"},"Gist description",-1))]),s("div",iE,[E(s("input",aE,null,512),[[n,{state:e.viewState,set:a=>{e.options.content=a},value:e.options?.content,form:"anonymize",options:{}}]]),t[67]||(t[67]=s("label",{class:"form-check-label",for:"content-gist"},"File contents",-1))]),s("div",lE,[E(s("input",dE,null,512),[[n,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[68]||(t[68]=s("label",{class:"form-check-label",for:"comments-gist"},"Comments",-1))]),s("div",uE,[E(s("input",cE,null,512),[[n,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[69]||(t[69]=s("label",{class:"form-check-label",for:"username-gist"},"Usernames",-1))]),s("div",pE,[E(s("input",fE,null,512),[[n,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[70]||(t[70]=s("label",{class:"form-check-label",for:"date-gist"},"Dates",-1))]),s("div",mE,[E(s("input",hE,null,512),[[n,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[71]||(t[71]=s("label",{class:"form-check-label",for:"origin-gist"},"Source gist ID",-1))])],512),[[B,e.detectedType==="gist"]]),E(s("div",null,[s("div",vE,[E(s("input",yE,null,512),[[n,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[72]||(t[72]=s("label",{class:"form-check-label",for:"title"},"PR title",-1))]),s("div",gE,[E(s("input",bE,null,512),[[n,{state:e.viewState,set:a=>{e.options.body=a},value:e.options?.body,form:"anonymize",options:{}}]]),t[73]||(t[73]=s("label",{class:"form-check-label",for:"body"},"PR body",-1))]),s("div",wE,[E(s("input",kE,null,512),[[n,{state:e.viewState,set:a=>{e.options.diff=a},value:e.options?.diff,form:"anonymize",options:{}}]]),t[74]||(t[74]=s("label",{class:"form-check-label",for:"diff"},"Diff",-1))]),s("div",_E,[E(s("input",EE,null,512),[[n,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[75]||(t[75]=s("label",{class:"form-check-label",for:"comments"},"Comments",-1))]),s("div",CE,[E(s("input",NE,null,512),[[n,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[76]||(t[76]=s("label",{class:"form-check-label",for:"username"},"Usernames",-1))]),s("div",SE,[E(s("input",DE,null,512),[[n,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[77]||(t[77]=s("label",{class:"form-check-label",for:"date"},"Dates",-1))]),s("div",RE,[E(s("input",TE,null,512),[[n,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[78]||(t[78]=s("label",{class:"form-check-label",for:"origin"},"Project name",-1))])],512),[[B,e.detectedType==="pr"]])],512),[[B,e.detectedType]]),E(s("section",OE,[t[83]||(t[83]=s("div",{class:"paper-section-eyebrow"},"Expiration",-1)),s("div",AE,[s("div",IE,[t[81]||(t[81]=s("label",{class:"paper-field-label",for:"expiration"},"Strategy",-1)),E((l(),d("select",VE,[...t[80]||(t[80]=[s("option",{value:"redirect"},"Redirect to GitHub when expired",-1),s("option",{value:"remove",selected:""},"Remove when expired",-1)])])),[[n,{state:e.viewState,set:a=>{e.options.expirationMode=a},value:e.options?.expirationMode,form:"anonymize",options:{}}]])]),s("div",PE,[t[82]||(t[82]=s("label",{class:"paper-field-label",for:"expirationDate"},"Expiration date",-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.expirationDate?.invalid}]),type:"date",name:"expirationDate",id:"expirationDate",required:"",min:e.minExpirationDate,max:e.maxExpirationDate},null,10,qE),[[n,{state:e.viewState,set:a=>{e.options.expirationDate=a},value:e.options?.expirationDate,form:"anonymize",options:{}}]]),E(s("div",ME,"Pick a date in the future.",512),[[B,e.anonymize?.expirationDate?.errors?.min]]),E(s("div",{class:"invalid-feedback"},"Pick a date on or before "+c(e.fmt?.date(e.maxExpirationDate))+".",513),[[B,e.anonymize?.expirationDate?.errors?.max]]),E(s("div",$E,"Enter a valid expiration date.",512),[[B,e.anonymize?.expirationDate?.errors?.required||e.anonymize?.expirationDate?.errors?.date]])])]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the content will be removed.",513),[[B,e.options?.expirationMode=="remove"&&e.options?.expirationDate]]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", visitors will be redirected to GitHub.",513),[[B,e.options?.expirationMode=="redirect"&&e.options?.expirationDate]])],512),[[B,e.detectedType]]),E(s("section",UE,[t[87]||(t[87]=s("div",{class:"paper-section-eyebrow"},"Co-authors",-1)),t[88]||(t[88]=s("p",{class:"form-text text-muted",style:{"margin-bottom":"8px"}}," Co-authors can view and edit these settings. They cannot delete the anonymization or manage co-authors. ",-1)),E(s("div",LE,[t[84]||(t[84]=s("label",{class:"paper-field-label",for:"coauthorSearch"},"Add a GitHub user",-1)),s("div",FE,[E(s("input",zE,null,512),[[n,{state:e.viewState,set:a=>{e.coauthorSearch=a},value:e.coauthorSearch,form:"anonymize",options:{debounce:300},change:()=>{e.searchCoauthors()}}]]),E(s("div",HE,[(l(!0),d(J,null,ne(e.coauthorResults,(a,u)=>(l(),d("a",{href:"#",class:"dropdown-item d-flex align-items-center",onClick:ke(m=>e.addCoauthor(a,m),["prevent"])},[s("img",{alt:"",style:{width:"22px",height:"22px","border-radius":"50%","margin-right":"8px"},src:e.safeUrl(a?.photo)},null,8,GE),s("span",{textContent:c(a?.username)},null,8,jE)],8,BE))),256))],512),[[B,e.coauthorResults?.length>0]])]),E(s("small",{class:"form-text text-muted",textContent:c(e.coauthorError)},null,8,WE),[[B,e.coauthorError]])],512),[[B,e.role==="owner"||e.role==="admin"]]),s("div",KE,[(l(!0),d(J,null,ne(e.coauthors,(a,u)=>(l(),d("div",YE,[a?.photo?(l(),d("img",{key:0,alt:"",style:{width:"24px",height:"24px","border-radius":"50%"},src:e.safeUrl(a?.photo)},null,8,JE)):f("v-if",!0),s("a",{target:"_blank",textContent:c(a?.username),href:e.safeUrl("https://github.com/"+a?.username)},null,8,QE),t[86]||(t[86]=s("span",{class:"type-badge type-coauthor"},"Co-author",-1)),E(s("button",{type:"button",class:"btn btn-sm",style:{"margin-left":"auto"},title:"Remove co-author",onClick:m=>e.removeCoauthor(a)},[...t[85]||(t[85]=[s("i",{class:"fas fa-times"},null,-1)])],8,XE),[[B,e.role==="owner"||e.role==="admin"]])]))),256)),E(s("div",ZE," No co-authors yet. ",512),[[B,!e.coauthors||e.coauthors?.length===0]])])],512),[[B,e.isUpdate&&e.detectedType==="repo"]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,xE)):f("v-if",!0),E(s("div",eC,[e.detectedType==="repo"&&!e.isUpdate?(l(),d("button",{key:0,type:"submit",class:"btn btn-ink",onClick:t[9]||(t[9]=ke(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[89]||(t[89]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize Repository ",-1)])])):f("v-if",!0),e.detectedType==="repo"&&e.isUpdate?(l(),d("button",{key:1,type:"submit",class:"btn btn-ink",onClick:t[10]||(t[10]=ke(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[90]||(t[90]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update Repository ",-1)])])):f("v-if",!0),e.detectedType==="pr"&&!e.isUpdate?(l(),d("button",{key:2,type:"submit",class:"btn btn-ink",onClick:t[11]||(t[11]=ke(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[91]||(t[91]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize Pull Request ",-1)])])):f("v-if",!0),e.detectedType==="pr"&&e.isUpdate?(l(),d("button",{key:3,type:"submit",class:"btn btn-ink",onClick:t[12]||(t[12]=ke(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[92]||(t[92]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update Pull Request ",-1)])])):f("v-if",!0),e.detectedType==="gist"&&!e.isUpdate?(l(),d("button",{key:4,type:"submit",class:"btn btn-ink",onClick:t[13]||(t[13]=ke(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[93]||(t[93]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize Gist ",-1)])])):f("v-if",!0),e.detectedType==="gist"&&e.isUpdate?(l(),d("button",{key:5,type:"submit",class:"btn btn-ink",onClick:t[14]||(t[14]=ke(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[94]||(t[94]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update Gist ",-1)])])):f("v-if",!0)],512),[[B,e.detectedType]])])),[[i,e.viewState]])]),f(" Preview column (right) "),e.detectedType==="repo"&&e.html_readme?(l(),d("div",tC,[t[95]||(t[95]=s("div",{class:"anonymize-preview-head"},[s("span",{class:"paper-eyebrow"},"Live preview"),s("span",{class:"anonymize-preview-sub"},"README with redactions applied")],-1)),s("div",{class:"anonymize-preview-body markdown-body body",innerHTML:e.sanitize(e.html_readme)},null,8,sC)])):f("v-if",!0),e.detectedType==="gist"&&e.details?(l(),d("div",nC,[t[99]||(t[99]=s("div",{class:"anonymize-preview-head"},[s("span",{class:"paper-eyebrow"},"Live preview"),s("span",{class:"anonymize-preview-sub"},"Gist with redactions applied")],-1)),s("div",oC,[s("div",rC,[s("h2",iC,[e.options?.title?(l(),d("span",aC,c(e.anonymizeGistContent(e.details?.gist?.description)||"Untitled gist"),1)):f("v-if",!0),s("span",{class:O(["badge",{"badge-success":e.details?.gist?.isPublic,"badge-secondary":!e.details?.gist?.isPublic}])},c(e.details?.gist?.isPublic?"public":"secret"),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.gist?.updatedDate))},null,8,lC)):f("v-if",!0)]),e.options?.origin?(l(),d("small",dC,"Gist ID: "+c(e.details?.source?.gistId),1)):f("v-if",!0),e.options?.username&&e.details?.gist?.ownerLogin?(l(),d("small",uC,"By @"+c(e.anonymizeGistContent(e.details?.gist?.ownerLogin)),1)):f("v-if",!0),e.options?.content&&e.previewGistFiles?.length?(l(),d("div",cC,[s("ul",pC,[(l(!0),d(J,null,ne(e.previewGistFiles,(a,u)=>(l(),d("li",fC,[s("div",mC,[s("strong",{textContent:c(a?.filename)},null,8,hC),a?.language?(l(),d("span",vC,c(a?.language),1)):f("v-if",!0)]),Re(o,{file:a,terms:e.terms,options:e.options},null,8,["file","terms","options"])]))),256))])])):f("v-if",!0),e.options?.comments&&e.details?.gist?.comments&&e.details?.gist?.comments?.length?(l(),d("div",yC,[t[98]||(t[98]=s("h3",{class:"paper-section-eyebrow mt-3"},"Comments",-1)),s("ul",gC,[(l(!0),d(J,null,ne(e.details?.gist?.comments,(a,u)=>(l(),d("li",bC,[s("div",wC,[e.options?.username?(l(),d("span",kC,[t[96]||(t[96]=s("i",{class:"far fa-user"},null,-1)),t[97]||(t[97]=y(" @",-1)),s("span",{textContent:c(e.anonymizeGistContent(a?.author))},null,8,_C)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,EC)):f("v-if",!0)]),e.options?.body?(l(),d("div",CC,[Re(r,{content:e.anonymizeGistContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])])):f("v-if",!0),e.detectedType==="pr"&&e.details?(l(),d("div",NC,[t[104]||(t[104]=s("div",{class:"anonymize-preview-head"},[s("span",{class:"paper-eyebrow"},"Live preview"),s("span",{class:"anonymize-preview-sub"},"Pull request with redactions applied")],-1)),s("div",SC,[s("div",DC,[s("h2",RC,[e.options?.title?(l(),d("span",TC,c(e.anonymizePrContent(e.details?.pullRequest?.title)),1)):f("v-if",!0),s("span",{class:O(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,OC)):f("v-if",!0)]),e.options?.origin?(l(),d("small",AC,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",IC,[Re(r,{content:e.anonymizePrContent(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),e.options?.diff||e.options?.comments?(l(),d("nav",VC,[e.options?.diff?(l(),d("button",{key:0,class:O(["paper-tab",{active:e.prTabState?.active=="diff"}]),type:"button",role:"tab",onClick:t[15]||(t[15]=a=>e.prTabState.active="diff")},[...t[100]||(t[100]=[s("i",{class:"fas fa-code"},null,-1),y(" Diff ",-1)])],2)):f("v-if",!0),e.options?.comments?(l(),d("button",{key:1,class:O(["paper-tab",{active:e.prTabState?.active=="comments"}]),type:"button",role:"tab",onClick:t[16]||(t[16]=a=>e.prTabState.active="comments")},[t[101]||(t[101]=s("i",{class:"far fa-comment-dots"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,PC)],2)):f("v-if",!0)])):f("v-if",!0),s("div",qC,[e.options?.diff&&e.prTabState?.active=="diff"?(l(),d("div",MC,[s("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.anonymizePrContent(e.details?.pullRequest?.diff)))},null,8,$C)])):f("v-if",!0),e.options?.comments&&e.prTabState?.active=="comments"?(l(),d("div",UC,[s("ul",LC,[(l(!0),d(J,null,ne(e.details?.pullRequest?.comments,(a,u)=>(l(),d("li",FC,[s("div",zC,[e.options?.username?(l(),d("span",HC,[t[102]||(t[102]=s("i",{class:"far fa-user"},null,-1)),t[103]||(t[103]=y(" @",-1)),s("span",{textContent:c(e.anonymizePrContent(a?.author))},null,8,BC)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,GC)):f("v-if",!0)]),e.options?.body?(l(),d("div",jC,[Re(r,{content:e.anonymizePrContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])])])):f("v-if",!0)])],512),[[B,e.sourceUrl]])])}var WC={class:"container-fluid h-100 anonymize-page"},KC={class:"row h-100 flex-column flex-md-row"},YC={class:"col-md sidePanel shadow overflow-auto anonymize-form-col"},JC={class:"form-group"},QC={class:"form-group"},XC={class:"form-check"},ZC={class:"form-check-input",type:"checkbox",id:"update",name:"update"},xC={class:"form-group"},eN={class:"form-text text-muted"},tN=["href"],sN={class:"invalid-feedback"},nN={class:"form-text text-muted"},oN={class:"form-group"},rN={id:"idHelp",class:"form-text text-muted"},iN={class:"invalid-feedback"},aN={class:"form-group"},lN={class:"invalid-feedback"},dN={class:"form-group"},uN={class:"form-control",id:"expiration",name:"expiration"},cN={class:"form-group",id:"expiration-date-form"},pN={class:"form-control",type:"date",name:"expirationDate",id:"expirationDate"},fN={class:"accordion mb-3",id:"options"},mN={class:"card"},hN={id:"collapseOne",class:"collapse show","aria-labelledby":"headingOne","data-parent":"#options"},vN={class:"card-body"},yN={class:"form-group mb-0"},gN={class:"form-check"},bN={class:"form-check-input",type:"checkbox",id:"link",name:"link"},wN={class:"form-check"},kN={class:"form-check-input",type:"checkbox",id:"image",name:"image"},_N={class:"form-check"},EN={class:"form-check-input",type:"checkbox",id:"date",name:"date"},CN={class:"form-check"},NN={class:"form-check-input",type:"checkbox",id:"username",name:"username"},SN={class:"form-check"},DN={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},RN={class:"form-check"},TN={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},ON={class:"form-check"},AN={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},IN={class:"form-check"},VN={class:"form-check-input",type:"checkbox",id:"title",name:"title"},PN={class:"form-check"},qN={class:"form-check-input",type:"checkbox",id:"body",name:"body"},MN=["textContent"],$N={class:"anonymize-submit-bar"},UN={key:0,class:"col-md-8 p-2 overflow-auto anonymize-preview-col"},LN={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},FN={class:"pr-title mb-1"},zN={key:0},HN=["textContent"],BN={key:0},GN={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},jN={class:"nav nav-tabs",id:"myTab",role:"tablist"},WN={key:0,class:"nav-item",role:"presentation"},KN={key:1,class:"nav-item",role:"presentation"},YN=["textContent"],JN={class:"tab-content",id:"pills-tabContent"},QN={class:"tab-pane show active",id:"pills-diff",role:"tabpanel","aria-labelledby":"pills-diff-tab"},XN={key:0,class:"pr-diff shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},ZN={style:{"overflow-x":"auto"}},xN=["innerHTML"],eS={key:0,class:"pr-comments list-group"},tS={class:"pr-comment list-group-item"},sS={class:"d-flex w-100 justify-content-between flex-wrap"},nS={key:0,class:"mb-1"},oS=["textContent"],rS={class:"mb-1"};function ol(e,t){let o=tt("markdown"),r=we("field"),n=we("form");return l(),d("div",WC,[s("div",KC,[s("div",YC,[s("div",{class:O(["p-0 py-2 m-auto",{card:!e.pullRequestUrl,container:e.pullRequestUrl}])},[E((l(),d("form",{class:O(["form needs-validation",{"card-body":!e.pullRequestUrl}]),name:"anonymizeForm",novalidate:""},[t[30]||(t[30]=be('
Anonymize \xA0/\xA0 Pull request

Anonymize a pull request

Fill in the details \u2014 it only takes a minute.

Source
',4)),f(" pullRequestUrl "),s("div",JC,[t[2]||(t[2]=s("label",{for:"pullRequestUrl"},"URL of your pull request",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.pullRequestUrl?.invalid}]),name:"pullRequestUrl",id:"pullRequestUrl",placeholder:"https://github.com/owner/repo/pull/123"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestUrl=i},value:e.pullRequestUrl,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.pullRequestSelected()}}]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is not accessible. Some organizations are restricting the access to the repositories. ",513),[[B,e.anonymize?.pullRequestUrl?.errors?.access]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" does not exist or is not accessible ",513),[[B,e.anonymize?.pullRequestUrl?.errors?.missing]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is already anonymized ",513),[[B,e.anonymize?.pullRequestUrl?.errors?.used]])]),E(s("div",null,[s("div",QC,[s("div",XC,[E(s("input",ZC,null,512),[[r,{state:e.viewState,set:i=>{e.options.update=i},value:e.options?.update,form:"anonymizeForm",options:{}}]]),t[3]||(t[3]=s("label",{class:"form-check-label",for:"update"},"Auto update",-1)),t[4]||(t[4]=s("small",{id:"updateHelp",class:"form-text text-muted"},"Automatically update the anonymized pull request with the latest updates. The pull request is updated once per day maximum.",-1))])]),t[26]||(t[26]=s("div",{class:"paper-section-eyebrow anonymize-section-title"},[s("i",{class:"fas fa-chalkboard-teacher"}),y(" Conference ID ")],-1)),f(" Conference "),s("div",xC,[t[5]||(t[5]=s("label",{for:"conference"},[y("Conference ID "),s("span",{class:"text-muted"},"(Optional)")],-1)),E(s("input",{class:O(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[r,{state:e.viewState,set:i=>{e.conference=i},value:e.conference,form:"anonymizeForm",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),E(s("small",eN,[s("a",{target:"_target",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,tN),y(" will expire on "+c(e.fmt?.date(e.conference_data?.endDate))+".",1)],512),[[B,e.conference_data]]),E(s("div",sN," The conference is not activated. ",512),[[B,e.anonymize?.conference?.errors?.activated]]),E(s("small",nN," Use the Conference ID that your conference provided you. This will update automatically the anonymization options based on the conference preferences. ",512),[[B,!e.conference_data]])]),t[27]||(t[27]=s("div",{class:"paper-section-eyebrow anonymize-section-title"},[s("i",{class:"fas fa-shield-alt"}),y(" Anonymization Options ")],-1)),f(" Pull Request ID "),s("div",oN,[t[6]||(t[6]=s("label",{for:"pullRequestId"},"Anonymized pull request id",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestId=i},value:e.pullRequestId,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),s("small",rN,"Id used in the url: https://anonymous.4open.science/r/"+c(e.pullRequestId),1),E(s("div",iN," Repository id can only contain letters and numbers ",512),[[B,e.anonymize?.pullRequestId?.errors?.format]]),E(s("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used ",513),[[B,e.anonymize?.pullRequestId?.errors?.used]])]),f(" Terms "),s("div",aN,[t[7]||(t[7]=s("label",{for:"terms"},"Terms to anonymize",-1)),E(s("textarea",{class:O(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"3"},null,2),[[r,{state:e.viewState,set:i=>{e.terms=i},value:e.terms,form:"anonymizeForm",options:{debounce:250}}]]),t[8]||(t[8]=s("small",{id:"termsHelp",class:"form-text text-muted"},"One term per line. Each term will be replaced by XXX.",-1)),E(s("div",lN," Terms are in an invalid format ",512),[[B,e.anonymize?.terms?.errors?.format]])]),s("div",dN,[t[10]||(t[10]=s("label",{for:"expiration"},"Expiration strategy",-1)),E((l(),d("select",uN,[...t[9]||(t[9]=[s("option",{value:"never",selected:""},"Never expire",-1),s("option",{value:"redirect"}," Redirect to GitHub when expired ",-1),s("option",{value:"remove"},"Remove when expired",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.expirationMode=i},value:e.options?.expirationMode,form:"anonymizeForm",options:{}}]]),t[11]||(t[11]=s("small",{class:"form-text text-muted"},"Define the expiration strategy for the anonymized repository.",-1))]),E(s("div",cN,[t[12]||(t[12]=s("label",{for:"expirationDate"},"Expiration date of the anonymized repository",-1)),E(s("input",pN,null,512),[[r,{state:e.viewState,set:i=>{e.options.expirationDate=i},value:e.options?.expirationDate,form:"anonymizeForm",options:{}}]]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the repository will be removed and the visitor will not be able to see the content of the repository.",513),[[B,e.options?.expirationMode=="remove"]]),E(s("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the visitors of the anonymized repository will be redirected to "+c(e.pullRequestUrl)+".",513),[[B,e.options?.expirationMode=="redirect"]])],512),[[B,e.options?.expirationMode!="never"]]),s("div",fN,[s("div",mN,[t[25]||(t[25]=s("div",{class:"card-header",id:"headingOne"},[s("h2",{class:"mb-0"},[s("button",{class:"btn btn-block text-left",type:"button","data-toggle":"collapse","data-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"},[s("i",{class:"fas fa-cog mr-1"}),y(" Advanced options ")])])],-1)),s("div",hN,[s("div",vN,[s("div",yN,[s("div",gN,[E(s("input",bN,null,512),[[r,{state:e.viewState,set:i=>{e.options.link=i},value:e.options?.link,form:"anonymizeForm",options:{}}]]),t[13]||(t[13]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=s("small",{class:"form-text text-muted"},"Keep or remove all the links.",-1))]),s("div",wN,[E(s("input",kN,null,512),[[r,{state:e.viewState,set:i=>{e.options.image=i},value:e.options?.image,form:"anonymizeForm",options:{}}]]),t[15]||(t[15]=s("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=s("small",{class:"form-text text-muted"},"Images are not anonymized",-1))]),s("div",_N,[E(s("input",EN,null,512),[[r,{state:e.viewState,set:i=>{e.options.date=i},value:e.options?.date,form:"anonymizeForm",options:{}}]]),t[17]||(t[17]=s("label",{class:"form-check-label",for:"date"},"Display dates",-1)),t[18]||(t[18]=s("small",{class:"form-text text-muted"},"Display the date of the Pull Request and the date of the comments.",-1))]),s("div",CN,[E(s("input",NN,null,512),[[r,{state:e.viewState,set:i=>{e.options.username=i},value:e.options?.username,form:"anonymizeForm",options:{}}]]),t[19]||(t[19]=s("label",{class:"form-check-label",for:"username"},"Display username",-1))]),s("div",SN,[E(s("input",DN,null,512),[[r,{state:e.viewState,set:i=>{e.options.comments=i},value:e.options?.comments,form:"anonymizeForm",options:{}}]]),t[20]||(t[20]=s("label",{class:"form-check-label",for:"comments"},"Display comments",-1))]),s("div",RN,[E(s("input",TN,null,512),[[r,{state:e.viewState,set:i=>{e.options.diff=i},value:e.options?.diff,form:"anonymizeForm",options:{}}]]),t[21]||(t[21]=s("label",{class:"form-check-label",for:"diff"},"Display diff",-1))]),s("div",ON,[E(s("input",AN,null,512),[[r,{state:e.viewState,set:i=>{e.options.origin=i},value:e.options?.origin,form:"anonymizeForm",options:{}}]]),t[22]||(t[22]=s("label",{class:"form-check-label",for:"origin"},"Display the project name",-1))]),s("div",IN,[E(s("input",VN,null,512),[[r,{state:e.viewState,set:i=>{e.options.title=i},value:e.options?.title,form:"anonymizeForm",options:{}}]]),t[23]||(t[23]=s("label",{class:"form-check-label",for:"title"},"Display the PR title",-1))]),s("div",PN,[E(s("input",qN,null,512),[[r,{state:e.viewState,set:i=>{e.options.body=i},value:e.options?.body,form:"anonymizeForm",options:{}}]]),t[24]||(t[24]=s("label",{class:"form-check-label",for:"body"},"Display the PR body and comment bodies",-1))])])])])])])],512),[[B,e.pullRequestUrl]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,MN)):f("v-if",!0),E(s("div",$N,[e.isUpdate?f("v-if",!0):(l(),d("button",{key:0,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[0]||(t[0]=ke(i=>e.submitForm(i,()=>{e.anonymizePullRequest(i)}),["prevent"]))},[...t[28]||(t[28]=[s("i",{class:"fas fa-user-secret mr-1"},null,-1),y(" Anonymize ",-1)])])),e.isUpdate?(l(),d("button",{key:1,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[1]||(t[1]=ke(i=>e.submitForm(i,()=>{e.updatePullRequest(i)}),["prevent"]))},[...t[29]||(t[29]=[s("i",{class:"fas fa-save mr-1"},null,-1),y(" Update ",-1)])])):f("v-if",!0)],512),[[B,e.pullRequestUrl]])],2)),[[n,e.viewState]])],2)]),e.details?(l(),d("div",UN,[s("div",LN,[s("h2",FN,[e.options?.title?(l(),d("span",zN,c(e.anonymize(e.details?.pullRequest?.title)),1)):f("v-if",!0),s("span",{class:O(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,HN)):f("v-if",!0)]),e.options?.origin?(l(),d("small",BN,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",GN,[Re(o,{content:e.anonymize(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),s("ul",jN,[e.options?.diff?(l(),d("li",WN,[...t[31]||(t[31]=[s("button",{class:"nav-link active",id:"pills-diff-tab","data-toggle":"pill","data-target":"#pills-diff",type:"button",role:"tab","aria-controls":"pills-diff","aria-selected":"true"}," Diff ",-1)])])):f("v-if",!0),e.options?.comments?(l(),d("li",KN,[s("button",{class:O(["nav-link",{active:!e.options?.diff}]),id:"pills-comments-tab","data-toggle":"pill","data-target":"#pills-comments",type:"button",role:"tab","aria-controls":"pills-comments","aria-selected":"false"},[s("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comment",one:"One Comment",other:"{} Comments"}))},null,8,YN)],2)])):f("v-if",!0)]),s("div",JN,[s("div",QN,[e.options?.diff?(l(),d("div",XN,[s("pre",ZN,[s("code",{innerHTML:e.sanitize(e.fmt?.diff(e.anonymize(e.details?.pullRequest?.diff)))},null,8,xN)])])):f("v-if",!0)]),s("div",{class:O(["tab-pane",{"show active":!e.options?.diff}]),id:"pills-comments",role:"tabpanel","aria-labelledby":"pills-comments-tab"},[e.options?.comments?(l(),d("ul",eS,[(l(!0),d(J,null,ne(e.details?.pullRequest?.comments,(i,a)=>(l(),d("li",tS,[s("div",sS,[e.options?.username?(l(),d("h5",nS," @"+c(e.anonymize(i?.author)),1)):f("v-if",!0),e.options?.date?(l(),d("small",{key:1,textContent:c(e.fmt?.date(i?.updatedDate))},null,8,oS)):f("v-if",!0)]),s("p",rS,[e.options?.body?(l(),_s(o,{key:0,class:"pr-comment-body",content:e.anonymize(i?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])):f("v-if",!0)])]))),256))])):f("v-if",!0)],2)])])):f("v-if",!0)])])}var iS={class:"container paper-page"},aS={class:"paper-settings-main claim-form"},lS={class:"form-group"},dS={class:"invalid-feedback"},uS={class:"form-group"};function rl(e,t){let o=we("field"),r=we("form");return l(),d("div",iS,[t[6]||(t[6]=be('
My work \xA0/\xA0 Claim

Claim an anonymization

Take ownership of an existing anonymized repository so it appears on your dashboard.

',3)),s("div",aS,[t[5]||(t[5]=s("p",{class:"paper-section-copy"},"Use this when an anonymization was created by a co-author or from another account. You must have access to the GitHub repository it was made from.",-1)),E((l(),d("form",{class:"form needs-validation",name:"claimForm",novalidate:"",onSubmit:t[0]||(t[0]=ke(n=>e.submitForm(n,()=>{e.claim()}),["prevent"]))},[s("div",lS,[t[1]||(t[1]=s("label",{class:"paper-field-label",for:"repoUrl"},"GitHub repository URL",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.claimForm?.repoUrl?.invalid&&(e.claimForm?.repoUrl?.touched||e.claimForm?.submitted)}]),name:"repoUrl",id:"repoUrl",required:""},null,2),[[o,{state:e.viewState,set:n=>{e.repoUrl=n},value:e.repoUrl,form:"claimForm",options:{}}]]),E(s("div",dS," No anonymization matches this repository and ID. Check both values and that you can access the repository on GitHub. ",512),[[B,e.claimForm?.repoUrl?.errors?.not_found]])]),s("div",uS,[t[2]||(t[2]=s("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.claimForm?.repoId?.invalid&&(e.claimForm?.repoId?.touched||e.claimForm?.submitted)}]),name:"repoId",id:"repoId",required:""},null,2),[[o,{state:e.viewState,set:n=>{e.repoId=n},value:e.repoId,form:"claimForm",options:{}}]]),t[3]||(t[3]=s("small",{id:"idHelp",class:"form-text text-muted"},[y("The ID is the last part of the anonymized URL: "),s("code",null,"anonymous.4open.science/r/"),y(".")],-1))]),t[4]||(t[4]=s("button",{id:"submit",type:"submit",class:"btn btn-ink"}," Claim anonymization ",-1))],32)),[[r,e.viewState]])])])}var cS={class:"container page paper-page"},pS={class:"paper-crumbs"},fS={class:"here"},mS={class:"d-flex align-items-end flex-wrap",style:{gap:"12px","justify-content":"space-between"}},hS=["textContent"],vS={key:0,class:"paper-page-lede"},yS=["textContent","href"],gS={class:"d-flex align-items-center flex-wrap",style:{gap:"10px"}},bS=["textContent"],wS=["href"],kS={class:"paper-meta-rule"},_S=["textContent"],ES=["textContent"],CS={key:0},NS={class:"search-wrap"},SS={type:"search",id:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search by ID or source repository\u2026",autocomplete:"off"},DS={class:"dashboard-filter-controls"},RS={class:"dropdown"},TS={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},OS={class:"filter-btn-value"},AS={class:"dropdown-menu","aria-labelledby":"dropdownSort"},IS={class:"form-check dropdown-item"},VS={class:"form-check-input",type:"radio",name:"sort",id:"anonymizeDate",value:"-anonymizeDate"},PS={class:"form-check dropdown-item"},qS={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"repoId"},MS={class:"form-check dropdown-item"},$S={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},US={class:"form-check dropdown-item"},LS={class:"form-check-input",type:"radio",name:"sort",id:"sortViews",value:"-pageView"},FS={class:"dropdown"},zS={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},HS={key:0,class:"filter-btn-value"},BS={key:1,class:"filter-btn-value"},GS={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},jS={class:"form-check dropdown-item"},WS=["id"],KS=["for"],YS={class:"dashboard-meta"},JS={class:"dashboard-count"},QS={key:0},XS={key:0},ZS={key:1},xS={key:1},e2={key:0,class:"filter-chip"},t2=["onClick","aria-label"],s2={class:"paper-table paper-table-repos w-100",role:"table","aria-label":"Repositories"},n2={class:"cell-anon",role:"cell"},o2={class:"anon-text"},r2=["textContent","href"],i2={class:"anon-sub"},a2={class:"anon-source"},l2=["textContent","href"],d2={key:0},u2=["textContent","href"],c2={key:1},p2=["href"],f2={class:"cell-status",role:"cell"},m2={class:"status-line"},h2=["textContent"],v2={key:0,class:"status-sub"},y2=["textContent"],g2={class:"cell-expires",role:"cell"},b2={key:0,class:"expires-never"},w2=["textContent"],k2={key:2,class:"expires-past"},_2={key:0},E2={key:3,class:"empty-dash","aria-label":"Not applicable"},C2={class:"cell-actions",role:"cell"},N2={class:"dropdown"},S2=["aria-label"],D2={class:"dropdown-menu dropdown-menu-right"},R2=["href"],T2=["href"],O2={key:0,class:"paper-table-empty"},A2={key:0},I2={key:1},V2={key:2,class:"paper-table-empty-actions"};function il(e,t){let o=we("field"),r=we("form");return l(),d("div",cS,[s("div",null,[s("div",pS,[t[2]||(t[2]=s("a",{href:"/dashboard"},"My work",-1)),t[3]||(t[3]=y(" \xA0/\xA0 ",-1)),t[4]||(t[4]=s("a",{href:"/conferences"},"Conferences",-1)),t[5]||(t[5]=y(" \xA0/\xA0 ",-1)),s("span",fS,c(e.conference?.conferenceID),1)]),s("div",mS,[s("div",null,[s("h1",{class:"paper-page-title",textContent:c(e.conference?.name)},null,8,hS),e.conference?.url?(l(),d("p",vS,[s("a",{target:"_blank",rel:"noopener",textContent:c(e.conference?.url),href:e.safeUrl(e.conference?.url)},null,8,yS)])):f("v-if",!0)]),s("div",gS,[s("span",{class:O(["status-pill",{"status-pill-ready":e.conference?.status=="ready","status-pill-removed":e.conference?.status=="removed"||e.conference?.status=="expired"}])},[s("span",{class:O(["status-dot","status-"+e.conference?.status]),"aria-hidden":"true"},null,2),s("span",{textContent:c(e.fmt?.statusLabel(e.conference?.status))},null,8,bS)],2),s("a",{class:"btn btn-outline-ink",href:e.safeUrl("/conference/"+e.conference?.conferenceID+"/edit")},[...t[6]||(t[6]=[s("i",{class:"far fa-edit mr-1","aria-hidden":"true"},null,-1),y(" Edit conference",-1)])],8,wS)])]),s("div",kS,[s("span",null,[t[7]||(t[7]=y("ID ",-1)),s("b",{class:"commit-hash",textContent:c(e.conference?.conferenceID)},null,8,_S)]),s("span",null,[t[8]||(t[8]=y("Review window ",-1)),s("b",null,c(e.fmt?.date(e.conference?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(e.conference?.endDate,"mediumDate")),1)]),s("span",null,[t[9]||(t[9]=y("Repositories ",-1)),s("b",null,c(e.fmt?.number(e.conference?.repositories?.length)),1)]),s("span",null,[t[10]||(t[10]=y("Plan ",-1)),s("b",{textContent:c(e.conference?.plan?.name||e.conference?.plan?.planID||"Free")},null,8,ES)]),e.conference?.price?(l(),d("span",CS,[t[11]||(t[11]=y("Cost so far ",-1)),s("b",null,c(e.fmt?.number(e.conference?.price,2))+" \u20AC",1)])):f("v-if",!0)]),t[29]||(t[29]=s("div",{class:"paper-section-eyebrow"},"Repositories",-1)),E((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter repositories","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=ke(n=>e.submitForm(n,()=>{n.preventDefault()}),["prevent"]))},[s("div",NS,[E(s("input",SS,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",DS,[s("div",RS,[s("button",TS,[t[12]||(t[12]=s("span",{class:"filter-btn-label"},"Sort",-1)),s("span",OS,c({"-anonymizeDate":"Anonymize date",repoId:"ID","-status":"Status","-pageView":"Views"}[e.orderBy]||"Custom"),1)]),s("div",AS,[t[17]||(t[17]=s("h6",{class:"dropdown-header"},"Order by",-1)),s("div",IS,[E(s("input",VS,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[13]||(t[13]=s("label",{class:"form-check-label",for:"anonymizeDate"},"Anonymize date",-1))]),s("div",PS,[E(s("input",qS,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[14]||(t[14]=s("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),s("div",MS,[E(s("input",$S,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[15]||(t[15]=s("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),s("div",US,[E(s("input",LS,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[16]||(t[16]=s("label",{class:"form-check-label",for:"sortViews"},"Views",-1))])])]),s("div",FS,[s("button",zS,[t[18]||(t[18]=s("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",HS,"All")):f("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?f("v-if",!0):(l(),d("span",BS,c((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),s("div",GS,[t[19]||(t[19]=s("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(J,null,ne(e.statusLabels,(n,i,a)=>(l(),d("div",jS,[E(s("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,WS),[[o,{state:e.viewState,set:u=>{e.filters.status[i]=u},value:e.filters?.status[i],form:null,options:{}}]]),s("label",{class:"form-check-label",for:"status-"+i},c(n),9,KS)]))),256))])])])],32)),[[r,e.viewState]]),s("div",YS,[s("span",JS,[e.filteredRepositories?.length===e.conference?.repositories?.length?(l(),d("span",QS,[y(c(e.fmt?.number(e.conference?.repositories?.length))+" repositor",1),e.conference?.repositories?.length===1?(l(),d("span",XS,"y")):f("v-if",!0),e.conference?.repositories?.length!==1?(l(),d("span",ZS,"ies")):f("v-if",!0)])):f("v-if",!0),e.filteredRepositories?.length!==e.conference?.repositories?.length?(l(),d("span",xS,c(e.fmt?.number(e.filteredRepositories?.length))+" of "+c(e.fmt?.number(e.conference?.repositories?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>(l(),d(J,null,[n===!1?(l(),d("span",e2,[y(" Hiding "+c(e.statusLabels[i])+" ",1),s("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,t2)])):f("v-if",!0)],64))),256))]),s("div",s2,[t[28]||(t[28]=s("div",{class:"paper-table-head",role:"row"},[s("div",{role:"columnheader"},"Repository"),s("div",{role:"columnheader"},"Status"),s("div",{role:"columnheader",class:"num"},"Views"),s("div",{role:"columnheader"},"Expires"),s("div",{role:"columnheader"},[s("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(J,null,ne(e.filteredRepositories,(n,i)=>(l(),d("div",{class:O(["paper-table-row",{"repo-inactive":n?.status=="expired"||n?.status=="removed","repo-error":n?.status=="error"}]),role:"row",key:n?.repoId},[s("div",n2,[t[22]||(t[22]=s("span",{class:"type-badge type-repo"},"Repo",-1)),s("div",o2,[s("a",{class:"repo-name",textContent:c(n?.repoId),href:e.safeUrl("/r/"+n?.repoId+"/")},null,8,r2),s("div",i2,[s("span",a2,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.fullName),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/")},null,8,l2),n?.options?.update&&n?.source?.branch?(l(),d("span",d2,[t[20]||(t[20]=y(" \xB7 ",-1)),s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,u2)])):f("v-if",!0),n?.source?.commit?(l(),d("span",c2,[t[21]||(t[21]=y(" \xB7 ",-1)),s("a",{class:"commit-hash",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},"@"+c(n?.source?.commit?.substring(0,8)),9,p2)])):f("v-if",!0)])])])]),s("div",f2,[s("div",m2,[s("span",{class:O(["status-dot","status-"+(n?.status=="error"?"error":n?.status=="ready"?"ready":n?.status=="expired"||n?.status=="removed"?n?.status:"progress")]),"aria-hidden":"true"},null,2),s("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(n?.status))},null,8,h2)]),n?.anonymizeDate?(l(),d("div",v2,"anonymized "+c(e.fmt?.humanTime(n?.anonymizeDate)),1)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView))},null,8,y2),s("div",g2,[n?.status=="ready"&&(n?.options?.expirationMode==="never"||!n?.options?.expirationDate)?(l(),d("span",b2,"Never")):f("v-if",!0),n?.status=="ready"&&n?.options?.expirationMode!=="never"&&n?.options?.expirationDate?(l(),d("span",{key:1,textContent:c(e.fmt?.humanTime(n?.options?.expirationDate))},null,8,w2)):f("v-if",!0),n?.status=="expired"?(l(),d("span",k2,[t[23]||(t[23]=y("Expired",-1)),n?.options?.expirationDate?(l(),d("span",_2,c(e.fmt?.humanTime(n?.options?.expirationDate)),1)):f("v-if",!0)])):f("v-if",!0),n?.status!="ready"&&n?.status!="expired"?(l(),d("span",E2,"\u2014")):f("v-if",!0)]),s("div",C2,[s("div",N2,[s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+n?.repoId},[...t[24]||(t[24]=[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"},null,-1)])],8,S2),s("div",D2,[s("a",{class:"dropdown-item",href:e.safeUrl("/r/"+n?.repoId+"/")},[...t[25]||(t[25]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View ",-1)])],8,R2),s("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+n?.repoId)},[...t[26]||(t[26]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,T2)])])])],2))),128)),e.filteredRepositories?.length==0?(l(),d("div",O2,[t[27]||(t[27]=s("i",{class:"fas fa-inbox","aria-hidden":"true"},null,-1)),e.conference?.repositories?.length?f("v-if",!0):(l(),d("span",A2,"No repository has been submitted to this conference yet.")),e.conference?.repositories?.length?(l(),d("span",I2,"Nothing matches the current filters.")):f("v-if",!0),e.conference?.repositories?.length?(l(),d("div",V2,[s("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=n=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")])):f("v-if",!0)])):f("v-if",!0)])])])}var P2={class:"container page paper-page"},q2={class:"row"},M2={class:"w-100"},$2={class:"search-wrap"},U2={type:"search",id:"search",class:"form-control","aria-label":"Search conferences",placeholder:"Search by name or ID\u2026",autocomplete:"off"},L2={class:"dashboard-filter-controls"},F2={class:"dropdown"},z2={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},H2={class:"filter-btn-value"},B2={class:"dropdown-menu","aria-labelledby":"dropdownSort"},G2={class:"form-check dropdown-item"},j2={class:"form-check-input",type:"radio",name:"sort",id:"sortName",value:"name"},W2={class:"form-check dropdown-item"},K2={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"conferenceID"},Y2={class:"form-check dropdown-item"},J2={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},Q2={class:"dropdown"},X2={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},Z2={key:0,class:"filter-btn-value"},x2={key:1,class:"filter-btn-value"},eD={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},tD={class:"form-check dropdown-item"},sD=["id"],nD=["for"],oD={class:"dashboard-meta"},rD={class:"dashboard-count"},iD={key:0},aD={key:0},lD={key:1},dD={key:0,class:"filter-chip"},uD=["onClick","aria-label"],cD={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},pD={class:"cell-anon",role:"cell"},fD={class:"anon-text"},mD=["textContent","href"],hD={class:"anon-sub"},vD={class:"anon-source"},yD=["textContent"],gD={key:0},bD=["textContent","href"],wD={class:"cell-status",role:"cell"},kD={class:"status-line"},_D=["textContent"],ED=["textContent"],CD={class:"cell-expires",role:"cell"},ND={key:0},SD={key:1,class:"empty-dash","aria-label":"No review window"},DD={class:"cell-actions",role:"cell"},RD={class:"dropdown"},TD=["aria-label"],OD={class:"dropdown-menu dropdown-menu-right"},AD=["href"],ID=["href"],VD={key:0},PD=["onClick"],qD={key:0,class:"paper-table-empty"},MD={key:0},$D={key:1},UD={class:"paper-table-empty-actions"},LD={key:1,href:"/conference/new",class:"btn btn-ink"};function al(e,t){let o=we("field"),r=we("form");return l(),d("div",P2,[s("div",q2,[s("div",M2,[t[9]||(t[9]=be('
My work \xA0/\xA0 Conferences

Your conferences

Group anonymizations by venue, give chairs a shared dashboard, and set one expiry for every submission.

New conference
',2)),E((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter conferences","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=ke(n=>e.submitForm(n,()=>{n.preventDefault()}),["prevent"]))},[s("div",$2,[E(s("input",U2,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",L2,[s("div",F2,[s("button",z2,[t[2]||(t[2]=s("span",{class:"filter-btn-label"},"Sort",-1)),s("span",H2,c({name:"Name",conferenceID:"ID","-status":"Status"}[e.orderBy]||"Custom"),1)]),s("div",B2,[t[6]||(t[6]=s("h6",{class:"dropdown-header"},"Order by",-1)),s("div",G2,[E(s("input",j2,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=s("label",{class:"form-check-label",for:"sortName"},"Name",-1))]),s("div",W2,[E(s("input",K2,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=s("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),s("div",Y2,[E(s("input",J2,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[5]||(t[5]=s("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))])])]),s("div",Q2,[s("button",X2,[t[7]||(t[7]=s("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",Z2,"All")):f("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?f("v-if",!0):(l(),d("span",x2,c((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),s("div",eD,[t[8]||(t[8]=s("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(J,null,ne(e.statusLabels,(n,i,a)=>(l(),d("div",tD,[E(s("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,sD),[[o,{state:e.viewState,set:u=>{e.filters.status[i]=u},value:e.filters?.status[i],form:null,options:{}}]]),s("label",{class:"form-check-label",for:"status-"+i},c(n),9,nD)]))),256))])])])],32)),[[r,e.viewState]]),s("div",oD,[s("span",rD,[e.filteredConferences?.length===e.conferences?.length?(l(),d("span",iD,[y(c(e.fmt?.number(e.conferences?.length))+" conference",1),e.conferences?.length!==1?(l(),d("span",aD,"s")):f("v-if",!0)])):f("v-if",!0),e.filteredConferences?.length!==e.conferences?.length?(l(),d("span",lD,c(e.fmt?.number(e.filteredConferences?.length))+" of "+c(e.fmt?.number(e.conferences?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>(l(),d(J,null,[n===!1?(l(),d("span",dD,[y(" Hiding "+c(e.statusLabels[i])+" ",1),s("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,uD)])):f("v-if",!0)],64))),256))])]),s("div",cD,[t[20]||(t[20]=s("div",{class:"paper-table-head",role:"row"},[s("div",{role:"columnheader"},"Conference"),s("div",{role:"columnheader"},"Status"),s("div",{role:"columnheader",class:"num"},"Repos"),s("div",{role:"columnheader"},"Review window"),s("div",{role:"columnheader"},[s("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(J,null,ne(e.filteredConferences,(n,i)=>(l(),d("div",{class:O(["paper-table-row row-clickable",{"repo-inactive":n?.status=="expired"||n?.status=="removed"}]),role:"row",key:n?.conferenceID},[s("div",pD,[t[12]||(t[12]=s("span",{class:"type-badge type-repo"},"Conf",-1)),s("div",fD,[s("a",{class:"repo-name",textContent:c(n?.name),href:e.safeUrl("/conference/"+n?.conferenceID)},null,8,mD),s("div",hD,[s("span",vD,[t[11]||(t[11]=y("ID ",-1)),s("span",{class:"commit-hash",textContent:c(n?.conferenceID)},null,8,yD),n?.url?(l(),d("span",gD,[t[10]||(t[10]=y(" \xB7 ",-1)),s("a",{target:"_blank",rel:"noopener",textContent:c(e.fmt?.limitTo(n?.url,60)),href:e.safeUrl(n?.url)},null,8,bD)])):f("v-if",!0)])])])]),s("div",wD,[s("div",kD,[s("span",{class:O(["status-dot","status-"+n?.status]),"aria-hidden":"true"},null,2),s("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(n?.status))},null,8,_D)])]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.nbRepositories||0))},null,8,ED),s("div",CD,[n?.startDate?(l(),d("span",ND,c(e.fmt?.date(n?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(n?.endDate,"mediumDate")),1)):f("v-if",!0),n?.startDate?f("v-if",!0):(l(),d("span",SD,"\u2014"))]),s("div",DD,[s("div",RD,[s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+n?.name},[...t[13]||(t[13]=[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"},null,-1)])],8,TD),s("div",OD,[s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/")},[...t[14]||(t[14]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View ",-1)])],8,AD),s("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+n?.conferenceID+"/edit")},[...t[15]||(t[15]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,ID),n?.status!="removed"?(l(),d("div",VD,[t[17]||(t[17]=s("div",{class:"dropdown-divider"},null,-1)),s("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeConference(n)},[...t[16]||(t[16]=[s("i",{class:"fas fa-trash-alt","aria-hidden":"true"},null,-1),y(" Remove ",-1)])],8,PD)])):f("v-if",!0)])])])],2))),128)),e.filteredConferences?.length==0?(l(),d("div",qD,[t[19]||(t[19]=s("i",{class:"fas fa-inbox","aria-hidden":"true"},null,-1)),e.conferences?.length==0?(l(),d("span",MD,"You have not created a conference yet.")):f("v-if",!0),e.conferences?.length>0?(l(),d("span",$D,"Nothing matches the current filters.")):f("v-if",!0),s("div",UD,[e.conferences?.length>0?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=n=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")):f("v-if",!0),e.conferences?.length==0?(l(),d("a",LD,[...t[18]||(t[18]=[s("i",{class:"fa fa-plus-circle mr-1","aria-hidden":"true"},null,-1),y(" New conference",-1)])])):f("v-if",!0)])])):f("v-if",!0)])])])}var FD={class:"container page dashboard-page paper-page"},zD={class:"row"},HD={class:"w-100"},BD={key:0,class:"quota-row"},GD={class:"quota-item"},jD={class:"quota-header"},WD={class:"quota-label"},KD={key:0,class:"quota-value"},YD={key:0},JD={key:1,class:"quota-unlimited-tag"},QD={key:1,class:"quota-value"},XD={key:0},ZD={key:1,class:"quota-unlimited-tag"},xD=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],eR={class:"search-wrap"},tR={type:"search",id:"search",class:"form-control","aria-label":"Search anonymizations",placeholder:"Search by name, source, or conference\u2026",autocomplete:"off"},sR={class:"dashboard-filter-controls"},nR={class:"btn-group",role:"group","aria-label":"Type"},oR=["aria-pressed"],rR=["aria-pressed"],iR=["aria-pressed"],aR=["aria-pressed"],lR={class:"dropdown"},dR={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},uR={class:"filter-btn-value"},cR={class:"sr-only"},pR={class:"dropdown-menu","aria-labelledby":"dropdownSort"},fR={class:"form-check dropdown-item"},mR=["onClick","checked","id"],hR=["for"],vR={class:"dropdown"},yR={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},gR={key:0,class:"filter-btn-value"},bR={key:1,class:"filter-btn-value"},wR={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},kR={class:"form-check dropdown-item"},_R=["id"],ER=["for"],CR={key:1,class:"dashboard-meta"},NR={class:"dashboard-count"},SR={key:0},DR={key:0},RR={key:1},TR={key:0,class:"filter-chip"},OR=["onClick","aria-label"],AR=["aria-busy"],IR={class:"paper-table-head",role:"row"},VR=["aria-sort"],PR=["aria-sort"],qR=["aria-sort"],MR=["aria-sort"],$R={key:0,class:"paper-table-row paper-table-skeleton",role:"row","aria-hidden":"true"},UR=["onClick"],LR={class:"cell-anon",role:"cell"},FR={class:"anon-text"},zR={class:"anon-title"},HR=["textContent","href"],BR=["textContent"],GR={key:2,class:"type-badge type-coauthor",title:"You are a co-author on this anonymization"},jR={key:0,class:"anon-sub"},WR={key:0,class:"anon-source"},KR=["textContent","href"],YR={key:0},JR=["textContent","href"],QR={key:1},XR=["href"],ZR={key:1,class:"anon-source"},xR=["textContent","href"],eT={key:2,class:"anon-source"},tT=["textContent","href"],sT=["title"],nT=["textContent"],oT={class:"cell-status",role:"cell"},rT={class:"status-line"},iT=["textContent"],aT=["textContent","title"],lT=["title"],dT={key:2,class:"status-sub"},uT=["textContent"],cT={class:"cell-expires",role:"cell"},pT={key:0,class:"expires-never"},fT=["textContent"],mT={key:2,class:"expires-past"},hT={key:3,class:"expires-past"},vT={key:4,class:"empty-dash","aria-label":"Not applicable"},yT={class:"cell-actions",role:"cell"},gT={key:0,class:"dropdown"},bT=["aria-label"],wT={class:"dropdown-menu dropdown-menu-right"},kT=["href"],_T=["href"],ET=["href"],CT=["onClick"],NT=["onClick"],ST=["onClick"],DT={key:4},RT=["onClick"],TT={key:0,class:"paper-table-empty"},OT={key:0},AT={key:1},IT={class:"paper-table-empty-actions"},VT={key:1,href:"/anonymize",class:"btn btn-ink"};function ll(e,t){let o=we("field"),r=we("form");return l(),d("div",FD,[s("div",zD,[s("div",HD,[t[18]||(t[18]=be('
My work \xA0/\xA0 Dashboard

Your anonymizations

Every repository, pull request, and gist you\u2019ve mirrored, with live status and stats.

',2)),f(" Quota "),e.quota?(l(),d("div",BD,[(l(),d(J,null,ne([{key:"repository",label:"Repositories",kind:"count"},{key:"storage",label:"Storage",kind:"bytes"},{key:"file",label:"Files",kind:"count"}],(n,i)=>s("div",GD,[s("div",jD,[s("span",WD,c(n?.label),1),n?.kind==="count"?(l(),d("span",KD,[y(c(e.fmt?.number(e.quota[n?.key].used)),1),e.quota[n?.key].unlimited?f("v-if",!0):(l(),d("span",YD," / "+c(e.fmt?.number(e.quota[n?.key].total)),1)),e.quota[n?.key].unlimited?(l(),d("span",JD,"Unlimited")):f("v-if",!0)])):f("v-if",!0),n?.kind==="bytes"?(l(),d("span",QD,[y(c(e.fmt?.humanFileSize(e.quota[n?.key].used)),1),e.quota[n?.key].unlimited?f("v-if",!0):(l(),d("span",XD," / "+c(e.fmt?.humanFileSize(e.quota[n?.key].total)),1)),e.quota[n?.key].unlimited?(l(),d("span",ZD,"Unlimited")):f("v-if",!0)])):f("v-if",!0)]),s("div",{class:O(["quota-track","quota-"+e.quota[n?.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":n?.label+" quota","aria-valuenow":e.quota[n?.key].used,"aria-valuemax":e.quota[n?.key].unlimited?e.quota[n?.key].used:e.quota[n?.key].total,"aria-valuetext":e.quota[n?.key].unlimited?"unlimited":e.fmt.number(e.quota[n?.key].percent,0)+"% used"},[e.quota[n?.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:qe({width:e.quota[n?.key].percent+"%"})},null,4))],10,xD)])),64))])):f("v-if",!0),f(" Search + filters "),E((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter anonymizations","accept-charset":"UTF-8",onSubmit:t[5]||(t[5]=ke(n=>e.submitForm(n,()=>{n.preventDefault()}),["prevent"]))},[s("div",eR,[E(s("input",tR,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",sR,[s("div",nR,[s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="all"}]),onClick:t[0]||(t[0]=n=>e.typeFilter="all"),"aria-pressed":e.typeFilter==="all"},"All",10,oR),s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="repo"}]),onClick:t[1]||(t[1]=n=>e.typeFilter="repo"),"aria-pressed":e.typeFilter==="repo"},"Repos",10,rR),s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="pr"}]),onClick:t[2]||(t[2]=n=>e.typeFilter="pr"),"aria-pressed":e.typeFilter==="pr"},"PRs",10,iR),s("button",{type:"button",class:O(["btn",{"btn-primary":e.typeFilter==="gist"}]),onClick:t[3]||(t[3]=n=>e.typeFilter="gist"),"aria-pressed":e.typeFilter==="gist"},"Gists",10,aR)]),s("div",lR,[s("button",dR,[t[12]||(t[12]=s("span",{class:"filter-btn-label"},"Sort",-1)),s("span",uR,c(e.sortLabel()),1),s("i",{class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2),s("span",cR,c(e.sortDesc()?"descending":"ascending"),1)]),s("div",pR,[t[14]||(t[14]=s("h6",{class:"dropdown-header"},"Order by",-1)),(l(!0),d(J,null,ne(e.sortFields,(n,i,a)=>(l(),d("div",fR,[s("input",{class:"form-check-input",type:"radio",name:"sort",onClick:u=>e.setSort(i,n.defaultDesc),checked:e.isSortedBy(i),id:"sort-"+a},null,8,mR),s("label",{class:"form-check-label",for:"sort-"+a},c(n?.label),9,hR)]))),256)),t[15]||(t[15]=s("div",{class:"dropdown-divider"},null,-1)),s("button",{type:"button",class:"dropdown-item",onClick:t[4]||(t[4]=n=>e.toggleSortDirection())},[t[13]||(t[13]=s("i",{class:"fas fa-exchange-alt fa-rotate-90","aria-hidden":"true"},null,-1)),y(" "+c(e.sortDesc()?"Switch to ascending":"Switch to descending"),1)])])]),s("div",vR,[s("button",yR,[t[16]||(t[16]=s("span",{class:"filter-btn-label"},"Status",-1)),e.hasHiddenStatus()?f("v-if",!0):(l(),d("span",gR,"All")),e.hasHiddenStatus()?(l(),d("span",bR,c(e.hiddenStatusCount())+" hidden",1)):f("v-if",!0)]),s("div",wR,[t[17]||(t[17]=s("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(J,null,ne(e.statusKeyLabels,(n,i,a)=>(l(),d("div",kR,[E(s("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,_R),[[o,{state:e.viewState,set:u=>{e.filters.status[i]=u},value:e.filters?.status[i],form:null,options:{}}]]),s("label",{class:"form-check-label",for:"status-"+i},c(n),9,ER)]))),256))])])])],32)),[[r,e.viewState]]),f(" Result count + active filter chips "),e.loading?f("v-if",!0):(l(),d("div",CR,[s("span",NR,[e.filteredItems?.length===e.items?.length?(l(),d("span",SR,[y(c(e.fmt?.number(e.items?.length))+" anonymization",1),e.items?.length!==1?(l(),d("span",DR,"s")):f("v-if",!0)])):f("v-if",!0),e.filteredItems?.length!==e.items?.length?(l(),d("span",RR,c(e.fmt?.number(e.filteredItems?.length))+" of "+c(e.fmt?.number(e.items?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>(l(),d(J,null,[n===!1?(l(),d("span",TR,[y(" Hiding "+c(e.statusKeyLabels[i])+" ",1),s("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusKeyLabels[i]+" again"},"\xD7",8,OR)])):f("v-if",!0)],64))),256)),e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn-link-inline",onClick:t[6]||(t[6]=n=>e.clearFilters())},"Clear filters")):f("v-if",!0)]))]),f(" Table "),s("div",{class:"paper-table paper-table-dashboard w-100",role:"table","aria-label":"Anonymizations","aria-busy":e.loading},[s("div",IR,[s("div",{role:"columnheader","aria-sort":e.isSortedBy("_name")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("_name")}]),onClick:t[7]||(t[7]=n=>e.setSort("_name"))},[t[19]||(t[19]=y(" Anonymization ",-1)),e.isSortedBy("_name")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,VR),s("div",{role:"columnheader","aria-sort":e.isSortedBy("status")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("status")}]),onClick:t[8]||(t[8]=n=>e.setSort("status"))},[t[20]||(t[20]=y(" Status ",-1)),e.isSortedBy("status")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,PR),s("div",{role:"columnheader",class:"num","aria-sort":e.isSortedBy("pageView")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("pageView")}]),onClick:t[9]||(t[9]=n=>e.setSort("pageView"))},[t[21]||(t[21]=y(" Views ",-1)),e.isSortedBy("pageView")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,qR),s("div",{role:"columnheader","aria-sort":e.isSortedBy("options.expirationDate")?e.sortDesc()?"descending":"ascending":"none"},[s("button",{type:"button",class:O(["sortable",{active:e.isSortedBy("options.expirationDate")}]),onClick:t[10]||(t[10]=n=>e.setSort("options.expirationDate"))},[t[22]||(t[22]=y(" Expires ",-1)),e.isSortedBy("options.expirationDate")?(l(),d("i",{key:0,class:O(["fas",e.sortDesc()?"fa-arrow-down":"fa-arrow-up"]),"aria-hidden":"true"},null,2)):f("v-if",!0)],2)],8,MR),t[23]||(t[23]=s("div",{role:"columnheader"},[s("span",{class:"sr-only"},"Actions")],-1))]),f(" Loading skeleton: keeps the layout stable while the three lists load "),(l(),d(J,null,ne([1,2,3,4],(n,i)=>(l(),d(J,null,[e.loading?(l(),d("div",$R,[...t[24]||(t[24]=[s("div",{class:"cell-anon",role:"cell"},[s("span",{class:"skeleton skeleton-badge"}),s("div",{class:"anon-text"},[s("span",{class:"skeleton skeleton-line",style:{width:"38%"}}),s("span",{class:"skeleton skeleton-line skeleton-line-sm",style:{width:"56%"}})])],-1),s("div",{class:"cell-status",role:"cell"},[s("span",{class:"skeleton skeleton-line",style:{width:"60%"}})],-1),s("div",{class:"cell-views num",role:"cell"},[s("span",{class:"skeleton skeleton-line",style:{width:"40%"}})],-1),s("div",{class:"cell-expires",role:"cell"},[s("span",{class:"skeleton skeleton-line",style:{width:"55%"}})],-1),s("div",{class:"cell-actions",role:"cell"},null,-1)])])):f("v-if",!0)],64))),64)),(l(!0),d(J,null,ne(e.filteredItems,(n,i)=>(l(),d(J,{key:n?._type+":"+(n?._id||i)},[e.loading?f("v-if",!0):(l(),d("div",{key:0,class:O(["paper-table-row",{"repo-inactive":n?._statusKey=="expired"||n?._statusKey=="removed","repo-error":n?.status=="error","row-clickable":!!n?._viewUrl}]),role:"row",onClick:a=>e.openItem(n,a)},[s("div",LR,[s("span",{class:O(["type-badge",{"type-repo":n?._type==="repo","type-pr":n?._type==="pr","type-gist":n?._type==="gist"}])},c(n?._type==="repo"?"Repo":n?._type==="pr"?"PR":"Gist"),3),s("div",FR,[s("div",zR,[n?._viewUrl?(l(),d("a",{key:0,class:"repo-name",textContent:c(n?._name),href:e.safeUrl(n?._viewUrl)},null,8,HR)):f("v-if",!0),n?._viewUrl?f("v-if",!0):(l(),d("span",{key:1,class:"repo-name repo-name-static",textContent:c(n?._name)},null,8,BR)),n?.role==="coauthor"?(l(),d("span",GR,"Co-author")):f("v-if",!0)]),!n?._broken||n?.conference?(l(),d("div",jR,[n?._type==="repo"&&n?.source?.fullName&&!n?._broken?(l(),d("span",WR,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.fullName),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/")},null,8,KR),n?.options?.update&&n?.source?.branch?(l(),d("span",YR,[t[25]||(t[25]=y(" \xB7 ",-1)),s("a",{target:"_blank",rel:"noopener",textContent:c(n?.source?.branch),href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.branch)},null,8,JR)])):f("v-if",!0),n?.source?.commit?(l(),d("span",QR,[t[26]||(t[26]=y(" \xB7 ",-1)),s("a",{class:"commit-hash",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+n?.source?.fullName+"/tree/"+n?.source?.commit)},"@"+c(n?.source?.commit?.substring(0,8)),9,XR)])):f("v-if",!0)])):f("v-if",!0),n?._type==="pr"&&n?.source?.repositoryFullName&&!n?._broken?(l(),d("span",ZR,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?._source),href:e.safeUrl("https://github.com/"+n?.source?.repositoryFullName+"/pull/"+n?.source?.pullRequestId)},null,8,xR)])):f("v-if",!0),n?._type==="gist"&&n?.source?.gistId&&!n?._broken?(l(),d("span",eT,[s("a",{target:"_blank",rel:"noopener",textContent:c(n?._source),href:e.safeUrl("https://gist.github.com/"+n?.source?.gistId)},null,8,tT)])):f("v-if",!0),n?.conference?(l(),d("span",{key:3,class:"cell-conf conf-tag",title:n?.conference},[t[27]||(t[27]=s("i",{class:"fas fa-university","aria-hidden":"true"},null,-1)),t[28]||(t[28]=y()),s("span",{textContent:c(n?.conference)},null,8,nT)],8,sT)):f("v-if",!0)])):f("v-if",!0)])]),s("div",oT,[s("div",rT,[s("span",{class:O(["status-dot","status-"+n?._statusKey]),"aria-hidden":"true"},null,2),s("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(n?.status))},null,8,iT)]),n?.status=="error"&&n?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:c(e.fmt?.statusMsg(n?.statusMessage)),title:n?.statusMessage},null,8,aT)):f("v-if",!0),n?._stale?(l(),d("div",{key:1,class:"status-sub status-sub-warn",title:"Last activity "+e.fmt?.humanTime(n?.anonymizeDate||n?.lastView)}," Last activity "+c(e.fmt?.humanTime(n?.anonymizeDate||n?.lastView))+" \xB7 may be stuck ",9,lT)):f("v-if",!0),n?.status!="error"&&!n?._stale&&n?.anonymizeDate?(l(),d("div",dT," anonymized "+c(e.fmt?.humanTime(n?.anonymizeDate)),1)):f("v-if",!0)]),s("div",{class:"cell-views num",role:"cell",textContent:c(e.fmt?.number(n?.pageView))},null,8,uT),s("div",cT,[n?._expiry?.kind==="never"?(l(),d("span",pT,"Never")):f("v-if",!0),n?._expiry?.kind==="date"?(l(),d("span",{key:1,textContent:c(e.fmt?.humanTime(n?._expiry?.date))},null,8,fT)):f("v-if",!0),n?._expiry?.kind==="expired"&&n?._expiry?.date?(l(),d("span",mT,"Expired "+c(e.fmt?.humanTime(n?._expiry?.date)),1)):f("v-if",!0),n?._expiry?.kind==="expired"&&!n?._expiry?.date?(l(),d("span",hT,"Expired")):f("v-if",!0),n?._expiry?.kind==="none"?(l(),d("span",vT,"\u2014")):f("v-if",!0)]),s("div",yT,[n?._broken?f("v-if",!0):(l(),d("div",gT,[s("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+n?._name},[...t[29]||(t[29]=[s("i",{class:"fas fa-ellipsis-h","aria-hidden":"true"},null,-1)])],8,bT),s("div",wT,[s("a",{class:"dropdown-item",href:e.safeUrl(n?._viewUrl)},[...t[30]||(t[30]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View ",-1)])],8,kT),n?._type==="repo"&&n?.options?.page&&n?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+n?.repoId+"/")},[...t[31]||(t[31]=[s("i",{class:"fas fa-globe","aria-hidden":"true"},null,-1),y(" View page ",-1)])],8,_T)):f("v-if",!0),s("a",{class:"dropdown-item",href:e.safeUrl(n?._editUrl)},[...t[32]||(t[32]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,ET),n?.status=="ready"||n?.status=="error"?(l(),d("button",{key:1,type:"button",class:"dropdown-item",onClick:a=>e.refreshItem(n)},[...t[33]||(t[33]=[s("i",{class:"fas fa-sync","aria-hidden":"true"},null,-1),y(" Force update ",-1)])],8,CT)):f("v-if",!0),n?.status=="removed"?(l(),d("button",{key:2,type:"button",class:"dropdown-item",onClick:a=>e.refreshItem(n)},[...t[34]||(t[34]=[s("i",{class:"fas fa-check-circle","aria-hidden":"true"},null,-1),y(" Enable ",-1)])],8,NT)):f("v-if",!0),n?.status=="expired"?(l(),d("button",{key:3,type:"button",class:"dropdown-item",onClick:a=>e.extendItem(n)},[...t[35]||(t[35]=[s("i",{class:"fas fa-calendar-plus","aria-hidden":"true"},null,-1),y(" Extend 6 months ",-1)])],8,ST)):f("v-if",!0),(n?.status=="ready"||n?.status=="expired"||n?.status=="error")&&n?.role!=="coauthor"?(l(),d("div",DT,[t[37]||(t[37]=s("div",{class:"dropdown-divider"},null,-1)),s("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeItem(n)},[...t[36]||(t[36]=[s("i",{class:"fas fa-trash-alt","aria-hidden":"true"},null,-1),y(" Remove ",-1)])],8,RT)])):f("v-if",!0)])]))])],10,UR))],64))),128)),!e.loading&&e.filteredItems?.length==0?(l(),d("div",TT,[t[39]||(t[39]=s("i",{class:"fas fa-inbox","aria-hidden":"true"},null,-1)),e.items?.length==0?(l(),d("span",OT,"You have no anonymizations yet.")):f("v-if",!0),e.items?.length>0?(l(),d("span",AT,"Nothing matches the current filters.")):f("v-if",!0),s("div",IT,[e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[11]||(t[11]=n=>e.clearFilters())},"Clear filters")):f("v-if",!0),e.items?.length==0?(l(),d("a",VT,[...t[38]||(t[38]=[s("i",{class:"fa fa-plus-circle mr-1","aria-hidden":"true"},null,-1),y(" New anonymization",-1)])])):f("v-if",!0)])])):f("v-if",!0)],8,AR)])])}var PT={class:"explorer-page"},qT=["aria-label"],MT=["textContent"],$T={class:"leftCol-head"},UT={class:"leftCol-search"},LT={class:"tree-search-box"},FT={type:"text",class:"tree-search-input",placeholder:"Search files","aria-label":"Search files"},zT={class:"leftCol-project-header"},HT=["textContent"],BT={class:"project-file-count"},GT={class:"leftCol-body"},jT={key:0,class:"paper-inline-warning",role:"alert"},WT={key:1,class:"paper-inline-warning",role:"alert"},KT={class:"leftCol-foot"},YT=["title"],JT=["title"],QT=["title"],XT={key:2,class:"last-update",title:"Older repositories have no recorded publication date. The source commit date does not establish when files became available here."},ZT={class:"explorer-main"},xT={class:"status-bar"},eO={class:"breadcrumb paths","aria-label":"Path"},tO=["textContent"],sO={class:"status-bar-actions"},nO=["href"],oO={class:"d-none d-md-inline"},rO={class:"d-none d-md-inline"},iO=["href"],aO=["href"],lO=["href"],dO=["href"],uO={class:"explorer-content"};function dl(e,t){let o=tt("tree"),r=tt("partial-view"),n=we("field");return l(),d("div",PT,[E(s("button",{class:"sidebar-toggle",onClick:t[0]||(t[0]=i=>e.sidebarCollapsed=!e.sidebarCollapsed),"aria-label":e.sidebarCollapsed?"Show files":"Hide files"},[s("i",{class:O(["fas",e.sidebarCollapsed?"fa-folder-open":"fa-times"])},null,2),s("span",{textContent:c(e.sidebarCollapsed?"Files":"Close")},null,8,MT)],8,qT),[[B,e.files?.length]]),E(s("div",{class:O(["leftCol",{collapsed:e.sidebarCollapsed}])},[s("div",$T,[t[7]||(t[7]=s("span",{class:"leftCol-eyebrow"},"Files",-1)),s("button",{class:"leftCol-close","aria-label":"Close files",onClick:t[1]||(t[1]=i=>e.sidebarCollapsed=!0)},[...t[6]||(t[6]=[s("i",{class:"fas fa-times"},null,-1)])])]),s("div",UT,[s("div",LT,[s("i",{class:O(["fas tree-search-icon",e.fileSearchLoading?"fa-spinner fa-spin":"fa-search"])},null,2),E(s("input",FT,null,512),[[n,{state:e.viewState,set:i=>{e.fileSearchQuery=i},value:e.fileSearchQuery,form:null,options:{debounce:300},change:()=>{e.onFileSearchChange()}}]]),E(s("kbd",{class:"tree-search-kbd"},c(e.isMac?"\u2318":"Ctrl+")+"K",513),[[B,!e.fileSearchQuery]]),E(s("button",{class:"tree-search-clear","aria-label":"Clear search",onClick:t[2]||(t[2]=i=>{e.fileSearchQuery="",e.onFileSearchChange()})},"\xD7",512),[[B,e.fileSearchQuery]])])]),s("div",zT,[s("span",{class:"project-name",textContent:c(e.repoId)},null,8,HT),s("span",BT,c(e.fileCounts?.[""]||e.files?.length)+" files",1)]),s("div",GT,[e.options?.truncatedFolders?.length>0?(l(),d("div",jT,[t[8]||(t[8]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fmt?.translate("WARNINGS.repo_truncated")),1)])):f("v-if",!0),e.options?.hasSubmodules?(l(),d("div",WT,[t[9]||(t[9]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),y(" "+c(e.fmt?.translate("WARNINGS.submodules_not_included")),1)])):f("v-if",!0),Re(o,{class:"files",file:e.files,"search-query":e.fileSearchQuery,"search-results":e.fileSearchResults,page:e.viewState},null,8,["file","search-query","search-results","page"])]),s("div",KT,[s("span",{class:"last-update",title:e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate},c(e.options?.sourceCommitDate?"Source commit":e.options?.anonymizedAt?"Anonymized":"Updated")+" "+c(e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),9,YT),e.options?.settingsSavedAt?(l(),d("span",{key:0,class:"last-update",title:e.options.settingsSavedAt}," Settings saved "+c(e.fmt?.date(e.options.settingsSavedAt)),9,JT)):f("v-if",!0),e.options?.publishedAt?(l(),d("span",{key:1,class:"last-update",title:e.options.publishedAt}," Snapshot ready "+c(e.fmt?.date(e.options.publishedAt)),9,QT)):f("v-if",!0),e.options?.anonymizedAt&&!e.options?.publishedAt?(l(),d("span",XT," Snapshot ready date not recorded ")):f("v-if",!0)])],2),[[B,e.files?.length]]),E(s("div",{class:"leftCol-backdrop",onClick:t[3]||(t[3]=i=>e.sidebarCollapsed=!0)},null,512),[[B,e.files?.length&&!e.sidebarCollapsed]]),s("div",ZT,[s("div",xT,[s("ol",eO,[(l(!0),d(J,null,ne(e.paths,(i,a)=>(l(),d("li",{class:"breadcrumb-item",textContent:c(i)},null,8,tO))),256))]),s("div",sO,[e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[10]||(t[10]=[s("i",{class:"far fa-edit"},null,-1),s("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,nO)):f("v-if",!0),e.type=="html-doc"&&!e.showSource?(l(),d("button",{key:1,class:O(["btn btn-sm",{"btn-active":e.allowScripts}]),"aria-label":"Allow this document to run JavaScript",title:"Scripts in this file are blocked by default. Enable them only if you trust the repository \u2014 the document stays isolated from your session either way.",onClick:t[4]||(t[4]=i=>e.toggleAllowScripts())},[t[11]||(t[11]=s("i",{class:"fab fa-js"},null,-1)),s("span",oO,c(e.allowScripts?"JS on":"JS off"),1)],2)):f("v-if",!0),e.type=="html-doc"?(l(),d("button",{key:2,class:"btn btn-sm","aria-label":"Toggle between the rendered document and its source",title:"Toggle between the rendered document and its source",onClick:t[5]||(t[5]=i=>e.toggleSource())},[s("i",{class:O(["fas",e.showSource?"fa-eye":"fa-code"])},null,2),s("span",rO,c(e.showSource?"Rendered":"Source"),1)])):f("v-if",!0),E(s("a",{target:"_self",class:"btn btn-sm","aria-label":"View raw current file",title:"View the raw content of the current file",href:e.safeUrl(e.url)},[...t[12]||(t[12]=[s("i",{class:"fas fa-file-alt"},null,-1),s("span",{class:"d-none d-md-inline"}," Raw",-1)])],8,iO),[[B,e.content!=null]]),E(s("a",{target:"_self",class:"btn btn-sm","aria-label":"Download current file",title:"Download the current file",href:e.safeUrl(e.url+"&download=true")},[...t[13]||(t[13]=[s("i",{class:"fas fa-download"},null,-1),s("span",{class:"d-none d-md-inline"}," Download",-1)])],8,aO),[[B,e.content!=null]]),e.options?.download?(l(),d("a",{key:3,target:"_self",class:"btn btn-sm","aria-label":"Download full repository as ZIP",title:"Download the full repository as a ZIP archive",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[14]||(t[14]=[s("i",{class:"fas fa-file-archive"},null,-1),s("span",{class:"d-none d-md-inline"}," Full repo ZIP",-1)])],8,lO)):f("v-if",!0),e.options?.hasWebsite?(l(),d("a",{key:4,target:"_self",class:"btn btn-sm","aria-label":"Website",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[15]||(t[15]=[s("i",{class:"fas fa-globe"},null,-1),s("span",{class:"d-none d-md-inline"}," Website",-1)])],8,dO)):f("v-if",!0)])]),s("div",uO,[Re(r,{name:"partials/pageView.htm",state:e.viewState},null,8,["state"])])])])}var cO={class:"paper-faq"};function ul(e,t){return l(),d("div",cO,[...t[0]||(t[0]=[be('
Help

Answers to the questions that come up most.

If something's missing, write to us \u2014 report a bug on GitHub.

',1),s("div",{class:"paper-faq-body"},[s("aside",{class:"paper-faq-toc"},[s("div",{class:"paper-faq-toc-head"},"Contents"),s("nav",null,[s("a",{href:"#faq-general"},"General"),s("a",{href:"#faq-features"},"Features"),s("a",{href:"#faq-limitations"},"Limitations"),s("a",{href:"#faq-privacy"},"Privacy & Security"),s("a",{href:"#faq-hosting"},"Self-Hosting")])]),s("section",{class:"faq-section","aria-label":"FAQs"},[s("div",null,[f(" General "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-info-circle mr-2"}),y("General ")]),s("div",{class:"panel-group",id:"faq-general",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingWhatIs"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#whatIs","aria-expanded":"false","aria-controls":"whatIs"}," What is Anonymous GitHub? ")])]),s("div",{id:"whatIs",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingWhatIs"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub is a free, open-source tool that anonymizes GitHub repositories and pull requests for double-anonymous (double-blind) peer review. It replaces identifying information \u2014 such as the repository owner, organization name, and custom terms \u2014 so that reviewers cannot determine the identity of the authors through the code repository. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingHowWork"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#howWork","aria-expanded":"false","aria-controls":"howWork"}," How does Anonymous GitHub work? ")])]),s("div",{id:"howWork",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingHowWork"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub either downloads the complete repository and anonymizes the content, or proxies requests to GitHub on the fly. In both cases, the original and anonymized versions of files are cached on the server. The system automatically detects and replaces the repository owner, organization name, and repository name. You can also specify additional custom terms to anonymize using one-per-line regex patterns. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingScope"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#scope","aria-expanded":"false","aria-controls":"scope"}," What is the scope of anonymization? ")])]),s("div",{id:"scope",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingScope"},[s("div",{class:"panel-body p-3"},[s("p",null," In double-anonymous peer review, the boundary of anonymization is the paper plus its online appendix \u2014 not the entire internet. Searching for any part of the paper or the online appendix can be considered a deliberate attempt to break anonymity. Anonymous GitHub anonymizes the repository owner, organization, repository name, file and directory names, and file contents across all text-based file types. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingCost"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#cost","aria-expanded":"false","aria-controls":"cost"}," How much does it cost? ")])]),s("div",{id:"cost",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCost"},[s("div",{class:"panel-body p-3"},[s("p",null,[y(" Anonymous GitHub is completely free to use. However, the server costs hundreds of dollars per year to maintain. If you find the service useful, a small donation would be greatly appreciated. You can support the project by "),s("a",{href:"https://github.com/sponsors/tdurieux/",target:"_blank"},"sponsoring on GitHub"),y(", donating through "),s("a",{href:"https://ko-fi.com/tdurieux",target:"_blank"},"Ko-fi"),y(', or by clicking the "Support me" button on the site. ')])])])])]),f(" Features "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-cogs mr-2"}),y("Features ")]),s("div",{class:"panel-group",id:"faq-features",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingFormats"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#formats","aria-expanded":"false","aria-controls":"formats"}," Which file formats are supported? ")])]),s("div",{id:"formats",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFormats"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub can display and render a wide variety of file types: "),s("ul",null,[s("li",null,[s("strong",null,"Text and source code"),y(" \u2014 displayed with syntax highlighting")]),s("li",null,[s("strong",null,"Markdown"),y(" \u2014 rendered as formatted HTML")]),s("li",null,[s("strong",null,"Images"),y(" (PNG, JPG, SVG, etc.) \u2014 displayed inline")]),s("li",null,[s("strong",null,"PDFs"),y(" \u2014 rendered directly in the browser")]),s("li",null,[s("strong",null,"Jupyter Notebooks"),y(" \u2014 rendered with code cells and outputs")])]),s("p",null," Only text-based files are anonymized. Anonymous GitHub analyzes the content of each file to determine whether it is textual or binary. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingPR"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#pullRequests","aria-expanded":"false","aria-controls":"pullRequests"}," Can I anonymize pull requests? ")])]),s("div",{id:"pullRequests",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPR"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. In addition to full repositories, Anonymous GitHub supports anonymizing individual pull requests. Simply paste the URL of a GitHub pull request when creating a new anonymized repository, and the system will automatically detect that it is a pull request and anonymize it accordingly. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingConference"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#conference","aria-expanded":"false","aria-controls":"conference"}," What is the Conference ID feature? ")])]),s("div",{id:"conference",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConference"},[s("div",{class:"panel-body p-3"},[s("p",null," When creating an anonymized repository, you can associate it with a Conference ID. This allows conferences to define default anonymization settings (such as expiration dates) that are automatically applied to repositories submitted under that conference. If your conference provides a Conference ID, enter it during the anonymization setup. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingExpiration"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#expiration","aria-expanded":"false","aria-controls":"expiration"}," What happens when an anonymized repository expires? ")])]),s("div",{id:"expiration",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingExpiration"},[s("div",{class:"panel-body p-3"},[s("p",null," You can configure one of three expiration strategies when creating your anonymized repository: "),s("ul",null,[s("li",null,[s("strong",null,"Never expire"),y(" \u2014 the anonymized repository remains accessible indefinitely.")]),s("li",null,[s("strong",null,"Redirect to GitHub"),y(" \u2014 after expiration, visitors are redirected to the original GitHub repository.")]),s("li",null,[s("strong",null,"Remove content"),y(" \u2014 after expiration, the anonymized content is deleted from the server.")])])])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingDownload"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#download","aria-expanded":"false","aria-controls":"download"}," Can I download an anonymized repository? ")])]),s("div",{id:"download",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDownload"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. Anonymized repositories can be downloaded as a ZIP file. This is useful if reviewers want to build or test the code locally. The downloaded archive contains the fully anonymized version of the repository. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingUpdates"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#updates","aria-expanded":"false","aria-controls":"updates"}," Are updates to the original repository reflected in the anonymized version? ")])]),s("div",{id:"updates",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingUpdates"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. The anonymized repository tracks the source on GitHub: when you push new commits to the original repository, the anonymized view picks up those changes (cached files are refreshed against GitHub). This means you can keep iterating on the code while reviewers have the link, and you do not need to recreate the anonymized repository every time you update the source. "),s("p",null," A few practical implications worth keeping in mind: "),s("ul",null,[s("li",null," You can safely create the anonymized repository early in the writing process \u2014 later commits will be visible to reviewers without any additional action. "),s("li",null," If you rename files, add new identifiers, or introduce new contributor names after creation, revisit the anonymization options (custom terms, file filters) to make sure the new content is still properly anonymized. "),s("li",null," If the original repository is made private or deleted, the anonymized repository will no longer be able to fetch updated content. ")])])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingCLI"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#cli","aria-expanded":"false","aria-controls":"cli"}," Is there a command-line tool? ")])]),s("div",{id:"cli",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCLI"},[s("div",{class:"panel-body p-3"},[s("p",null," Yes. Anonymous GitHub provides a CLI tool that lets you anonymize repositories locally, generating an anonymized ZIP file on your machine. Install it via npm: "),s("pre",{style:{"background-color":"var(--hover-bg-color)",padding:"12px","border-radius":"4px","margin-top":"8px",color:"var(--color)"}},[s("code",null,`npm install -g @tdurieux/anonymous_github +anonymous_github`)])])])])]),f(" Limitations "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-exclamation-triangle mr-2"}),y("Limitations ")]),s("div",{class:"panel-group",id:"faq-limitations",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingLimitation"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-limitations",href:"#limitation","aria-expanded":"false","aria-controls":"limitation"}," What are the limitations of Anonymous GitHub? ")])]),s("div",{id:"limitation",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingLimitation"},[s("div",{class:"panel-body p-3"},[s("ul",null,[s("li",null," Anonymous GitHub only anonymizes text-based files. Binary files (compiled executables, archives, etc.) are served as-is without anonymization. "),s("li",null," Files larger than 8 MB are not supported. "),s("li",null," Static site generators (such as Jekyll) used with GitHub Pages are not fully supported, although Markdown files are converted to HTML. "),s("li",null," The anonymization of terms within source code may change the behavior of the program (e.g., if a replaced term appears in a string literal or identifier). ")])])])])]),f(" Privacy & Security "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-shield-alt mr-2"}),y("Privacy & Security ")]),s("div",{class:"panel-group",id:"faq-privacy",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingData"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#data","aria-expanded":"false","aria-controls":"data"}," How is my data handled? ")])]),s("div",{id:"data",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingData"},[s("div",{class:"panel-body p-3"},[s("p",null," Data stored on Anonymous GitHub is never shared or used for any purpose beyond providing the anonymization service. When a repository is removed or expires, only its configuration is retained \u2014 this makes it easy to restore the repository if needed and ensures that no future repository reuses the same ID. ")])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingPermissions"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#permissions","aria-expanded":"false","aria-controls":"permissions"}," Why does GitHub say Anonymous GitHub asks for write access? ")])]),s("div",{id:"permissions",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPermissions"},[s("div",{class:"panel-body p-3"},[s("p",null," Anonymous GitHub only reads your repositories \u2014 it never pushes commits, opens issues, modifies settings, or deletes anything. From your perspective as a user, the service is read-only. "),s("p",null,[y(" However, GitHub's OAuth scopes do not offer a read-only option for private repositories: the only scope that grants access to private repos is "),s("code",null,"repo"),y(", which is documented as full read/write access. To support users who want to anonymize a private repository, Anonymous GitHub must request that scope, and GitHub then displays the broader permission text at sign-in. The application itself only ever performs read operations against the GitHub API. ")]),s("p",null,[y(" If you only anonymize public repositories, the source code is open and can be audited on the "),s("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),y(", or you can self-host your own instance. ")])])])]),s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingViewer"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#viewer","aria-expanded":"false","aria-controls":"viewer"}," Can repository owners see who viewed their anonymized repository? ")])]),s("div",{id:"viewer",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingViewer"},[s("div",{class:"panel-body p-3"},[s("p",null," No. Only the total number of views is tracked as an incremental counter. It is not possible for the repository owner or for Anonymous GitHub to identify individual viewers. Reviewer anonymity is fully preserved. ")])])])]),f(" Self-Hosting "),s("h4",{class:"faq-cat"},[s("i",{class:"fas fa-server mr-2"}),y("Self-Hosting ")]),s("div",{class:"panel-group",id:"faq-hosting",role:"tablist","aria-multiselectable":"true"},[s("div",{class:"panel panel-default mb-3"},[s("div",{class:"panel-heading p-3",role:"tab",id:"headingDeploy"},[s("h3",{class:"panel-title"},[s("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-hosting",href:"#deploy","aria-expanded":"false","aria-controls":"deploy"}," Can I deploy my own instance? ")])]),s("div",{id:"deploy",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDeploy"},[s("div",{class:"panel-body p-3"},[s("p",null,[y(" Yes. Anonymous GitHub is fully open source (GPL-3.0) and supports Docker-based deployment. You will need to configure a GitHub OAuth app and provide a GitHub token. Detailed setup instructions are available on the "),s("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),y(". ")]),s("p",null," The basic steps are: "),s("ol",null,[s("li",null,"Clone the repository and install dependencies"),s("li",null,[y("Create a "),s("code",null,".env"),y(" file with your GitHub token, OAuth client ID, and client secret")]),s("li",null,[y("Run "),s("code",null,"docker-compose up -d")])])])])])]),s("div",{class:"text-center mt-5 mb-5 p-4",style:{"background-color":"var(--hover-bg-color)","border-radius":"8px"}},[s("p",{class:"mb-2",style:{"font-size":"1.1rem"}}," Still have questions? "),s("p",{class:"text-muted mb-0"},[y(" Open an issue on the "),s("a",{href:"https://github.com/tdurieux/anonymous_github/issues",target:"_blank"},"GitHub repository"),y(" and we'll be happy to help. ")])])])])],-1)])])}var pO={class:"pr-page"},fO={class:"container paper-page pr-page-inner"},mO={class:"pr-header"},hO={class:"paper-page-title pr-title"},vO=["textContent"],yO={key:1,class:"text-muted"},gO=["href"],bO={class:"pr-header-meta"},wO={key:0,class:"pr-meta-item"},kO=["textContent"],_O={key:1,class:"pr-meta-item"},EO=["textContent"],CO={key:2,class:"pr-meta-item"},NO=["textContent"],SO={key:0,class:"paper-tabs",role:"tablist"},DO=["textContent"],RO=["textContent"],TO={class:"paper-tab-content"},OO={key:0},AO={class:"pr-comments"},IO={class:"pr-comment"},VO={class:"pr-comment-head"},PO=["textContent"],qO={key:0,class:"pr-comment-date"},MO={key:0,class:"paper-table-empty"},$O={key:1},UO={class:"pr-comments"},LO={class:"pr-comment"},FO={class:"pr-comment-head"},zO={key:0,class:"pr-comment-author"},HO=["textContent"],BO=["textContent"],GO={key:0,class:"pr-comment-body"},jO={key:0,class:"paper-table-empty"};function cl(e,t){let o=tt("gist-file"),r=tt("markdown");return l(),d("div",pO,[s("div",fO,[t[15]||(t[15]=s("div",{class:"paper-crumbs"},[s("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),s("span",{class:"here"},"Gist")],-1)),s("header",mO,[s("h1",hO,[e.details?.description?(l(),d("span",{key:0,textContent:c(e.details?.description)},null,8,vO)):f("v-if",!0),e.details?.description?f("v-if",!0):(l(),d("span",yO,"Untitled gist")),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:2,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/gist-anonymize/"+e.gistId)},[...t[2]||(t[2]=[s("i",{class:"far fa-edit"},null,-1),s("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,gO)):f("v-if",!0)]),s("div",bO,[s("span",{class:O(["paper-pill",{good:e.details?.isPublic,warn:!e.details?.isPublic}])},c(e.details?.isPublic?"Public":"Secret"),3),e.details?.ownerLogin?(l(),d("span",wO,[t[3]||(t[3]=s("i",{class:"far fa-user"},null,-1)),t[4]||(t[4]=y(" @",-1)),s("span",{textContent:c(e.details?.ownerLogin)},null,8,kO)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",_O,[t[5]||(t[5]=s("i",{class:"far fa-clock"},null,-1)),t[6]||(t[6]=y()),s("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,EO)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",CO,[t[7]||(t[7]=s("i",{class:"fas fa-user-secret"},null,-1)),t[8]||(t[8]=y(" Anonymized ",-1)),s("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,NO)])):f("v-if",!0)])]),e.details?.files&&e.details?.files?.length||e.details?.comments&&e.details?.comments?.length?(l(),d("nav",SO,[e.details?.files?(l(),d("button",{key:0,class:O(["paper-tab",{active:e.tabState?.active=="files"}]),type:"button",role:"tab",onClick:t[0]||(t[0]=n=>e.tabState.active="files")},[t[9]||(t[9]=s("i",{class:"fas fa-file-code"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.files?.length,{0:"No files",one:"1 file",other:"{} files"}))},null,8,DO)],2)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:O(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",onClick:t[1]||(t[1]=n=>e.tabState.active="comments")},[t[10]||(t[10]=s("i",{class:"far fa-comment-dots"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,RO)],2)):f("v-if",!0)])):f("v-if",!0),s("div",TO,[e.details?.files&&e.tabState?.active=="files"?(l(),d("div",OO,[s("ul",AO,[(l(!0),d(J,null,ne(e.details?.files,(n,i)=>(l(),d("li",IO,[s("div",VO,[s("strong",{textContent:c(n?.filename)},null,8,PO),n?.language?(l(),d("span",qO,c(n?.language),1)):f("v-if",!0)]),Re(o,{file:n},null,8,["file"])]))),256)),e.details?.files?.length?f("v-if",!0):(l(),d("li",MO,[...t[11]||(t[11]=[s("i",{class:"fas fa-file"},null,-1),s("span",null,"No files in this gist.",-1)])]))])])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",$O,[s("ul",UO,[(l(!0),d(J,null,ne(e.details?.comments,(n,i)=>(l(),d("li",LO,[s("div",FO,[n?.author?(l(),d("span",zO,[t[12]||(t[12]=s("i",{class:"far fa-user"},null,-1)),t[13]||(t[13]=y(" @",-1)),s("span",{textContent:c(n?.author)},null,8,HO)])):f("v-if",!0),n?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(n?.updatedDate))},null,8,BO)):f("v-if",!0)]),n?.body?(l(),d("div",GO,[Re(r,{content:n?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",jO,[...t[14]||(t[14]=[s("i",{class:"far fa-comment-dots"},null,-1),s("span",null,"No comments on this gist.",-1)])]))])])):f("v-if",!0)])])])}var WO={class:"collapse navbar-collapse",id:"navbarSupportedContent"},KO={class:"navbar-nav mr-auto smooth-scroll"},YO={key:0,class:"nav-item"},JO={key:1,class:"nav-item"},QO={key:2,class:"nav-item"},XO={key:3,class:"nav-item"},ZO={class:"nav-item"},xO={key:4,class:"nav-item"},eA={class:"navbar-nav"},tA={key:0,class:"nav-item"},sA={key:1,class:"nav-item"},nA={key:2,class:"nav-item"},oA={key:3,class:"nav-item dropdown user-chip-wrap"},rA={class:"nav-link user-chip dropdown-toggle",href:"#",id:"navbarDropdownMenuLink",role:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},iA=["src"],aA={class:"user-chip-name"},lA={class:"dropdown-menu dropdown-menu-right user-menu","aria-labelledby":"navbarDropdownMenuLink"},dA={class:"dropdown-header"},uA=["innerHTML"];function pl(e,t){return l(),d(J,null,[s("nav",{class:O(["navbar navbar-expand-lg",{"navbar-dark":e.isDarkMode}])},[t[13]||(t[13]=s("a",{class:"navbar-brand",href:"/"},[y("Anonymous "),s("em",null,"GitHub")],-1)),t[14]||(t[14]=s("button",{class:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[s("span",{class:"navbar-toggler-icon"})],-1)),s("div",WO,[s("ul",KO,[e.user?f("v-if",!0):(l(),d("li",YO,[s("a",{class:O(["nav-link",{active:e.path=="/"}]),href:"/"}," Home ",2)])),e.user?(l(),d("li",JO,[s("a",{class:O(["nav-link",{active:e.path=="/dashboard"}]),href:"/dashboard"},[...t[2]||(t[2]=[s("i",{class:"fas fa-th-large d-lg-none mr-1"},null,-1),y(" My work ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",QO,[s("a",{class:O(["nav-link",{active:e.path=="/anonymize"||e.path=="/pull-request-anonymize"}]),href:"/anonymize"},[...t[3]||(t[3]=[s("i",{class:"fas fa-user-secret d-lg-none mr-1"},null,-1),y(" Anonymize ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",XO,[s("a",{class:O(["nav-link",{active:e.path=="/conferences"}]),href:"/conferences"},[...t[4]||(t[4]=[s("i",{class:"fas fa-chalkboard-teacher d-lg-none mr-1"},null,-1),y(" Conferences ",-1)])],2)])):f("v-if",!0),s("li",ZO,[s("a",{class:O(["nav-link",{active:e.path=="/faq"}]),href:"/faq"},[...t[5]||(t[5]=[s("i",{class:"fas fa-question-circle d-lg-none mr-1"},null,-1),y("FAQ",-1)])],2)]),e.user&&e.user?.isAdmin?(l(),d("li",xO,[s("a",{class:O(["nav-link",{active:e.path?.indexOf("/admin")===0}]),href:"/admin/"},[...t[6]||(t[6]=[s("i",{class:"fas fa-cog d-lg-none mr-1"},null,-1),y(" Admin ",-1)])],2)])):f("v-if",!0)]),s("ul",eA,[t[11]||(t[11]=s("li",{class:"nav-item"},[s("a",{class:"nav-link nav-icon",target:"_blank",href:"https://github.com/tdurieux/anonymous_github/",title:"Anonymous GitHub source code","aria-label":"Anonymous GitHub source code on GitHub",rel:"noopener","data-offset":"30"},[s("i",{class:"fab fa-github","aria-hidden":"true"})])],-1)),f(` "Report a bug" is about this service. Reviewers who land on an anonymized repository often think it is about the paper, so the - label names the service and the tooltip says who to contact. `),t[12]||(t[12]=s("li",{class:"nav-item d-none d-lg-block"},[s("a",{class:"nav-link",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",title:"Report a problem with the Anonymous GitHub service. Questions about an anonymized repository or paper go to its authors.","data-offset":"30"},[s("i",{class:"fas fa-bug d-lg-none mr-1","aria-hidden":"true"}),y("Report a bug ")])],-1)),e.isDarkMode?f("v-if",!0):(l(),d("li",xO,[s("a",{class:"nav-link nav-icon",href:"#",title:"Switch to dark mode","aria-label":"Switch to dark mode",role:"button",onClick:t[0]||(t[0]=we(o=>{e.darkMode(!0)},["prevent"]))},[...t[7]||(t[7]=[s("i",{class:"fas fa-moon","aria-hidden":"true"},null,-1)])])])),e.isDarkMode?(l(),d("li",eA,[s("a",{class:"nav-link nav-icon",href:"#",title:"Switch to light mode","aria-label":"Switch to light mode",role:"button",onClick:t[1]||(t[1]=we(o=>{e.darkMode(!1)},["prevent"]))},[...t[8]||(t[8]=[s("i",{class:"fas fa-sun","aria-hidden":"true"},null,-1)])])])):f("v-if",!0),e.user?f("v-if",!0):(l(),d("li",tA,[...t[9]||(t[9]=[s("a",{class:"nav-link btn-signin",target:"_self",href:"/signin","data-offset":"30"},[s("i",{class:"fab fa-github mr-1"}),y(" Sign in ")],-1)])])),e.user?(l(),d("li",sA,[s("a",nA,[e.user?.photo?(l(),d("img",{key:0,width:"22",height:"22",class:"rounded-circle",src:e.safeUrl(e.user?.photo)},null,8,oA)):f("v-if",!0),s("span",rA,c(e.user?.username),1)]),s("div",iA,[s("h6",aA,"Signed in as @"+c(e.user?.username),1),t[10]||(t[10]=ge('SettingsDefaults, quotas, accountGitHub connectionsRepository access and OAuthClaim an anonymizationAttach an existing mirror to your accountReport a bugAbout this service, not a paperSource codeSign out',8))])])):f("v-if",!0)])])],2),e.generalMessage?(l(),d("div",{key:0,class:"navbar shadow generalMessage",innerHTML:e.sanitize(e.generalMessage)},null,8,lA)):f("v-if",!0)],64)}var dA={class:"paper-landing"},uA={class:"paper-hero"},cA={class:"paper-hero-copy"},pA={class:"paper-cta-row"},fA={key:0,href:"/signin",target:"_self",class:"btn-hero"},mA={key:1,href:"/anonymize",class:"btn-hero"},hA={class:"paper-stats paper-wrap",id:"metrics","aria-label":"Usage over the last 60 days"},vA={class:"paper-stats-grid"},yA={class:"paper-stat-value"},gA={class:"paper-stat-label"},bA=["viewBox"],wA=["x","y","width","height"],kA={key:1,class:"paper-stat-delta"},_A={class:"paper-features paper-wrap","aria-label":"Product features"},EA={class:"paper-features-list",role:"tablist","aria-label":"Features","aria-orientation":"vertical"},CA=["onClick","onKeydown","id","aria-controls","aria-selected","tabindex"],NA={class:"paper-eyebrow"},SA={class:"paper-feature-title"},DA={class:"paper-feature-more"},RA={class:"paper-feature-title paper-feature-title-m","aria-hidden":"true"},TA=["href","target"],OA={class:"paper-features-stage"},AA=["id","aria-labelledby"],IA={class:"paper-frame"},VA={class:"paper-frame-bar","aria-hidden":"true"},PA={class:"url"},qA=["src","alt"],MA={class:"paper-footer"},$A={class:"paper-footer-inner"},UA={class:"paper-footer-col"},LA={key:0,href:"/dashboard"},FA={key:1,href:"/conferences"},zA={class:"paper-footer-foot"};function pl(e,t){return l(),d("div",dA,[f(" Hero: copy on the left, the product on the right "),s("section",uA,[s("div",cA,[t[2]||(t[2]=s("div",{class:"paper-eyebrow"},"For double-blind peer review",-1)),t[3]||(t[3]=s("h1",{class:"hero-title"},[y(" Share the code,"),s("br"),s("span",{class:"accent"},"not the author.")],-1)),t[4]||(t[4]=s("p",{class:"hero-subtitle"}," Anonymous GitHub makes a read-only mirror of your repository, pull request, or gist with every trace of identity removed, so you can attach a link to your submission without breaking anonymity. ",-1)),s("div",pA,[e.user?f("v-if",!0):(l(),d("a",fA,[...t[0]||(t[0]=[s("i",{class:"fab fa-github mr-2","aria-hidden":"true"},null,-1),y("Sign in with GitHub ",-1)])])),e.user?(l(),d("a",mA," Anonymize a repository \u2192 ")):f("v-if",!0),t[1]||(t[1]=s("a",{class:"paper-link-arrow",target:"_self",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/"},"See an anonymized repository \u2192",-1))]),t[5]||(t[5]=s("ul",{class:"paper-reassure"},[s("li",null,"Free and open source"),s("li",null,"Read-only: never writes to your repos"),s("li",null,"Expires on the date you set")],-1))]),t[6]||(t[6]=ge('
The anonymize form with a live README preview showing the redactions
',1))]),f(" Proof "),t[16]||(t[16]=ge('
Trusted by authors at
ICSEFSEOOPSLA
',1)),f(" Live stats "),s("section",hA,[t[7]||(t[7]=s("div",{class:"paper-stats-meta"},[s("div",{class:"paper-stats-meta-left"},"Live \xB7 last 60 days"),s("div",{class:"paper-stats-meta-right"},[s("span",{class:"paper-stats-dot","aria-hidden":"true"}),y(" updated daily ")])],-1)),s("div",vA,[(l(!0),d(J,null,ne(e.cards,(o,r)=>(l(),d("div",{class:"paper-stat-card",key:o?.key},[s("div",yA,c(e.fmt?.bigNum(o?.total)),1),s("div",gA,c(o?.label),1),e.history[o?.key].bars?.length>1?(l(),d("svg",{key:0,class:"paper-stat-bars",preserveAspectRatio:"none","aria-hidden":"true",viewBox:"0 0 "+e.history[o?.key].viewW+" 36"},[(l(!0),d(J,null,ne(e.history[o?.key].bars,(n,i)=>(l(),d("rect",{key:i,class:O({"is-latest":i===e.history[o.key].bars.length-1}),x:n?.x,y:n?.y,width:n?.w,height:n?.h},null,10,wA))),128))],8,bA)):f("v-if",!0),e.history[o?.key].bars?.length>1?(l(),d("div",kA," +"+c(e.fmt?.number(e.history[o?.key].deltaToday))+" today ",1)):f("v-if",!0)]))),128))])]),f(" Before / after "),t[17]||(t[17]=s("section",{class:"paper-section-head paper-wrap"},[s("div",null,[s("div",{class:"paper-eyebrow"},"Before \xB7 after"),s("h2",null,[y("The same repository, "),s("em",null,"minus you.")])]),s("p",null," Names, affiliations, emails, and any term you list are replaced across the README, source files, notebooks, and PDF links. Reviewers browse the real thing, not a zip. ")],-1)),t[18]||(t[18]=s("div",{class:"paper-preview paper-wrap","aria-label":"Before and after example"},[s("div",{class:"pane"},[s("div",{class:"pane-header"},[s("span",{class:"pane-label"},"Before \xB7 your repo"),s("span",{class:"pane-url"},"github.com/jane-smith/DeepLearnUtils")]),s("div",{class:"pane-body"},[s("div",null,[s("span",{class:"tok"},"#"),y(),s("strong",null,"DeepLearnUtils")]),s("div",null,"Developed by Jane Smith at MIT CSAIL."),s("div",null,"See Smith et\xA0al., \u201CAttention That Works,\u201D 2026."),s("div",null,"Contact: jane.smith@mit.edu")])]),s("div",{class:"pane"},[s("div",{class:"pane-header"},[s("span",{class:"pane-label"},"After \xB7 anonymous mirror"),s("span",{class:"pane-url"},"anonymous.4open.science/r/paper-7f2a")]),s("div",{class:"pane-body"},[s("div",null,[s("span",{class:"tok"},"#"),y(),s("strong",null,"DeepLearnUtils")]),s("div",null,[y("Developed by "),s("span",{class:"redact",role:"img","aria-label":"redacted author name"},"XXXX-1"),y(" at "),s("span",{class:"redact",role:"img","aria-label":"redacted affiliation"},"XXXX-2"),y(".")]),s("div",null,[y("See "),s("span",{class:"redact",role:"img","aria-label":"redacted author name"},"XXXX-1"),y(" et\xA0al., \u201CAttention That Works,\u201D 2026.")]),s("div",null,[y("Contact: "),s("span",{class:"redact",role:"img","aria-label":"redacted email address"},"XXXX-3")])])])],-1)),f(" What you get: one screenshot, three tabs "),t[19]||(t[19]=s("section",{class:"paper-section-head paper-wrap",id:"about"},[s("div",null,[s("div",{class:"paper-eyebrow"},"What you get"),s("h2",null,[y("Anonymize, review, "),s("em",null,"manage.")])]),s("p",null," Every mirror is read-only and passes through the same filter, from the README to a PDF's link targets. Monitor it, update it, or remove it the day the decision is out. ")],-1)),s("section",_A,[s("div",EA,[(l(!0),d(J,null,ne(e.features,(o,r)=>(l(),d("div",{class:O(["paper-feature",{"is-on":e.feature===o?.key}]),key:o?.key},[s("button",{type:"button",class:"paper-feature-tab",role:"tab",onClick:n=>e.selectFeature(o.key),onKeydown:n=>e.featureKeydown(n,r),id:"feature-tab-"+o?.key,"aria-controls":"feature-panel-"+o?.key,"aria-selected":e.feature===o?.key,tabindex:e.feature===o?.key?0:-1},[s("span",NA,c(o?.num)+" \xB7 "+c(o?.eyebrow),1),s("span",SA,[y(c(o?.title)+" ",1),s("em",null,c(o?.accent),1)])],40,CA),s("div",DA,[s("span",RA,[y(c(o?.title)+" ",1),s("em",null,c(o?.accent),1)]),s("p",null,c(o?.text),1),s("a",{class:"paper-link-arrow",href:e.safeUrl(e.featureHref(o)),target:e.featureTarget(o)},c(o?.cta)+" \u2192",9,TA)])],2))),128))]),s("div",OA,[(l(!0),d(J,null,ne(e.features,(o,r)=>E((l(),d("div",{class:"paper-feature-panel",role:"tabpanel",key:o?.key,id:"feature-panel-"+o?.key,"aria-labelledby":"feature-tab-"+o?.key},[s("div",IA,[s("div",VA,[t[8]||(t[8]=s("span",{class:"dots"},[s("i"),s("i"),s("i")],-1)),s("span",PA,c(o?.url),1)]),s("div",{class:O("paper-crop paper-crop-"+o?.key)},[s("img",{loading:"lazy",width:"2880",height:"1800",src:e.safeUrl(o?.img),alt:o?.alt},null,8,qA)],2)])],8,AA)),[[B,e.feature===o?.key]])),128))])]),f(" FAQ teaser "),t[20]||(t[20]=ge('
Before you sign in

The questions that come up most.

Read the full FAQ \u2192
Why does GitHub ask for write access at sign-in?

GitHub's OAuth scopes have no read-only option for private repositories. Anonymous GitHub only ever reads your repositories; it never pushes, modifies, or deletes anything.

Which file formats are supported?

Source code with syntax highlighting, Markdown, Jupyter notebooks, PDFs, images, and GitHub Pages sites. Everything passes through the same redaction filter.

What happens when an anonymized repository expires?

You choose: the mirror is removed, or visitors are redirected to the original GitHub repository once the review is over.

',1)),s("footer",MA,[s("div",$A,[t[12]||(t[12]=s("div",{class:"paper-footer-brand"},[s("div",{class:"paper-footer-mark"},[y("Anonymous "),s("em",null,"GitHub")]),s("p",{class:"paper-footer-tag"}," A read-only, identity-stripped mirror of your repository, built for double-blind peer review. ")],-1)),s("div",UA,[t[9]||(t[9]=s("div",{class:"paper-footer-head"},"Product",-1)),t[10]||(t[10]=s("a",{href:"/anonymize"},"Anonymize",-1)),e.user?(l(),d("a",LA,"My work")):f("v-if",!0),e.user?(l(),d("a",FA,"Conferences")):f("v-if",!0),t[11]||(t[11]=s("a",{href:"/faq"},"FAQ",-1))]),t[13]||(t[13]=ge('',2))]),t[15]||(t[15]=s("div",{class:"paper-footer-rule"},null,-1)),s("div",zA,[s("span",null,"\xA9 "+c(e.year||2026)+" Anonymous GitHub \xB7 MIT licensed",1),t[14]||(t[14]=s("span",{class:"paper-footer-meta"},"Built for reviewers, by researchers.",-1))])])])}var HA={class:"paper-empty"},BA={class:"paper-empty-inner"},GA={key:0,class:"paper-eyebrow"},jA={key:1,class:"paper-eyebrow"},WA={key:2,class:"paper-empty-title"},KA=["textContent"];function fl(e,t){return l(),d("div",HA,[s("div",BA,[e.error?f("v-if",!0):(l(),d("div",GA,"Working")),e.error?(l(),d("div",jA,"Error")):f("v-if",!0),e.error?f("v-if",!0):(l(),d("h1",WA,[...t[0]||(t[0]=[y(" Loading",-1),s("span",{class:"dot-anim"},"\u2026",-1)])])),e.error?(l(),d("h1",{key:3,class:"paper-empty-title",textContent:c(e.fmt.translate(e.error))},null,8,KA)):f("v-if",!0)])])}var YA={class:"container paper-page paper-settings"},JA={class:"paper-crumbs"},QA={class:"here"},XA={class:"paper-page-title"},ZA={class:"paper-settings-body"},xA={class:"paper-settings-toc"},eI={href:"#conf-billing"},tI={class:"form needs-validation paper-settings-main",name:"conference",novalidate:""},sI={id:"conf-basics",class:"paper-settings-section"},nI={class:"form-group"},oI={class:"invalid-feedback"},rI={class:"invalid-feedback"},iI={class:"form-group"},aI={class:"invalid-feedback"},lI={class:"form-group"},dI={class:"invalid-feedback"},uI={class:"invalid-feedback"},cI={id:"conf-window",class:"paper-settings-section"},pI={class:"form-grid-2"},fI={class:"form-group"},mI={class:"invalid-feedback"},hI={class:"invalid-feedback"},vI={class:"form-group"},yI={class:"invalid-feedback"},gI={class:"invalid-feedback"},bI={id:"conf-rendering",class:"paper-settings-section"},wI={class:"form-check"},kI={class:"form-check-input",type:"checkbox",id:"link",name:"link"},_I={class:"form-check"},EI={class:"form-check-input",type:"checkbox",id:"image",name:"image"},CI={class:"form-check"},NI={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},SI={class:"form-check"},DI={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},RI={id:"conf-features",class:"paper-settings-section"},TI={class:"form-check"},OI={class:"form-check-input",type:"checkbox",id:"update",name:"update"},AI={class:"form-check"},II={class:"form-check-input",type:"checkbox",id:"page",name:"page"},VI={id:"conf-plan",class:"paper-settings-section"},PI={class:"paper-plan-grid"},qI=["value"],MI=["textContent"],$I={class:"paper-plan-price"},UI=["innerHTML"],LI={key:0,id:"conf-billing",class:"paper-settings-section"},FI={class:"form-group"},zI={class:"form-group"},HI={class:"form-group"},BI={class:"form-group"},GI={class:"form-grid-3"},jI={class:"form-group"},WI={class:"form-group"},KI={class:"form-group"},YI={class:"form-group"},JI={class:"paper-settings-footer"},QI=["textContent"],XI=["textContent"];function ml(e,t){let o=be("paper-scrollspy"),r=be("field"),n=be("form");return l(),d("div",YA,[s("div",JA,[t[1]||(t[1]=s("a",{href:"/dashboard"},"My work",-1)),t[2]||(t[2]=y(" \xA0/\xA0 ",-1)),t[3]||(t[3]=s("a",{href:"/conferences"},"Conferences",-1)),t[4]||(t[4]=y(" \xA0/\xA0 ",-1)),s("span",QA,c(e.editionMode?"Edit":"New"),1)]),s("h1",XA,[y(c(e.editionMode?"Edit":"Create a")+" ",1),t[5]||(t[5]=s("em",null,"conference",-1))]),t[42]||(t[42]=s("p",{class:"paper-page-lede"}," Give chairs access to every anonymization submitted to a venue, and lift author quotas during the review window. ",-1)),s("div",ZA,[E((l(),d("aside",xA,[t[7]||(t[7]=s("div",{class:"paper-settings-toc-head"},"On this page",-1)),s("nav",null,[t[6]||(t[6]=ge('BasicsReview windowRendering defaultsFeaturesPlan',5)),E(s("a",eI,"Billing",512),[[B,e.plan?.pricePerRepo>0]])])])),[[o]]),E((l(),d("form",tI,[s("section",sI,[t[12]||(t[12]=s("div",{class:"paper-section-eyebrow"},"Basics",-1)),s("div",nI,[t[8]||(t[8]=s("label",{class:"paper-field-label",for:"name"},"Conference name",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.name?.invalid&&(e.conference?.name?.touched||e.conference?.submitted)}]),name:"name",id:"name",required:"",placeholder:"e.g. International Conference on Software Engineering"},null,2),[[r,{state:e.viewState,set:i=>{e.options.name=i},value:e.options?.name,form:"conference",options:{}}]]),E(s("div",oI," The name of the conference is invalid. ",512),[[B,e.conference?.name?.errors?.invalid]]),E(s("div",rI," The name of the conference is required. ",512),[[B,e.conference?.name?.errors?.required]])]),s("div",iI,[t[9]||(t[9]=s("label",{class:"paper-field-label",for:"url"},"Website",-1)),E(s("input",{type:"url",class:O(["form-control",{"is-invalid":e.conference?.url?.invalid&&(e.conference?.url?.touched||e.conference?.submitted)}]),name:"url",id:"url",placeholder:"https://example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.url=i},value:e.options?.url,form:"conference",options:{}}]]),E(s("div",aI," The url of the conference is invalid. ",512),[[B,e.conference?.url?.errors?.invalid]])]),s("div",lI,[t[10]||(t[10]=s("label",{class:"paper-field-label",for:"conferenceID"},"Conference ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.conferenceID?.invalid&&(e.conference?.conferenceID?.touched||e.conference?.submitted)}]),name:"conferenceID",id:"conferenceID",required:"",pattern:"[a-zA-Z0-9\\-_]{3,10}",placeholder:"ICSE26"},null,2),[[r,{state:e.viewState,set:i=>{e.options.conferenceID=i},value:e.options?.conferenceID,form:"conference",options:{}}]]),t[11]||(t[11]=s("small",{class:"form-text text-muted"},[y("3\u201310 characters, letters, numbers, "),s("code",null,"-"),y(" and "),s("code",null,"_"),y(". Authors reference this when they anonymize.")],-1)),E(s("div",{class:"invalid-feedback"}," The conference ID '"+c(e.options?.conferenceID)+"' is already used. ",513),[[B,e.conference?.conferenceID?.errors?.used]]),E(s("div",dI," The conference ID is required. ",512),[[B,e.conference?.conferenceID?.errors?.required]]),E(s("div",uI," The format of the conference ID is incorrect ([a-zA-Z0-9-_]{3,10}). ",512),[[B,e.conference?.conferenceID?.errors?.pattern]])])]),s("section",cI,[t[17]||(t[17]=s("div",{class:"paper-section-eyebrow"},"Review window",-1)),s("div",pI,[s("div",fI,[t[13]||(t[13]=s("label",{class:"paper-field-label",for:"startDate"},"Start date",-1)),E(s("input",{type:"date",class:O(["form-control",{"is-invalid":e.conference?.startDate?.invalid&&(e.conference?.startDate?.touched||e.conference?.submitted)}]),name:"startDate",id:"startDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.startDate=i},value:e.options?.startDate,form:"conference",options:{}}]]),t[14]||(t[14]=s("small",{class:"form-text text-muted"},"Beginning of the review process.",-1)),E(s("div",mI," Start date is required. ",512),[[B,e.conference?.startDate?.errors?.required]]),E(s("div",hI," Start date must be before end date. ",512),[[B,e.conference?.startDate?.errors?.invalid]])]),s("div",vI,[t[15]||(t[15]=s("label",{class:"paper-field-label",for:"endDate"},"End date",-1)),E(s("input",{type:"date",class:O(["form-control",{"is-invalid":e.conference?.endDate?.invalid&&(e.conference?.endDate?.touched||e.conference?.submitted)}]),name:"endDate",id:"endDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.endDate=i},value:e.options?.endDate,form:"conference",options:{}}]]),t[16]||(t[16]=s("small",{class:"form-text text-muted"},"All repositories expire on this date.",-1)),E(s("div",yI," End date is required. ",512),[[B,e.conference?.endDate?.errors?.required]]),E(s("div",gI," End date is invalid. ",512),[[B,e.conference?.endDate?.errors?.invalid]])])])]),s("section",bI,[t[25]||(t[25]=s("div",{class:"paper-section-eyebrow"},"Rendering defaults",-1)),s("div",wI,[E(s("input",kI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.link=i},value:e.options?.options?.link,form:"conference",options:{}}]]),t[18]||(t[18]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[19]||(t[19]=s("small",{class:"form-text text-muted"},"Keep or remove all links from text files.",-1))]),s("div",_I,[E(s("input",EI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.image=i},value:e.options?.options?.image,form:"conference",options:{}}]]),t[20]||(t[20]=s("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[21]||(t[21]=s("small",{class:"form-text text-muted"},"Images are not anonymized.",-1))]),s("div",CI,[E(s("input",NI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.pdf=i},value:e.options?.options?.pdf,form:"conference",options:{}}]]),t[22]||(t[22]=s("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[23]||(t[23]=s("small",{class:"form-text text-muted"},"PDFs are not anonymized.",-1))]),s("div",SI,[E(s("input",DI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.notebook=i},value:e.options?.options?.notebook,form:"conference",options:{}}]]),t[24]||(t[24]=s("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))])]),s("section",RI,[t[30]||(t[30]=s("div",{class:"paper-section-eyebrow"},"Features",-1)),s("div",TI,[E(s("input",OI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.update=i},value:e.options?.options?.update,form:"conference",options:{}}]]),t[26]||(t[26]=s("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[27]||(t[27]=s("small",{class:"form-text text-muted"},"Pull the latest commit automatically (hourly maximum).",-1))]),s("div",AI,[E(s("input",II,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.page=i},value:e.options?.options?.page,form:"conference",options:{}}]]),t[28]||(t[28]=s("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[29]||(t[29]=s("small",{class:"form-text text-muted"},"Enable anonymized GitHub pages.",-1))])]),s("section",VI,[t[32]||(t[32]=s("div",{class:"paper-section-eyebrow"},"Plan",-1)),t[33]||(t[33]=s("p",{class:"paper-section-copy"},"Billed per repository per month, prorated by the day for as long as a repository stays in the conference.",-1)),s("div",PI,[(l(!0),d(J,null,ne(e.plans,(i,a)=>(l(),d("label",{class:O(["paper-plan-card",{selected:e.options?.plan?.planID==i?.id}])},[E(s("input",{type:"radio",name:"planPicker",value:i?.id},null,8,qI),[[r,{state:e.viewState,set:u=>{e.options.plan.planID=u},value:e.options?.plan?.planID,form:"conference",options:{}}]]),s("div",{class:"paper-plan-head",textContent:c(i?.name)},null,8,MI),s("div",$I,[y(c(e.fmt?.number(i?.pricePerRepo))+"\u20AC ",1),t[31]||(t[31]=s("span",{class:"paper-plan-per"},"/ repo / month",-1))]),s("div",{class:"paper-plan-desc",innerHTML:e.sanitize(i?.description)},null,8,UI)],2))),256))])]),e.plan?.pricePerRepo>0?(l(),d("section",LI,[t[41]||(t[41]=s("div",{class:"paper-section-eyebrow"},"Billing",-1)),s("div",FI,[t[34]||(t[34]=s("label",{class:"paper-field-label",for:"billing_name"},"Name",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.billing_name?.invalid&&(e.conference?.billing_name?.touched||e.conference?.submitted)}]),name:"billing_name",id:"billing_name",required:"",placeholder:"First & last name"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.name=i},value:e.options?.billing?.name,form:"conference",options:{}}]])]),s("div",zI,[t[35]||(t[35]=s("label",{class:"paper-field-label",for:"email"},"Email",-1)),E(s("input",{type:"email",class:O(["form-control",{"is-invalid":e.conference?.email?.invalid&&(e.conference?.email?.touched||e.conference?.submitted)}]),name:"email",id:"email",required:"",placeholder:"you@example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.email=i},value:e.options?.billing?.email,form:"conference",options:{}}]])]),s("div",HI,[t[36]||(t[36]=s("label",{class:"paper-field-label",for:"inputAddress"},"Address",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.inputAddress?.invalid&&(e.conference?.inputAddress?.touched||e.conference?.submitted)}]),name:"inputAddress",id:"inputAddress",required:"",placeholder:"1234 Main St"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address=i},value:e.options?.billing?.address,form:"conference",options:{}}]])]),s("div",BI,[E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.inputAddress2?.invalid&&(e.conference?.inputAddress2?.touched||e.conference?.submitted)}]),name:"inputAddress2",id:"inputAddress2",placeholder:"Apartment, studio, or floor"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address2=i},value:e.options?.billing?.address2,form:"conference",options:{}}]])]),s("div",GI,[s("div",jI,[t[37]||(t[37]=s("label",{class:"paper-field-label",for:"city"},"City",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.city?.invalid&&(e.conference?.city?.touched||e.conference?.submitted)}]),name:"city",id:"city",required:"",placeholder:"City"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.city=i},value:e.options?.billing?.city,form:"conference",options:{}}]])]),s("div",WI,[t[38]||(t[38]=s("label",{class:"paper-field-label",for:"country"},"Country",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.country?.invalid&&(e.conference?.country?.touched||e.conference?.submitted)}]),name:"country",id:"country",required:"",placeholder:"Country"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.country=i},value:e.options?.billing?.country,form:"conference",options:{}}]])]),s("div",KI,[t[39]||(t[39]=s("label",{class:"paper-field-label",for:"zip"},"Zip",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.zip?.invalid&&(e.conference?.zip?.touched||e.conference?.submitted)}]),name:"zip",id:"zip",required:"",placeholder:"Zip"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.zip=i},value:e.options?.billing?.zip,form:"conference",options:{}}]])])]),s("div",YI,[t[40]||(t[40]=s("label",{class:"paper-field-label",for:"vat"},"VAT number",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.vat?.invalid&&(e.conference?.vat?.touched||e.conference?.submitted)}]),name:"vat",id:"vat",placeholder:"VAT Number"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.vat=i},value:e.options?.billing?.vat,form:"conference",options:{}}]])])])):f("v-if",!0),s("div",JI,[e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,QI)):f("v-if",!0),e.message?(l(),d("div",{key:1,class:"alert alert-success",role:"alert",textContent:c(e.message)},null,8,XI)):f("v-if",!0),s("button",{id:"send",type:"submit",class:"btn btn-ink",onClick:t[0]||(t[0]=we(i=>e.submitForm(i,()=>{e.submit(i)}),["prevent"]))},c(e.editionMode?"Update":"Create")+" conference ",1)])])),[[n,e.viewState]])])])}var ZI={key:0},xI=["innerHTML"],eV={key:3},tV=["src"],sV=["src"],nV={key:7},oV={controls:"controls"},rV=["src"],iV={key:8},aV={key:9,class:"file-error container d-flex h-100"},lV={class:"paper-ratelimit-card m-auto",style:{"max-width":"520px"}},dV={class:"paper-error-msg"},uV={key:10,class:"file-error container d-flex h-100"},cV=["textContent"],pV={key:11,class:"file-error container d-flex h-100"},fV={key:12,class:"file-error container d-flex h-100"},mV={key:13,class:"file-error container d-flex h-100"},hV={key:14,class:"file-error container d-flex h-100"},vV={class:"paper-empty-title m-auto"},yV=["href"];function hl(e,t){let o=et("html-doc"),r=et("pdfviewer"),n=et("notebook"),i=be("code-editor");return l(),d(J,null,[e.type=="text"?E((l(),d("div",ZI,null,512)),[[i,{content:e.content,options:e.aceOption}]]):f("v-if",!0),e.type=="html"?(l(),d("div",{key:1,class:"file-content markdown-body",innerHTML:e.sanitize(e.content)},null,8,xI)):f("v-if",!0),e.type=="html-doc"&&!e.showSource&&e.content!=null?(l(),ks(o,{key:2,content:e.content,"base-url":e.fileBaseUrl,"allow-scripts":e.allowScripts},null,8,["content","base-url","allow-scripts"])):f("v-if",!0),(e.type=="code"||e.type=="html-doc"&&e.showSource)&&e.content!=null?E((l(),d("div",eV,null,512)),[[i,{content:e.content,options:e.aceOption}]]):f("v-if",!0),e.type=="image"?(l(),d("img",{key:4,class:"image-content",src:e.safeUrl(e.url)},null,8,tV)):f("v-if",!0),e.type=="media"?(l(),d("iframe",{key:5,class:"h-100 overflow-auto w-100 b-0",src:e.safeUrl(e.url)},null,8,sV)):f("v-if",!0),e.type=="pdf"?(l(),ks(r,{key:6,src:e.safeUrl(e.url)},null,8,["src"])):f("v-if",!0),e.type=="audio"?(l(),d("div",nV,[s("audio",oV,[s("source",{src:e.safeUrl(e.url)},null,8,rV)])])):f("v-if",!0),e.type=="IPython"?(l(),d("div",iV,[De(n,{file:e.url,content:e.content},null,8,["file","content"])])):f("v-if",!0),e.type=="rate_limited"?(l(),d("div",aV,[s("div",lV,[t[2]||(t[2]=s("div",{class:"paper-ratelimit-head"},[s("i",{class:"fas fa-hourglass-half"}),s("div",null,[s("div",{class:"paper-error-eyebrow"},"Temporarily paused"),s("div",{class:"paper-error-title"},"GitHub API rate limit reached")])],-1)),s("p",dV,[t[0]||(t[0]=y("This repository will be available in ",-1)),s("strong",null,c(e.rateLimitCountdown),1),t[1]||(t[1]=y(". The page will reload automatically.",-1))])])])):f("v-if",!0),e.type=="error"?(l(),d("div",uV,[s("h1",{class:"paper-empty-title m-auto",textContent:c(e.fmt.translate("ERRORS."+e.content))},null,8,cV)])):f("v-if",!0),e.type=="loading"&&!e.error?(l(),d("div",pV,[...t[3]||(t[3]=[s("h1",{class:"paper-empty-title m-auto"},"Loading\u2026",-1)])])):f("v-if",!0),e.type=="empty"?(l(),d("div",fV,[...t[4]||(t[4]=[s("h1",{class:"paper-empty-title m-auto"},[y("Empty "),s("em",null,"repository"),y(".")],-1)])])):f("v-if",!0),e.content==null&&e.type!="empty"?(l(),d("div",mV,[...t[5]||(t[5]=[s("h1",{class:"paper-empty-title m-auto"},[y("Empty "),s("em",null,"file"),y(".")],-1)])])):f("v-if",!0),e.type=="binary"?(l(),d("div",hV,[s("h1",vV,[t[6]||(t[6]=y("Unsupported ",-1)),t[7]||(t[7]=s("em",null,"binary file",-1)),t[8]||(t[8]=y(". You can ",-1)),s("a",{target:"_blank",href:e.safeUrl(e.url+"&download=true")},"download it",8,yV),t[9]||(t[9]=y(".",-1))])])):f("v-if",!0)],64)}var gV={class:"container page dashboard-page paper-page"},bV={class:"row"},wV={class:"w-100"},kV={class:"w-100","aria-label":"Pull Requests","accept-charset":"UTF-8"},_V={class:"d-flex flex-column flex-md-row align-items-md-center",style:{gap:"8px"}},EV={class:"flex-grow-1"},CV={type:"search",id:"search",class:"form-control","aria-label":"Find a pull request...",placeholder:"Find a pull request...",autocomplete:"off"},NV={class:"d-flex flex-wrap",style:{gap:"6px"}},SV={class:"dropdown"},DV={class:"dropdown-menu","aria-labelledby":"dropdownSort"},RV={class:"form-check dropdown-item"},TV={class:"form-check-input",type:"radio",name:"sort",id:"sortFullName",value:"fullName"},OV={class:"form-check dropdown-item"},AV={class:"form-check-input",type:"radio",name:"sort",id:"sortAnonymizeDate",value:"-anonymizeDate"},IV={class:"form-check dropdown-item"},VV={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},PV={class:"form-check dropdown-item"},qV={class:"form-check-input",type:"radio",name:"sort",id:"sortLastView",value:"-lastView"},MV={class:"form-check dropdown-item"},$V={class:"form-check-input",type:"radio",name:"sort",id:"sortPageView",value:"-pageView"},UV={class:"dropdown"},LV={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},FV={class:"form-check dropdown-item"},zV={class:"form-check-input",type:"checkbox",name:"sort",id:"statusReady",value:"ready"},HV={class:"form-check dropdown-item"},BV={class:"form-check-input",type:"checkbox",name:"sort",id:"statusExpired",value:"expired"},GV={class:"form-check dropdown-item"},jV={class:"form-check-input",type:"checkbox",name:"sort",id:"statusRemoved",value:"removed"},WV={class:"d-flex flex-wrap mt-2",style:{gap:"6px"}},KV={class:"filter-chip"},YV=["onClick"],JV={class:"repo-list w-100"},QV={class:"repo-list-item-content"},XV={class:"repo-list-item-main"},ZV={class:"repo-list-item-header"},xV=["textContent","href"],eP=["textContent"],tP=["textContent"],sP={class:"repo-source"},nP=["href"],oP={class:"repo-date"},rP={class:"repo-meta"},iP={key:0,title:"Conference"},aP=["title"],lP=["title"],dP=["title"],uP={key:1},cP={class:"repo-list-item-actions"},pP={class:"dropdown"},fP={class:"dropdown-menu dropdown-menu-right"},mP=["href"],hP=["onClick"],vP=["onClick"],yP=["onClick"],gP=["href"],bP={key:0,class:"repo-list-empty"};function vl(e,t){let o=be("field"),r=be("form");return l(),d("div",gV,[s("div",bV,[s("div",wV,[t[12]||(t[12]=ge('
My work \xA0/\xA0 Pull requests

Anonymized pull requests

Track PR mirrors you\u2019ve created and their reviewer traffic.

',2)),f(" Search + filters row "),E((l(),d("form",kV,[s("div",_V,[s("div",EV,[E(s("input",CV,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",NV,[s("div",SV,[t[6]||(t[6]=s("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Sort ",-1)),s("div",DV,[t[5]||(t[5]=s("h6",{class:"dropdown-header"},"Select order",-1)),s("div",RV,[E(s("input",TV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[0]||(t[0]=s("label",{class:"form-check-label",for:"sortFullName"},"Pull Request",-1))]),s("div",OV,[E(s("input",AV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[1]||(t[1]=s("label",{class:"form-check-label",for:"sortAnonymizeDate"},"Anonymize Date",-1))]),s("div",IV,[E(s("input",VV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[2]||(t[2]=s("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),s("div",PV,[E(s("input",qV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=s("label",{class:"form-check-label",for:"sortLastView"},"Last View",-1))]),s("div",MV,[E(s("input",$V,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=s("label",{class:"form-check-label",for:"sortPageView"},"Page View",-1))])])]),s("div",UV,[t[11]||(t[11]=s("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Status ",-1)),s("div",LV,[t[10]||(t[10]=s("h6",{class:"dropdown-header"},"Select status",-1)),s("div",FV,[E(s("input",zV,null,512),[[o,{state:e.viewState,set:n=>{e.filters.status.ready=n},value:e.filters?.status?.ready,form:null,options:{}}]]),t[7]||(t[7]=s("label",{class:"form-check-label",for:"statusReady"},"Ready",-1))]),s("div",HV,[E(s("input",BV,null,512),[[o,{state:e.viewState,set:n=>{e.filters.status.expired=n},value:e.filters?.status?.expired,form:null,options:{}}]]),t[8]||(t[8]=s("label",{class:"form-check-label",for:"statusExpired"},"Expired",-1))]),s("div",GV,[E(s("input",jV,null,512),[[o,{state:e.viewState,set:n=>{e.filters.status.removed=n},value:e.filters?.status?.removed,form:null,options:{}}]]),t[9]||(t[9]=s("label",{class:"form-check-label",for:"statusRemoved"},"Removed",-1))])])])])])])),[[r,e.viewState]]),f(" Active filter chips "),E(s("div",WV,[(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>E((l(),d("span",KV,[y(c(e.fmt?.title(i))+" ",1),s("button",{type:"button",class:"filter-chip-close","aria-label":"Remove filter",onClick:u=>{e.filters.status[i]=!0}}," \xD7 ",8,YV)],512)),[[B,!n]])),256))],512),[[B,e.filters?.status?.ready===!1||e.filters?.status?.expired===!1||e.filters?.status?.removed===!1]])]),f(" Pull request list "),s("ul",JV,[(l(!0),d(J,null,ne(e.filteredPullRequests,(n,i)=>(l(),d("li",{class:O(["repo-list-item",{"repo-inactive":n?.status=="expired"||n?.status=="removed"||n?.status=="error"}])},[s("div",QV,[s("div",XV,[s("div",ZV,[s("a",{class:"repo-name",textContent:c(n?.pullRequestId),href:e.safeUrl("/pr/"+n?.pullRequestId)},null,8,xV),s("span",{class:O(["status-badge",{"status-removed":n?.status=="removed"||n?.status=="expired"||n?.status=="removing"||n?.status=="expiring","status-preparing":n?.status=="preparing"||n?.status=="download","status-ready":n?.status=="ready","status-error":n?.status=="error"}])},[s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,eP),n?.status=="error"?(l(),d("span",{key:0,textContent:c(": "+n?.statusMessage)},null,8,tP)):f("v-if",!0)],2)]),s("div",sP,[s("span",null,[t[13]||(t[13]=s("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)),s("a",{href:e.safeUrl("https://github.com/"+n?.source?.repositoryFullName+"/pull/"+n?.source?.pullRequestId)},c(n?.source?.repositoryFullName)+"#"+c(n?.source?.pullRequestId),9,nP)]),s("span",{class:O(["status-badge",{"status-ready":n?.merged,"status-removed":n?.state=="open","status-error":n?.state=="closed"&&!n?.merged}]),style:{"font-size":"10px"}},c(e.fmt?.title(n?.merged?"merged":n?.state)),3),s("span",oP,"anonymized "+c(e.fmt?.humanTime(n?.anonymizeDate)),1)])]),s("div",rP,[n?.conference?(l(),d("span",iP,[t[14]||(t[14]=s("i",{class:"fas fa-chalkboard-teacher"},null,-1)),y(" "+c(n?.conference),1)])):f("v-if",!0),s("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Terms: "+n?.options?.terms?.join(", ")},[t[15]||(t[15]=s("i",{class:"fas fa-shield-alt"},null,-1)),y(" "+c(e.fmt?.number(n?.options?.terms?.length)),1)],8,aP),s("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Views: "+e.fmt?.number(n?.pageView)},[t[16]||(t[16]=s("i",{class:"far fa-eye"},null,-1)),y(" "+c(e.fmt?.number(n?.pageView)),1)],8,lP),s("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Last view: "+e.fmt?.date(n?.lastView)},[t[17]||(t[17]=s("i",{class:"far fa-calendar-alt"},null,-1)),y(" "+c(e.fmt?.humanTime(n?.lastView)),1)],8,dP),n?.options?.expirationMode!="never"&&n?.status=="ready"?(l(),d("span",uP,[t[18]||(t[18]=s("i",{class:"far fa-clock"},null,-1)),y(" Expire: "+c(e.fmt?.humanTime(n?.options?.expirationDate)),1)])):f("v-if",!0)])]),s("div",cP,[s("div",pP,[t[24]||(t[24]=s("button",{class:"btn btn-sm dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Actions ",-1)),s("div",fP,[s("a",{class:"dropdown-item",href:e.safeUrl("/pull-request-anonymize/"+n?.pullRequestId)},[...t[19]||(t[19]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,mP),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.updatePullRequest(n),["prevent"])},[...t[20]||(t[20]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force update ",-1)])],8,hP),[[B,n?.status=="ready"||n?.status=="error"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.updatePullRequest(n),["prevent"])},[...t[21]||(t[21]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Enable ",-1)])],8,vP),[[B,n?.status=="removed"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:we(a=>e.removePullRequest(n),["prevent"])},[...t[22]||(t[22]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove ",-1)])],8,yP),[[B,n?.status=="ready"]]),s("a",{class:"dropdown-item",href:e.safeUrl("/pr/"+n?.pullRequestId+"/")},[...t[23]||(t[23]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View PR ",-1)])],8,gP)])])])],2))),256)),e.filteredPullRequests?.length==0?(l(),d("li",bP,[...t[25]||(t[25]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No pull requests to display.",-1)])])):f("v-if",!0)])])])}var wP={class:"container paper-page paper-settings"},kP={class:"paper-settings-body"},_P={class:"paper-settings-toc"},EP={class:"paper-settings-main"},CP={id:"settings-quota",class:"paper-settings-section"},NP={key:0,class:"quota-row"},SP={class:"quota-item"},DP={class:"quota-header"},RP={class:"quota-label"},TP={key:0,class:"quota-value"},OP={key:0},AP={key:1,class:"quota-unlimited-tag"},IP={key:1,class:"quota-value"},VP={key:0},PP={key:1,class:"quota-unlimited-tag"},qP=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],MP={key:1,class:"quota-row","aria-hidden":"true"},$P={class:"quota-item"},UP={id:"settings-terms",class:"paper-settings-section"},LP={class:"form-group"},FP={class:"form-control",id:"terms",name:"terms",rows:"4",placeholder:`Jane Smith + label names the service and the tooltip says who to contact. `),t[12]||(t[12]=s("li",{class:"nav-item d-none d-lg-block"},[s("a",{class:"nav-link",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",title:"Report a problem with the Anonymous GitHub service. Questions about an anonymized repository or paper go to its authors.","data-offset":"30"},[s("i",{class:"fas fa-bug d-lg-none mr-1","aria-hidden":"true"}),y("Report a bug ")])],-1)),e.isDarkMode?f("v-if",!0):(l(),d("li",tA,[s("a",{class:"nav-link nav-icon",href:"#",title:"Switch to dark mode","aria-label":"Switch to dark mode",role:"button",onClick:t[0]||(t[0]=ke(o=>{e.darkMode(!0)},["prevent"]))},[...t[7]||(t[7]=[s("i",{class:"fas fa-moon","aria-hidden":"true"},null,-1)])])])),e.isDarkMode?(l(),d("li",sA,[s("a",{class:"nav-link nav-icon",href:"#",title:"Switch to light mode","aria-label":"Switch to light mode",role:"button",onClick:t[1]||(t[1]=ke(o=>{e.darkMode(!1)},["prevent"]))},[...t[8]||(t[8]=[s("i",{class:"fas fa-sun","aria-hidden":"true"},null,-1)])])])):f("v-if",!0),e.user?f("v-if",!0):(l(),d("li",nA,[...t[9]||(t[9]=[s("a",{class:"nav-link btn-signin",target:"_self",href:"/signin","data-offset":"30"},[s("i",{class:"fab fa-github mr-1"}),y(" Sign in ")],-1)])])),e.user?(l(),d("li",oA,[s("a",rA,[e.user?.photo?(l(),d("img",{key:0,width:"22",height:"22",class:"rounded-circle",src:e.safeUrl(e.user?.photo)},null,8,iA)):f("v-if",!0),s("span",aA,c(e.user?.username),1)]),s("div",lA,[s("h6",dA,"Signed in as @"+c(e.user?.username),1),t[10]||(t[10]=be('SettingsDefaults, quotas, accountGitHub connectionsRepository access and OAuthClaim an anonymizationAttach an existing mirror to your accountReport a bugAbout this service, not a paperSource codeSign out',8))])])):f("v-if",!0)])])],2),e.generalMessage?(l(),d("div",{key:0,class:"navbar shadow generalMessage",innerHTML:e.sanitize(e.generalMessage)},null,8,uA)):f("v-if",!0)],64)}var cA={class:"paper-landing"},pA={class:"paper-hero"},fA={class:"paper-hero-copy"},mA={class:"paper-cta-row"},hA={key:0,href:"/signin",target:"_self",class:"btn-hero"},vA={key:1,href:"/anonymize",class:"btn-hero"},yA={class:"paper-stats paper-wrap",id:"metrics","aria-label":"Usage over the last 60 days"},gA={class:"paper-stats-grid"},bA={class:"paper-stat-value"},wA={class:"paper-stat-label"},kA=["viewBox"],_A=["x","y","width","height"],EA={key:1,class:"paper-stat-delta"},CA={class:"paper-features paper-wrap","aria-label":"Product features"},NA={class:"paper-features-list",role:"tablist","aria-label":"Features","aria-orientation":"vertical"},SA=["onClick","onKeydown","id","aria-controls","aria-selected","tabindex"],DA={class:"paper-eyebrow"},RA={class:"paper-feature-title"},TA={class:"paper-feature-more"},OA={class:"paper-feature-title paper-feature-title-m","aria-hidden":"true"},AA=["href","target"],IA={class:"paper-features-stage"},VA=["id","aria-labelledby"],PA={class:"paper-frame"},qA={class:"paper-frame-bar","aria-hidden":"true"},MA={class:"url"},$A=["src","alt"],UA={class:"paper-footer"},LA={class:"paper-footer-inner"},FA={class:"paper-footer-col"},zA={key:0,href:"/dashboard"},HA={key:1,href:"/conferences"},BA={class:"paper-footer-foot"};function fl(e,t){return l(),d("div",cA,[f(" Hero: copy on the left, the product on the right "),s("section",pA,[s("div",fA,[t[2]||(t[2]=s("div",{class:"paper-eyebrow"},"For double-blind peer review",-1)),t[3]||(t[3]=s("h1",{class:"hero-title"},[y(" Share the code,"),s("br"),s("span",{class:"accent"},"not the author.")],-1)),t[4]||(t[4]=s("p",{class:"hero-subtitle"}," Anonymous GitHub makes a read-only mirror of your repository, pull request, or gist with every trace of identity removed, so you can attach a link to your submission without breaking anonymity. ",-1)),s("div",mA,[e.user?f("v-if",!0):(l(),d("a",hA,[...t[0]||(t[0]=[s("i",{class:"fab fa-github mr-2","aria-hidden":"true"},null,-1),y("Sign in with GitHub ",-1)])])),e.user?(l(),d("a",vA," Anonymize a repository \u2192 ")):f("v-if",!0),t[1]||(t[1]=s("a",{class:"paper-link-arrow",target:"_self",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/"},"See an anonymized repository \u2192",-1))]),t[5]||(t[5]=s("ul",{class:"paper-reassure"},[s("li",null,"Free and open source"),s("li",null,"Read-only: never writes to your repos"),s("li",null,"Expires on the date you set")],-1))]),t[6]||(t[6]=be('
The anonymize form with a live README preview showing the redactions
',1))]),f(" Proof "),t[16]||(t[16]=be('
Trusted by authors at
ICSEFSEOOPSLA
',1)),f(" Live stats "),s("section",yA,[t[7]||(t[7]=s("div",{class:"paper-stats-meta"},[s("div",{class:"paper-stats-meta-left"},"Live \xB7 last 60 days"),s("div",{class:"paper-stats-meta-right"},[s("span",{class:"paper-stats-dot","aria-hidden":"true"}),y(" updated daily ")])],-1)),s("div",gA,[(l(!0),d(J,null,ne(e.cards,(o,r)=>(l(),d("div",{class:"paper-stat-card",key:o?.key},[s("div",bA,c(e.fmt?.bigNum(o?.total)),1),s("div",wA,c(o?.label),1),e.history[o?.key].bars?.length>1?(l(),d("svg",{key:0,class:"paper-stat-bars",preserveAspectRatio:"none","aria-hidden":"true",viewBox:"0 0 "+e.history[o?.key].viewW+" 36"},[(l(!0),d(J,null,ne(e.history[o?.key].bars,(n,i)=>(l(),d("rect",{key:i,class:O({"is-latest":i===e.history[o.key].bars.length-1}),x:n?.x,y:n?.y,width:n?.w,height:n?.h},null,10,_A))),128))],8,kA)):f("v-if",!0),e.history[o?.key].bars?.length>1?(l(),d("div",EA," +"+c(e.fmt?.number(e.history[o?.key].deltaToday))+" today ",1)):f("v-if",!0)]))),128))])]),f(" Before / after "),t[17]||(t[17]=s("section",{class:"paper-section-head paper-wrap"},[s("div",null,[s("div",{class:"paper-eyebrow"},"Before \xB7 after"),s("h2",null,[y("The same repository, "),s("em",null,"minus you.")])]),s("p",null," Names, affiliations, emails, and any term you list are replaced across the README, source files, notebooks, and PDF links. Reviewers browse the real thing, not a zip. ")],-1)),t[18]||(t[18]=s("div",{class:"paper-preview paper-wrap","aria-label":"Before and after example"},[s("div",{class:"pane"},[s("div",{class:"pane-header"},[s("span",{class:"pane-label"},"Before \xB7 your repo"),s("span",{class:"pane-url"},"github.com/jane-smith/DeepLearnUtils")]),s("div",{class:"pane-body"},[s("div",null,[s("span",{class:"tok"},"#"),y(),s("strong",null,"DeepLearnUtils")]),s("div",null,"Developed by Jane Smith at MIT CSAIL."),s("div",null,"See Smith et\xA0al., \u201CAttention That Works,\u201D 2026."),s("div",null,"Contact: jane.smith@mit.edu")])]),s("div",{class:"pane"},[s("div",{class:"pane-header"},[s("span",{class:"pane-label"},"After \xB7 anonymous mirror"),s("span",{class:"pane-url"},"anonymous.4open.science/r/paper-7f2a")]),s("div",{class:"pane-body"},[s("div",null,[s("span",{class:"tok"},"#"),y(),s("strong",null,"DeepLearnUtils")]),s("div",null,[y("Developed by "),s("span",{class:"redact",role:"img","aria-label":"redacted author name"},"XXXX-1"),y(" at "),s("span",{class:"redact",role:"img","aria-label":"redacted affiliation"},"XXXX-2"),y(".")]),s("div",null,[y("See "),s("span",{class:"redact",role:"img","aria-label":"redacted author name"},"XXXX-1"),y(" et\xA0al., \u201CAttention That Works,\u201D 2026.")]),s("div",null,[y("Contact: "),s("span",{class:"redact",role:"img","aria-label":"redacted email address"},"XXXX-3")])])])],-1)),f(" What you get: one screenshot, three tabs "),t[19]||(t[19]=s("section",{class:"paper-section-head paper-wrap",id:"about"},[s("div",null,[s("div",{class:"paper-eyebrow"},"What you get"),s("h2",null,[y("Anonymize, review, "),s("em",null,"manage.")])]),s("p",null," Every mirror is read-only and passes through the same filter, from the README to a PDF's link targets. Monitor it, update it, or remove it the day the decision is out. ")],-1)),s("section",CA,[s("div",NA,[(l(!0),d(J,null,ne(e.features,(o,r)=>(l(),d("div",{class:O(["paper-feature",{"is-on":e.feature===o?.key}]),key:o?.key},[s("button",{type:"button",class:"paper-feature-tab",role:"tab",onClick:n=>e.selectFeature(o.key),onKeydown:n=>e.featureKeydown(n,r),id:"feature-tab-"+o?.key,"aria-controls":"feature-panel-"+o?.key,"aria-selected":e.feature===o?.key,tabindex:e.feature===o?.key?0:-1},[s("span",DA,c(o?.num)+" \xB7 "+c(o?.eyebrow),1),s("span",RA,[y(c(o?.title)+" ",1),s("em",null,c(o?.accent),1)])],40,SA),s("div",TA,[s("span",OA,[y(c(o?.title)+" ",1),s("em",null,c(o?.accent),1)]),s("p",null,c(o?.text),1),s("a",{class:"paper-link-arrow",href:e.safeUrl(e.featureHref(o)),target:e.featureTarget(o)},c(o?.cta)+" \u2192",9,AA)])],2))),128))]),s("div",IA,[(l(!0),d(J,null,ne(e.features,(o,r)=>E((l(),d("div",{class:"paper-feature-panel",role:"tabpanel",key:o?.key,id:"feature-panel-"+o?.key,"aria-labelledby":"feature-tab-"+o?.key},[s("div",PA,[s("div",qA,[t[8]||(t[8]=s("span",{class:"dots"},[s("i"),s("i"),s("i")],-1)),s("span",MA,c(o?.url),1)]),s("div",{class:O("paper-crop paper-crop-"+o?.key)},[s("img",{loading:"lazy",width:"2880",height:"1800",src:e.safeUrl(o?.img),alt:o?.alt},null,8,$A)],2)])],8,VA)),[[B,e.feature===o?.key]])),128))])]),f(" FAQ teaser "),t[20]||(t[20]=be('
Before you sign in

The questions that come up most.

Read the full FAQ \u2192
Why does GitHub ask for write access at sign-in?

GitHub's OAuth scopes have no read-only option for private repositories. Anonymous GitHub only ever reads your repositories; it never pushes, modifies, or deletes anything.

Which file formats are supported?

Source code with syntax highlighting, Markdown, Jupyter notebooks, PDFs, images, and GitHub Pages sites. Everything passes through the same redaction filter.

What happens when an anonymized repository expires?

You choose: the mirror is removed, or visitors are redirected to the original GitHub repository once the review is over.

',1)),s("footer",UA,[s("div",LA,[t[12]||(t[12]=s("div",{class:"paper-footer-brand"},[s("div",{class:"paper-footer-mark"},[y("Anonymous "),s("em",null,"GitHub")]),s("p",{class:"paper-footer-tag"}," A read-only, identity-stripped mirror of your repository, built for double-blind peer review. ")],-1)),s("div",FA,[t[9]||(t[9]=s("div",{class:"paper-footer-head"},"Product",-1)),t[10]||(t[10]=s("a",{href:"/anonymize"},"Anonymize",-1)),e.user?(l(),d("a",zA,"My work")):f("v-if",!0),e.user?(l(),d("a",HA,"Conferences")):f("v-if",!0),t[11]||(t[11]=s("a",{href:"/faq"},"FAQ",-1))]),t[13]||(t[13]=be('',2))]),t[15]||(t[15]=s("div",{class:"paper-footer-rule"},null,-1)),s("div",BA,[s("span",null,"\xA9 "+c(e.year||2026)+" Anonymous GitHub \xB7 MIT licensed",1),t[14]||(t[14]=s("span",{class:"paper-footer-meta"},"Built for reviewers, by researchers.",-1))])])])}var GA={class:"paper-empty"},jA={class:"paper-empty-inner"},WA={key:0,class:"paper-eyebrow"},KA={key:1,class:"paper-eyebrow"},YA={key:2,class:"paper-empty-title"},JA=["textContent"];function ml(e,t){return l(),d("div",GA,[s("div",jA,[e.error?f("v-if",!0):(l(),d("div",WA,"Working")),e.error?(l(),d("div",KA,"Error")):f("v-if",!0),e.error?f("v-if",!0):(l(),d("h1",YA,[...t[0]||(t[0]=[y(" Loading",-1),s("span",{class:"dot-anim"},"\u2026",-1)])])),e.error?(l(),d("h1",{key:3,class:"paper-empty-title",textContent:c(e.fmt.translate(e.error))},null,8,JA)):f("v-if",!0)])])}var QA={class:"container paper-page paper-settings"},XA={class:"paper-crumbs"},ZA={class:"here"},xA={class:"paper-page-title"},eI={class:"paper-settings-body"},tI={class:"paper-settings-toc"},sI={href:"#conf-billing"},nI={class:"form needs-validation paper-settings-main",name:"conference",novalidate:""},oI={id:"conf-basics",class:"paper-settings-section"},rI={class:"form-group"},iI={class:"invalid-feedback"},aI={class:"invalid-feedback"},lI={class:"form-group"},dI={class:"invalid-feedback"},uI={class:"form-group"},cI={class:"invalid-feedback"},pI={class:"invalid-feedback"},fI={id:"conf-window",class:"paper-settings-section"},mI={class:"form-grid-2"},hI={class:"form-group"},vI={class:"invalid-feedback"},yI={class:"invalid-feedback"},gI={class:"form-group"},bI={class:"invalid-feedback"},wI={class:"invalid-feedback"},kI={id:"conf-rendering",class:"paper-settings-section"},_I={class:"form-check"},EI={class:"form-check-input",type:"checkbox",id:"link",name:"link"},CI={class:"form-check"},NI={class:"form-check-input",type:"checkbox",id:"image",name:"image"},SI={class:"form-check"},DI={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},RI={class:"form-check"},TI={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},OI={id:"conf-features",class:"paper-settings-section"},AI={class:"form-check"},II={class:"form-check-input",type:"checkbox",id:"update",name:"update"},VI={class:"form-check"},PI={class:"form-check-input",type:"checkbox",id:"page",name:"page"},qI={id:"conf-plan",class:"paper-settings-section"},MI={class:"paper-plan-grid"},$I=["value"],UI=["textContent"],LI={class:"paper-plan-price"},FI=["innerHTML"],zI={key:0,id:"conf-billing",class:"paper-settings-section"},HI={class:"form-group"},BI={class:"form-group"},GI={class:"form-group"},jI={class:"form-group"},WI={class:"form-grid-3"},KI={class:"form-group"},YI={class:"form-group"},JI={class:"form-group"},QI={class:"form-group"},XI={class:"paper-settings-footer"},ZI=["textContent"],xI=["textContent"];function hl(e,t){let o=we("paper-scrollspy"),r=we("field"),n=we("form");return l(),d("div",QA,[s("div",XA,[t[1]||(t[1]=s("a",{href:"/dashboard"},"My work",-1)),t[2]||(t[2]=y(" \xA0/\xA0 ",-1)),t[3]||(t[3]=s("a",{href:"/conferences"},"Conferences",-1)),t[4]||(t[4]=y(" \xA0/\xA0 ",-1)),s("span",ZA,c(e.editionMode?"Edit":"New"),1)]),s("h1",xA,[y(c(e.editionMode?"Edit":"Create a")+" ",1),t[5]||(t[5]=s("em",null,"conference",-1))]),t[42]||(t[42]=s("p",{class:"paper-page-lede"}," Give chairs access to every anonymization submitted to a venue, and lift author quotas during the review window. ",-1)),s("div",eI,[E((l(),d("aside",tI,[t[7]||(t[7]=s("div",{class:"paper-settings-toc-head"},"On this page",-1)),s("nav",null,[t[6]||(t[6]=be('BasicsReview windowRendering defaultsFeaturesPlan',5)),E(s("a",sI,"Billing",512),[[B,e.plan?.pricePerRepo>0]])])])),[[o]]),E((l(),d("form",nI,[s("section",oI,[t[12]||(t[12]=s("div",{class:"paper-section-eyebrow"},"Basics",-1)),s("div",rI,[t[8]||(t[8]=s("label",{class:"paper-field-label",for:"name"},"Conference name",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.name?.invalid&&(e.conference?.name?.touched||e.conference?.submitted)}]),name:"name",id:"name",required:"",placeholder:"e.g. International Conference on Software Engineering"},null,2),[[r,{state:e.viewState,set:i=>{e.options.name=i},value:e.options?.name,form:"conference",options:{}}]]),E(s("div",iI," The name of the conference is invalid. ",512),[[B,e.conference?.name?.errors?.invalid]]),E(s("div",aI," The name of the conference is required. ",512),[[B,e.conference?.name?.errors?.required]])]),s("div",lI,[t[9]||(t[9]=s("label",{class:"paper-field-label",for:"url"},"Website",-1)),E(s("input",{type:"url",class:O(["form-control",{"is-invalid":e.conference?.url?.invalid&&(e.conference?.url?.touched||e.conference?.submitted)}]),name:"url",id:"url",placeholder:"https://example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.url=i},value:e.options?.url,form:"conference",options:{}}]]),E(s("div",dI," The url of the conference is invalid. ",512),[[B,e.conference?.url?.errors?.invalid]])]),s("div",uI,[t[10]||(t[10]=s("label",{class:"paper-field-label",for:"conferenceID"},"Conference ID",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.conferenceID?.invalid&&(e.conference?.conferenceID?.touched||e.conference?.submitted)}]),name:"conferenceID",id:"conferenceID",required:"",pattern:"[a-zA-Z0-9\\-_]{3,10}",placeholder:"ICSE26"},null,2),[[r,{state:e.viewState,set:i=>{e.options.conferenceID=i},value:e.options?.conferenceID,form:"conference",options:{}}]]),t[11]||(t[11]=s("small",{class:"form-text text-muted"},[y("3\u201310 characters, letters, numbers, "),s("code",null,"-"),y(" and "),s("code",null,"_"),y(". Authors reference this when they anonymize.")],-1)),E(s("div",{class:"invalid-feedback"}," The conference ID '"+c(e.options?.conferenceID)+"' is already used. ",513),[[B,e.conference?.conferenceID?.errors?.used]]),E(s("div",cI," The conference ID is required. ",512),[[B,e.conference?.conferenceID?.errors?.required]]),E(s("div",pI," The format of the conference ID is incorrect ([a-zA-Z0-9-_]{3,10}). ",512),[[B,e.conference?.conferenceID?.errors?.pattern]])])]),s("section",fI,[t[17]||(t[17]=s("div",{class:"paper-section-eyebrow"},"Review window",-1)),s("div",mI,[s("div",hI,[t[13]||(t[13]=s("label",{class:"paper-field-label",for:"startDate"},"Start date",-1)),E(s("input",{type:"date",class:O(["form-control",{"is-invalid":e.conference?.startDate?.invalid&&(e.conference?.startDate?.touched||e.conference?.submitted)}]),name:"startDate",id:"startDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.startDate=i},value:e.options?.startDate,form:"conference",options:{}}]]),t[14]||(t[14]=s("small",{class:"form-text text-muted"},"Beginning of the review process.",-1)),E(s("div",vI," Start date is required. ",512),[[B,e.conference?.startDate?.errors?.required]]),E(s("div",yI," Start date must be before end date. ",512),[[B,e.conference?.startDate?.errors?.invalid]])]),s("div",gI,[t[15]||(t[15]=s("label",{class:"paper-field-label",for:"endDate"},"End date",-1)),E(s("input",{type:"date",class:O(["form-control",{"is-invalid":e.conference?.endDate?.invalid&&(e.conference?.endDate?.touched||e.conference?.submitted)}]),name:"endDate",id:"endDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.endDate=i},value:e.options?.endDate,form:"conference",options:{}}]]),t[16]||(t[16]=s("small",{class:"form-text text-muted"},"All repositories expire on this date.",-1)),E(s("div",bI," End date is required. ",512),[[B,e.conference?.endDate?.errors?.required]]),E(s("div",wI," End date is invalid. ",512),[[B,e.conference?.endDate?.errors?.invalid]])])])]),s("section",kI,[t[25]||(t[25]=s("div",{class:"paper-section-eyebrow"},"Rendering defaults",-1)),s("div",_I,[E(s("input",EI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.link=i},value:e.options?.options?.link,form:"conference",options:{}}]]),t[18]||(t[18]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[19]||(t[19]=s("small",{class:"form-text text-muted"},"Keep or remove all links from text files.",-1))]),s("div",CI,[E(s("input",NI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.image=i},value:e.options?.options?.image,form:"conference",options:{}}]]),t[20]||(t[20]=s("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[21]||(t[21]=s("small",{class:"form-text text-muted"},"Images are not anonymized.",-1))]),s("div",SI,[E(s("input",DI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.pdf=i},value:e.options?.options?.pdf,form:"conference",options:{}}]]),t[22]||(t[22]=s("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[23]||(t[23]=s("small",{class:"form-text text-muted"},"PDFs are not anonymized.",-1))]),s("div",RI,[E(s("input",TI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.notebook=i},value:e.options?.options?.notebook,form:"conference",options:{}}]]),t[24]||(t[24]=s("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))])]),s("section",OI,[t[30]||(t[30]=s("div",{class:"paper-section-eyebrow"},"Features",-1)),s("div",AI,[E(s("input",II,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.update=i},value:e.options?.options?.update,form:"conference",options:{}}]]),t[26]||(t[26]=s("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[27]||(t[27]=s("small",{class:"form-text text-muted"},"Pull the latest commit automatically (hourly maximum).",-1))]),s("div",VI,[E(s("input",PI,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.page=i},value:e.options?.options?.page,form:"conference",options:{}}]]),t[28]||(t[28]=s("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[29]||(t[29]=s("small",{class:"form-text text-muted"},"Enable anonymized GitHub pages.",-1))])]),s("section",qI,[t[32]||(t[32]=s("div",{class:"paper-section-eyebrow"},"Plan",-1)),t[33]||(t[33]=s("p",{class:"paper-section-copy"},"Billed per repository per month, prorated by the day for as long as a repository stays in the conference.",-1)),s("div",MI,[(l(!0),d(J,null,ne(e.plans,(i,a)=>(l(),d("label",{class:O(["paper-plan-card",{selected:e.options?.plan?.planID==i?.id}])},[E(s("input",{type:"radio",name:"planPicker",value:i?.id},null,8,$I),[[r,{state:e.viewState,set:u=>{e.options.plan.planID=u},value:e.options?.plan?.planID,form:"conference",options:{}}]]),s("div",{class:"paper-plan-head",textContent:c(i?.name)},null,8,UI),s("div",LI,[y(c(e.fmt?.number(i?.pricePerRepo))+"\u20AC ",1),t[31]||(t[31]=s("span",{class:"paper-plan-per"},"/ repo / month",-1))]),s("div",{class:"paper-plan-desc",innerHTML:e.sanitize(i?.description)},null,8,FI)],2))),256))])]),e.plan?.pricePerRepo>0?(l(),d("section",zI,[t[41]||(t[41]=s("div",{class:"paper-section-eyebrow"},"Billing",-1)),s("div",HI,[t[34]||(t[34]=s("label",{class:"paper-field-label",for:"billing_name"},"Name",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.billing_name?.invalid&&(e.conference?.billing_name?.touched||e.conference?.submitted)}]),name:"billing_name",id:"billing_name",required:"",placeholder:"First & last name"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.name=i},value:e.options?.billing?.name,form:"conference",options:{}}]])]),s("div",BI,[t[35]||(t[35]=s("label",{class:"paper-field-label",for:"email"},"Email",-1)),E(s("input",{type:"email",class:O(["form-control",{"is-invalid":e.conference?.email?.invalid&&(e.conference?.email?.touched||e.conference?.submitted)}]),name:"email",id:"email",required:"",placeholder:"you@example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.email=i},value:e.options?.billing?.email,form:"conference",options:{}}]])]),s("div",GI,[t[36]||(t[36]=s("label",{class:"paper-field-label",for:"inputAddress"},"Address",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.inputAddress?.invalid&&(e.conference?.inputAddress?.touched||e.conference?.submitted)}]),name:"inputAddress",id:"inputAddress",required:"",placeholder:"1234 Main St"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address=i},value:e.options?.billing?.address,form:"conference",options:{}}]])]),s("div",jI,[E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.inputAddress2?.invalid&&(e.conference?.inputAddress2?.touched||e.conference?.submitted)}]),name:"inputAddress2",id:"inputAddress2",placeholder:"Apartment, studio, or floor"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address2=i},value:e.options?.billing?.address2,form:"conference",options:{}}]])]),s("div",WI,[s("div",KI,[t[37]||(t[37]=s("label",{class:"paper-field-label",for:"city"},"City",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.city?.invalid&&(e.conference?.city?.touched||e.conference?.submitted)}]),name:"city",id:"city",required:"",placeholder:"City"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.city=i},value:e.options?.billing?.city,form:"conference",options:{}}]])]),s("div",YI,[t[38]||(t[38]=s("label",{class:"paper-field-label",for:"country"},"Country",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.country?.invalid&&(e.conference?.country?.touched||e.conference?.submitted)}]),name:"country",id:"country",required:"",placeholder:"Country"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.country=i},value:e.options?.billing?.country,form:"conference",options:{}}]])]),s("div",JI,[t[39]||(t[39]=s("label",{class:"paper-field-label",for:"zip"},"Zip",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.zip?.invalid&&(e.conference?.zip?.touched||e.conference?.submitted)}]),name:"zip",id:"zip",required:"",placeholder:"Zip"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.zip=i},value:e.options?.billing?.zip,form:"conference",options:{}}]])])]),s("div",QI,[t[40]||(t[40]=s("label",{class:"paper-field-label",for:"vat"},"VAT number",-1)),E(s("input",{type:"text",class:O(["form-control",{"is-invalid":e.conference?.vat?.invalid&&(e.conference?.vat?.touched||e.conference?.submitted)}]),name:"vat",id:"vat",placeholder:"VAT Number"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.vat=i},value:e.options?.billing?.vat,form:"conference",options:{}}]])])])):f("v-if",!0),s("div",XI,[e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,ZI)):f("v-if",!0),e.message?(l(),d("div",{key:1,class:"alert alert-success",role:"alert",textContent:c(e.message)},null,8,xI)):f("v-if",!0),s("button",{id:"send",type:"submit",class:"btn btn-ink",onClick:t[0]||(t[0]=ke(i=>e.submitForm(i,()=>{e.submit(i)}),["prevent"]))},c(e.editionMode?"Update":"Create")+" conference ",1)])])),[[n,e.viewState]])])])}var eV={key:0},tV=["innerHTML"],sV={key:3},nV=["src"],oV=["src"],rV={key:7},iV={controls:"controls"},aV=["src"],lV={key:8},dV={key:9,class:"file-error container d-flex h-100"},uV={class:"paper-ratelimit-card m-auto",style:{"max-width":"520px"}},cV={class:"paper-error-msg"},pV={key:10,class:"file-error container d-flex h-100"},fV=["textContent"],mV={key:11,class:"file-error container d-flex h-100"},hV={key:12,class:"file-error container d-flex h-100"},vV={key:13,class:"file-error container d-flex h-100"},yV={key:14,class:"file-error container d-flex h-100"},gV={class:"paper-empty-title m-auto"},bV=["href"];function vl(e,t){let o=tt("html-doc"),r=tt("pdfviewer"),n=tt("notebook"),i=we("code-editor");return l(),d(J,null,[e.type=="text"?E((l(),d("div",eV,null,512)),[[i,{content:e.content,options:e.aceOption}]]):f("v-if",!0),e.type=="html"?(l(),d("div",{key:1,class:"file-content markdown-body",innerHTML:e.sanitize(e.content)},null,8,tV)):f("v-if",!0),e.type=="html-doc"&&!e.showSource&&e.content!=null?(l(),_s(o,{key:2,content:e.content,"base-url":e.fileBaseUrl,"allow-scripts":e.allowScripts},null,8,["content","base-url","allow-scripts"])):f("v-if",!0),(e.type=="code"||e.type=="html-doc"&&e.showSource)&&e.content!=null?E((l(),d("div",sV,null,512)),[[i,{content:e.content,options:e.aceOption}]]):f("v-if",!0),e.type=="image"?(l(),d("img",{key:4,class:"image-content",src:e.safeUrl(e.url)},null,8,nV)):f("v-if",!0),e.type=="media"?(l(),d("iframe",{key:5,class:"h-100 overflow-auto w-100 b-0",src:e.safeUrl(e.url)},null,8,oV)):f("v-if",!0),e.type=="pdf"?(l(),_s(r,{key:6,src:e.safeUrl(e.url)},null,8,["src"])):f("v-if",!0),e.type=="audio"?(l(),d("div",rV,[s("audio",iV,[s("source",{src:e.safeUrl(e.url)},null,8,aV)])])):f("v-if",!0),e.type=="IPython"?(l(),d("div",lV,[Re(n,{file:e.url,content:e.content},null,8,["file","content"])])):f("v-if",!0),e.type=="rate_limited"?(l(),d("div",dV,[s("div",uV,[t[2]||(t[2]=s("div",{class:"paper-ratelimit-head"},[s("i",{class:"fas fa-hourglass-half"}),s("div",null,[s("div",{class:"paper-error-eyebrow"},"Temporarily paused"),s("div",{class:"paper-error-title"},"GitHub API rate limit reached")])],-1)),s("p",cV,[t[0]||(t[0]=y("This repository will be available in ",-1)),s("strong",null,c(e.rateLimitCountdown),1),t[1]||(t[1]=y(". The page will reload automatically.",-1))])])])):f("v-if",!0),e.type=="error"?(l(),d("div",pV,[s("h1",{class:"paper-empty-title m-auto",textContent:c(e.fmt.translate("ERRORS."+e.content))},null,8,fV)])):f("v-if",!0),e.type=="loading"&&!e.error?(l(),d("div",mV,[...t[3]||(t[3]=[s("h1",{class:"paper-empty-title m-auto"},"Loading\u2026",-1)])])):f("v-if",!0),e.type=="empty"?(l(),d("div",hV,[...t[4]||(t[4]=[s("h1",{class:"paper-empty-title m-auto"},[y("Empty "),s("em",null,"repository"),y(".")],-1)])])):f("v-if",!0),e.content==null&&e.type!="empty"?(l(),d("div",vV,[...t[5]||(t[5]=[s("h1",{class:"paper-empty-title m-auto"},[y("Empty "),s("em",null,"file"),y(".")],-1)])])):f("v-if",!0),e.type=="binary"?(l(),d("div",yV,[s("h1",gV,[t[6]||(t[6]=y("Unsupported ",-1)),t[7]||(t[7]=s("em",null,"binary file",-1)),t[8]||(t[8]=y(". You can ",-1)),s("a",{target:"_blank",href:e.safeUrl(e.url+"&download=true")},"download it",8,bV),t[9]||(t[9]=y(".",-1))])])):f("v-if",!0)],64)}var wV={class:"container page dashboard-page paper-page"},kV={class:"row"},_V={class:"w-100"},EV={class:"w-100","aria-label":"Pull Requests","accept-charset":"UTF-8"},CV={class:"d-flex flex-column flex-md-row align-items-md-center",style:{gap:"8px"}},NV={class:"flex-grow-1"},SV={type:"search",id:"search",class:"form-control","aria-label":"Find a pull request...",placeholder:"Find a pull request...",autocomplete:"off"},DV={class:"d-flex flex-wrap",style:{gap:"6px"}},RV={class:"dropdown"},TV={class:"dropdown-menu","aria-labelledby":"dropdownSort"},OV={class:"form-check dropdown-item"},AV={class:"form-check-input",type:"radio",name:"sort",id:"sortFullName",value:"fullName"},IV={class:"form-check dropdown-item"},VV={class:"form-check-input",type:"radio",name:"sort",id:"sortAnonymizeDate",value:"-anonymizeDate"},PV={class:"form-check dropdown-item"},qV={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},MV={class:"form-check dropdown-item"},$V={class:"form-check-input",type:"radio",name:"sort",id:"sortLastView",value:"-lastView"},UV={class:"form-check dropdown-item"},LV={class:"form-check-input",type:"radio",name:"sort",id:"sortPageView",value:"-pageView"},FV={class:"dropdown"},zV={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},HV={class:"form-check dropdown-item"},BV={class:"form-check-input",type:"checkbox",name:"sort",id:"statusReady",value:"ready"},GV={class:"form-check dropdown-item"},jV={class:"form-check-input",type:"checkbox",name:"sort",id:"statusExpired",value:"expired"},WV={class:"form-check dropdown-item"},KV={class:"form-check-input",type:"checkbox",name:"sort",id:"statusRemoved",value:"removed"},YV={class:"d-flex flex-wrap mt-2",style:{gap:"6px"}},JV={class:"filter-chip"},QV=["onClick"],XV={class:"repo-list w-100"},ZV={class:"repo-list-item-content"},xV={class:"repo-list-item-main"},eP={class:"repo-list-item-header"},tP=["textContent","href"],sP=["textContent"],nP=["textContent"],oP={class:"repo-source"},rP=["href"],iP={class:"repo-date"},aP={class:"repo-meta"},lP={key:0,title:"Conference"},dP=["title"],uP=["title"],cP=["title"],pP={key:1},fP={class:"repo-list-item-actions"},mP={class:"dropdown"},hP={class:"dropdown-menu dropdown-menu-right"},vP=["href"],yP=["onClick"],gP=["onClick"],bP=["onClick"],wP=["href"],kP={key:0,class:"repo-list-empty"};function yl(e,t){let o=we("field"),r=we("form");return l(),d("div",wV,[s("div",kV,[s("div",_V,[t[12]||(t[12]=be('
My work \xA0/\xA0 Pull requests

Anonymized pull requests

Track PR mirrors you\u2019ve created and their reviewer traffic.

',2)),f(" Search + filters row "),E((l(),d("form",EV,[s("div",CV,[s("div",NV,[E(s("input",SV,null,512),[[o,{state:e.viewState,set:n=>{e.search=n},value:e.search,form:null,options:{}}]])]),s("div",DV,[s("div",RV,[t[6]||(t[6]=s("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Sort ",-1)),s("div",TV,[t[5]||(t[5]=s("h6",{class:"dropdown-header"},"Select order",-1)),s("div",OV,[E(s("input",AV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[0]||(t[0]=s("label",{class:"form-check-label",for:"sortFullName"},"Pull Request",-1))]),s("div",IV,[E(s("input",VV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[1]||(t[1]=s("label",{class:"form-check-label",for:"sortAnonymizeDate"},"Anonymize Date",-1))]),s("div",PV,[E(s("input",qV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[2]||(t[2]=s("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),s("div",MV,[E(s("input",$V,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=s("label",{class:"form-check-label",for:"sortLastView"},"Last View",-1))]),s("div",UV,[E(s("input",LV,null,512),[[o,{state:e.viewState,set:n=>{e.orderBy=n},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=s("label",{class:"form-check-label",for:"sortPageView"},"Page View",-1))])])]),s("div",FV,[t[11]||(t[11]=s("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Status ",-1)),s("div",zV,[t[10]||(t[10]=s("h6",{class:"dropdown-header"},"Select status",-1)),s("div",HV,[E(s("input",BV,null,512),[[o,{state:e.viewState,set:n=>{e.filters.status.ready=n},value:e.filters?.status?.ready,form:null,options:{}}]]),t[7]||(t[7]=s("label",{class:"form-check-label",for:"statusReady"},"Ready",-1))]),s("div",GV,[E(s("input",jV,null,512),[[o,{state:e.viewState,set:n=>{e.filters.status.expired=n},value:e.filters?.status?.expired,form:null,options:{}}]]),t[8]||(t[8]=s("label",{class:"form-check-label",for:"statusExpired"},"Expired",-1))]),s("div",WV,[E(s("input",KV,null,512),[[o,{state:e.viewState,set:n=>{e.filters.status.removed=n},value:e.filters?.status?.removed,form:null,options:{}}]]),t[9]||(t[9]=s("label",{class:"form-check-label",for:"statusRemoved"},"Removed",-1))])])])])])])),[[r,e.viewState]]),f(" Active filter chips "),E(s("div",YV,[(l(!0),d(J,null,ne(e.filters?.status,(n,i,a)=>E((l(),d("span",JV,[y(c(e.fmt?.title(i))+" ",1),s("button",{type:"button",class:"filter-chip-close","aria-label":"Remove filter",onClick:u=>{e.filters.status[i]=!0}}," \xD7 ",8,QV)],512)),[[B,!n]])),256))],512),[[B,e.filters?.status?.ready===!1||e.filters?.status?.expired===!1||e.filters?.status?.removed===!1]])]),f(" Pull request list "),s("ul",XV,[(l(!0),d(J,null,ne(e.filteredPullRequests,(n,i)=>(l(),d("li",{class:O(["repo-list-item",{"repo-inactive":n?.status=="expired"||n?.status=="removed"||n?.status=="error"}])},[s("div",ZV,[s("div",xV,[s("div",eP,[s("a",{class:"repo-name",textContent:c(n?.pullRequestId),href:e.safeUrl("/pr/"+n?.pullRequestId)},null,8,tP),s("span",{class:O(["status-badge",{"status-removed":n?.status=="removed"||n?.status=="expired"||n?.status=="removing"||n?.status=="expiring","status-preparing":n?.status=="preparing"||n?.status=="download","status-ready":n?.status=="ready","status-error":n?.status=="error"}])},[s("span",{textContent:c(e.fmt?.title(n?.status))},null,8,sP),n?.status=="error"?(l(),d("span",{key:0,textContent:c(": "+n?.statusMessage)},null,8,nP)):f("v-if",!0)],2)]),s("div",oP,[s("span",null,[t[13]||(t[13]=s("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)),s("a",{href:e.safeUrl("https://github.com/"+n?.source?.repositoryFullName+"/pull/"+n?.source?.pullRequestId)},c(n?.source?.repositoryFullName)+"#"+c(n?.source?.pullRequestId),9,rP)]),s("span",{class:O(["status-badge",{"status-ready":n?.merged,"status-removed":n?.state=="open","status-error":n?.state=="closed"&&!n?.merged}]),style:{"font-size":"10px"}},c(e.fmt?.title(n?.merged?"merged":n?.state)),3),s("span",iP,"anonymized "+c(e.fmt?.humanTime(n?.anonymizeDate)),1)])]),s("div",aP,[n?.conference?(l(),d("span",lP,[t[14]||(t[14]=s("i",{class:"fas fa-chalkboard-teacher"},null,-1)),y(" "+c(n?.conference),1)])):f("v-if",!0),s("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Terms: "+n?.options?.terms?.join(", ")},[t[15]||(t[15]=s("i",{class:"fas fa-shield-alt"},null,-1)),y(" "+c(e.fmt?.number(n?.options?.terms?.length)),1)],8,dP),s("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Views: "+e.fmt?.number(n?.pageView)},[t[16]||(t[16]=s("i",{class:"far fa-eye"},null,-1)),y(" "+c(e.fmt?.number(n?.pageView)),1)],8,uP),s("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Last view: "+e.fmt?.date(n?.lastView)},[t[17]||(t[17]=s("i",{class:"far fa-calendar-alt"},null,-1)),y(" "+c(e.fmt?.humanTime(n?.lastView)),1)],8,cP),n?.options?.expirationMode!="never"&&n?.status=="ready"?(l(),d("span",pP,[t[18]||(t[18]=s("i",{class:"far fa-clock"},null,-1)),y(" Expire: "+c(e.fmt?.humanTime(n?.options?.expirationDate)),1)])):f("v-if",!0)])]),s("div",fP,[s("div",mP,[t[24]||(t[24]=s("button",{class:"btn btn-sm dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Actions ",-1)),s("div",hP,[s("a",{class:"dropdown-item",href:e.safeUrl("/pull-request-anonymize/"+n?.pullRequestId)},[...t[19]||(t[19]=[s("i",{class:"far fa-edit","aria-hidden":"true"},null,-1),y(" Edit ",-1)])],8,vP),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.updatePullRequest(n),["prevent"])},[...t[20]||(t[20]=[s("i",{class:"fas fa-sync"},null,-1),y(" Force update ",-1)])],8,yP),[[B,n?.status=="ready"||n?.status=="error"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.updatePullRequest(n),["prevent"])},[...t[21]||(t[21]=[s("i",{class:"fas fa-check-circle"},null,-1),y(" Enable ",-1)])],8,gP),[[B,n?.status=="removed"]]),E(s("a",{class:"dropdown-item",href:"#",onClick:ke(a=>e.removePullRequest(n),["prevent"])},[...t[22]||(t[22]=[s("i",{class:"fas fa-trash-alt"},null,-1),y(" Remove ",-1)])],8,bP),[[B,n?.status=="ready"]]),s("a",{class:"dropdown-item",href:e.safeUrl("/pr/"+n?.pullRequestId+"/")},[...t[23]||(t[23]=[s("i",{class:"fa fa-eye","aria-hidden":"true"},null,-1),y(" View PR ",-1)])],8,wP)])])])],2))),256)),e.filteredPullRequests?.length==0?(l(),d("li",kP,[...t[25]||(t[25]=[s("i",{class:"fas fa-inbox"},null,-1),s("span",null,"No pull requests to display.",-1)])])):f("v-if",!0)])])])}var _P={class:"container paper-page paper-settings"},EP={class:"paper-settings-body"},CP={class:"paper-settings-toc"},NP={class:"paper-settings-main"},SP={id:"settings-quota",class:"paper-settings-section"},DP={key:0,class:"quota-row"},RP={class:"quota-item"},TP={class:"quota-header"},OP={class:"quota-label"},AP={key:0,class:"quota-value"},IP={key:0},VP={key:1,class:"quota-unlimited-tag"},PP={key:1,class:"quota-value"},qP={key:0},MP={key:1,class:"quota-unlimited-tag"},$P=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],UP={key:1,class:"quota-row","aria-hidden":"true"},LP={class:"quota-item"},FP={id:"settings-terms",class:"paper-settings-section"},zP={class:"form-group"},HP={class:"form-control",id:"terms",name:"terms",rows:"4",placeholder:`Jane Smith MIT CSAIL -jane.smith@example.org`},zP={id:"termsHelp",class:"form-text text-muted"},HP={class:"invalid-feedback"},BP={id:"settings-display",class:"paper-settings-section"},GP={class:"form-group paper-check-list"},jP={class:"form-check"},WP={class:"form-check-input",type:"checkbox",id:"link",name:"link"},KP={class:"form-check"},YP={class:"form-check-input",type:"checkbox",id:"image",name:"image"},JP={class:"form-check"},QP={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},XP={class:"form-check"},ZP={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},xP={id:"settings-features",class:"paper-settings-section"},e3={class:"form-group paper-check-list"},t3={class:"form-check"},s3={class:"form-check-input",type:"checkbox",id:"page",name:"page"},n3={class:"form-check"},o3={class:"form-check-input",type:"checkbox",id:"loc",name:"loc"},r3={class:"form-check"},i3={class:"form-check-input",type:"checkbox",id:"update",name:"update"},a3={class:"form-group"},l3={class:"form-control",id:"mode",name:"mode"},d3={class:"form-text text-muted"},u3={id:"settings-expiration",class:"paper-settings-section"},c3={class:"form-group"},p3={class:"form-control",id:"expiration",name:"expiration"},f3={class:"paper-settings-footer"},m3={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},h3=["textContent"],v3={class:"paper-settings-actions"},y3=["disabled"],g3={key:0,class:"fas fa-check mr-1","aria-hidden":"true"},b3={id:"settings-account",class:"paper-settings-section"},w3={class:"paper-account-card"},k3=["src"],_3={class:"paper-account-identity"},E3={class:"paper-account-name"},C3={class:"paper-danger-zone"},N3={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},S3=["textContent"],D3=["disabled"];function yl(e,t){let o=be("paper-scrollspy"),r=be("field"),n=be("form");return l(),d("div",wP,[t[48]||(t[48]=ge('
My work \xA0/\xA0 Settings

Your settings

Defaults applied to every new anonymization, your quotas, and your account.

',3)),s("div",kP,[E((l(),d("aside",_P,[...t[2]||(t[2]=[ge('
On this page
',2)])])),[[o]]),s("div",EP,[f(" Quota: same markup as the dashboard, driven by quotaService "),s("section",CP,[t[4]||(t[4]=s("div",{class:"paper-section-eyebrow"},"Quota",-1)),t[5]||(t[5]=s("p",{class:"paper-section-copy"},"What you are using across all your anonymizations. Conferences can lift these limits during a review window.",-1)),e.quota?(l(),d("div",NP,[(l(),d(J,null,ne([{key:"repository",label:"Repositories",kind:"count"},{key:"storage",label:"Storage",kind:"bytes"},{key:"file",label:"Files",kind:"count"}],(i,a)=>s("div",SP,[s("div",DP,[s("span",RP,c(i?.label),1),i?.kind==="count"?(l(),d("span",TP,[y(c(e.fmt?.number(e.quota[i?.key].used)),1),e.quota[i?.key].unlimited?f("v-if",!0):(l(),d("span",OP," / "+c(e.fmt?.number(e.quota[i?.key].total)),1)),e.quota[i?.key].unlimited?(l(),d("span",AP,"Unlimited")):f("v-if",!0)])):f("v-if",!0),i?.kind==="bytes"?(l(),d("span",IP,[y(c(e.fmt?.humanFileSize(e.quota[i?.key].used)),1),e.quota[i?.key].unlimited?f("v-if",!0):(l(),d("span",VP," / "+c(e.fmt?.humanFileSize(e.quota[i?.key].total)),1)),e.quota[i?.key].unlimited?(l(),d("span",PP,"Unlimited")):f("v-if",!0)])):f("v-if",!0)]),s("div",{class:O(["quota-track","quota-"+e.quota[i?.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":i?.label+" quota","aria-valuenow":e.quota[i?.key].used,"aria-valuemax":e.quota[i?.key].unlimited?e.quota[i?.key].used:e.quota[i?.key].total,"aria-valuetext":e.quota[i?.key].unlimited?"unlimited":e.fmt.number(e.quota[i?.key].percent,0)+"% used"},[e.quota[i?.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:Pe({width:e.quota[i?.key].percent+"%"})},null,4))],10,qP)])),64))])):f("v-if",!0),e.quota?f("v-if",!0):(l(),d("div",MP,[(l(),d(J,null,ne([1,2,3],(i,a)=>s("div",$P,[...t[3]||(t[3]=[s("div",{class:"quota-header"},[s("span",{class:"skeleton skeleton-line",style:{width:"40%"}}),s("span",{class:"skeleton skeleton-line",style:{width:"25%"}})],-1),s("div",{class:"quota-track"},null,-1)])])),64))]))]),E((l(),d("form",{class:"form needs-validation",name:"defaultsForm",novalidate:"",onSubmit:t[0]||(t[0]=we(i=>e.submitForm(i,()=>{e.saveDefault(i)}),["prevent"]))},[s("section",UP,[t[11]||(t[11]=s("div",{class:"paper-section-eyebrow"},"Terms to redact",-1)),t[12]||(t[12]=s("p",{class:"paper-section-copy"},"Pre-filled in every new anonymization. You can still edit the list per anonymization.",-1)),s("div",LP,[t[10]||(t[10]=s("label",{class:"paper-field-label",for:"terms"},"Default terms",-1)),E(s("textarea",FP,null,512),[[r,{state:e.viewState,set:i=>{e.terms=i},value:e.terms,form:"defaultsForm",options:{debounce:250}}]]),s("small",zP,[t[6]||(t[6]=y(" One term per line (regex allowed). Each match is replaced by ",-1)),s("code",null,c(e.site_options?.ANONYMIZATION_MASK||"XXX")+"-[N]",1),t[7]||(t[7]=y(", or use ",-1)),t[8]||(t[8]=s("code",null,"term=>replacement",-1)),t[9]||(t[9]=y(" to pick your own. ",-1))]),E(s("div",HP," Terms are in an invalid format ",512),[[B,e.defaultsForm?.terms?.errors?.format]])])]),s("section",BP,[t[21]||(t[21]=s("div",{class:"paper-section-eyebrow"},"Display",-1)),t[22]||(t[22]=s("p",{class:"paper-section-copy"},"What reviewers can see inside an anonymized repository.",-1)),s("div",GP,[s("div",jP,[E(s("input",WP,null,512),[[r,{state:e.viewState,set:i=>{e.options.link=i},value:e.options?.link,form:"defaultsForm",options:{}}]]),t[13]||(t[13]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=s("small",{class:"form-text text-muted"},"Unchecked, every link in text files is removed.",-1))]),s("div",KP,[E(s("input",YP,null,512),[[r,{state:e.viewState,set:i=>{e.options.image=i},value:e.options?.image,form:"defaultsForm",options:{}}]]),t[15]||(t[15]=s("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=s("small",{class:"form-text text-muted"},"Images are shown as is. They are not anonymized.",-1))]),s("div",JP,[E(s("input",QP,null,512),[[r,{state:e.viewState,set:i=>{e.options.pdf=i},value:e.options?.pdf,form:"defaultsForm",options:{}}]]),t[17]||(t[17]=s("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[18]||(t[18]=s("small",{class:"form-text text-muted"},"PDFs are shown as is. They are not anonymized.",-1))]),s("div",XP,[E(s("input",ZP,null,512),[[r,{state:e.viewState,set:i=>{e.options.notebook=i},value:e.options?.notebook,form:"defaultsForm",options:{}}]]),t[19]||(t[19]=s("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1)),t[20]||(t[20]=s("small",{class:"form-text text-muted"},"Render Jupyter notebooks instead of raw JSON.",-1))])])]),s("section",xP,[t[31]||(t[31]=s("div",{class:"paper-section-eyebrow"},"Features",-1)),s("div",e3,[s("div",t3,[E(s("input",s3,null,512),[[r,{state:e.viewState,set:i=>{e.options.page=i},value:e.options?.page,form:"defaultsForm",options:{}}]]),t[23]||(t[23]=s("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[24]||(t[24]=s("small",{class:"form-text text-muted"},"Serve an anonymized copy of the repository's GitHub Pages site. Only pages built from the anonymized branch are supported.",-1))]),s("div",n3,[E(s("input",o3,null,512),[[r,{state:e.viewState,set:i=>{e.options.loc=i},value:e.options?.loc,form:"defaultsForm",options:{}}]]),t[25]||(t[25]=s("label",{class:"form-check-label",for:"loc"},"Lines of code",-1)),t[26]||(t[26]=s("small",{class:"form-text text-muted"},"Show the line count of the repository in the explorer.",-1))]),s("div",r3,[E(s("input",i3,null,512),[[r,{state:e.viewState,set:i=>{e.options.update=i},value:e.options?.update,form:"defaultsForm",options:{}}]]),t[27]||(t[27]=s("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[28]||(t[28]=s("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))])]),s("div",a3,[t[30]||(t[30]=s("label",{class:"paper-field-label",for:"mode"},"Fetch mode",-1)),E((l(),d("select",l3,[...t[29]||(t[29]=[s("option",{value:"GitHubStream",selected:""},"Stream from GitHub on demand",-1),s("option",{value:"GitHubDownload"},"Download to Anonymous GitHub",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.mode=i},value:e.options?.mode,form:"defaultsForm",options:{}}]]),s("small",d3," Download is faster for reviewers and enables every feature. Streaming is the only option above "+c(e.fmt?.humanFileSize(e.site_options?.MAX_REPO_SIZE*1024))+". ",1)])]),s("section",u3,[t[35]||(t[35]=s("div",{class:"paper-section-eyebrow"},"Expiration",-1)),s("div",c3,[t[33]||(t[33]=s("label",{class:"paper-field-label",for:"expiration"},"When an anonymization expires",-1)),E((l(),d("select",p3,[...t[32]||(t[32]=[s("option",{value:"redirect"},"Redirect visitors to the GitHub repository",-1),s("option",{value:"remove",selected:""},"Remove the anonymized repository",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.expirationMode=i},value:e.options?.expirationMode,form:"defaultsForm",options:{}}]]),t[34]||(t[34]=s("small",{class:"form-text text-muted"}," The expiration date itself is chosen per anonymization. Redirecting reveals the source repository, so pick it only once the review is over. ",-1))])]),s("div",f3,[e.error?(l(),d("div",m3,[t[36]||(t[36]=s("i",{class:"fas fa-exclamation-circle","aria-hidden":"true"},null,-1)),t[37]||(t[37]=y()),s("span",{textContent:c(e.error)},null,8,h3)])):f("v-if",!0),s("div",v3,[s("button",{id:"save",type:"submit",class:"btn btn-ink",disabled:e.saving},[e.message?(l(),d("i",g3)):f("v-if",!0),y(c(e.saving?"Saving\u2026":e.message?"Saved":"Save defaults"),1)],8,y3),t[38]||(t[38]=s("span",{class:"paper-settings-hint"},"Applies to new anonymizations only. Existing ones keep their settings.",-1))])])],32)),[[n,e.viewState]]),s("section",b3,[t[46]||(t[46]=s("div",{class:"paper-section-eyebrow"},"Account",-1)),s("div",w3,[e.user?.photo?(l(),d("img",{key:0,width:"40",height:"40",class:"rounded-circle",alt:"",src:e.safeUrl(e.user?.photo)},null,8,k3)):f("v-if",!0),s("div",_3,[s("div",E3,"@"+c(e.user?.username),1),t[39]||(t[39]=s("div",{class:"paper-account-meta"},"Signed in with GitHub. Anonymous GitHub only reads your repositories.",-1))]),t[40]||(t[40]=s("a",{class:"btn btn-outline-ink",href:"/api/user/logout",target:"_self"},"Sign out",-1))]),t[47]||(t[47]=s("a",{class:"paper-settings-connection-link",href:"/connections"},[s("i",{class:"fab fa-github","aria-hidden":"true"}),s("span",null,[y("GitHub connections"),s("small",null,"Manage repository access and legacy OAuth.")]),s("span",{"aria-hidden":"true"},"\u2192")],-1)),s("div",C3,[t[44]||(t[44]=s("div",{class:"paper-danger-head"},"Delete account",-1)),t[45]||(t[45]=s("p",{class:"paper-danger-copy"}," Removes all your anonymized repositories, gists, and pull requests, revokes the application's access to your GitHub account, and erases your personal data (username, email, access tokens). This cannot be undone. ",-1)),e.deleteError?(l(),d("div",N3,[t[41]||(t[41]=s("i",{class:"fas fa-exclamation-circle","aria-hidden":"true"},null,-1)),t[42]||(t[42]=y()),s("span",{textContent:c(e.deleteError)},null,8,S3)])):f("v-if",!0),s("button",{type:"button",class:"btn btn-outline-danger",onClick:t[1]||(t[1]=i=>e.deleteAccount()),disabled:e.deletingAccount},[t[43]||(t[43]=s("i",{class:"fas fa-trash-alt mr-1","aria-hidden":"true"},null,-1)),y(c(e.deletingAccount?"Deleting\u2026":"Delete my account"),1)],8,D3)])])])])])}var R3={class:"pr-page"},T3={class:"container paper-page pr-page-inner"},O3={class:"pr-header"},A3={class:"paper-page-title pr-title"},I3=["textContent"],V3={key:1,class:"text-muted"},P3=["href"],q3={class:"pr-header-meta"},M3={key:0,class:"pr-meta-item"},$3=["textContent"],U3={key:1,class:"pr-meta-item"},L3=["textContent"],F3={key:2,class:"pr-meta-item"},z3=["textContent"],H3={key:0,class:"pr-body-card"},B3={key:1,class:"paper-tabs",role:"tablist"},G3=["textContent"],j3={class:"paper-tab-content"},W3={key:0},K3=["innerHTML"],Y3={key:1},J3={class:"pr-comments"},Q3={class:"pr-comment"},X3={class:"pr-comment-head"},Z3={key:0,class:"pr-comment-author"},x3=["textContent"],eq=["textContent"],tq={key:0,class:"pr-comment-body"},sq={key:0,class:"paper-table-empty"};function gl(e,t){let o=et("markdown");return l(),d("div",R3,[s("div",T3,[t[15]||(t[15]=s("div",{class:"paper-crumbs"},[s("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),s("span",{class:"here"},"Pull request")],-1)),s("header",O3,[s("h1",A3,[e.details?.title?(l(),d("span",{key:0,textContent:c(e.details?.title)},null,8,I3)):f("v-if",!0),e.details?.title?f("v-if",!0):(l(),d("span",V3,"Untitled pull request")),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:2,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/pull-request-anonymize/"+e.pullRequestId)},[...t[2]||(t[2]=[s("i",{class:"far fa-edit"},null,-1),s("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,P3)):f("v-if",!0)]),s("div",q3,[s("span",{class:O(["paper-pill",{good:e.details?.merged,warn:e.details?.state=="open",bad:e.details?.state=="closed"&&!e.details?.merged}])},[s("span",{class:O(["status-dot",{"status-ready":e.details?.merged,"status-error":e.details?.state=="closed"&&!e.details?.merged}])},null,2),y(" "+c(e.details?.merged?"Merged":e.fmt.title(e.details?.state)),1)],2),e.details?.baseRepositoryFullName?(l(),d("span",M3,[t[3]||(t[3]=s("i",{class:"fab fa-github"},null,-1)),t[4]||(t[4]=y()),s("span",{textContent:c(e.details?.baseRepositoryFullName)},null,8,$3)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",U3,[t[5]||(t[5]=s("i",{class:"far fa-clock"},null,-1)),t[6]||(t[6]=y()),s("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,L3)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",F3,[t[7]||(t[7]=s("i",{class:"fas fa-user-secret"},null,-1)),t[8]||(t[8]=y(" Anonymized ",-1)),s("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,z3)])):f("v-if",!0)])]),e.details?.body?(l(),d("section",H3,[t[9]||(t[9]=s("div",{class:"paper-section-eyebrow"},"Description",-1)),De(o,{content:e.details?.body},null,8,["content"])])):f("v-if",!0),e.details?.diff||e.details?.comments?(l(),d("nav",B3,[e.details?.diff?(l(),d("button",{key:0,class:O(["paper-tab",{active:e.tabState?.active=="diff"}]),type:"button",role:"tab",onClick:t[0]||(t[0]=r=>e.tabState.active="diff")},[...t[10]||(t[10]=[s("i",{class:"fas fa-code"},null,-1),y(" Diff ",-1)])],2)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:O(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",onClick:t[1]||(t[1]=r=>e.tabState.active="comments")},[t[11]||(t[11]=s("i",{class:"far fa-comment-dots"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,G3)],2)):f("v-if",!0)])):f("v-if",!0),s("div",j3,[e.details?.diff&&e.tabState?.active=="diff"?(l(),d("div",W3,[s("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.details?.diff))},null,8,K3)])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",Y3,[s("ul",J3,[(l(!0),d(J,null,ne(e.details?.comments,(r,n)=>(l(),d("li",Q3,[s("div",X3,[r?.author?(l(),d("span",Z3,[t[12]||(t[12]=s("i",{class:"far fa-user"},null,-1)),t[13]||(t[13]=y(" @",-1)),s("span",{textContent:c(r?.author)},null,8,x3)])):f("v-if",!0),r?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(r?.updatedDate))},null,8,eq)):f("v-if",!0)]),r?.body?(l(),d("div",tq,[De(o,{content:r?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",sq,[...t[14]||(t[14]=[s("i",{class:"far fa-comment-dots"},null,-1),s("span",null,"No comments on this pull request.",-1)])]))])])):f("v-if",!0)])])])}var nq={class:"container paper-page"},oq={class:"d-flex align-items-end justify-content-between flex-wrap",style:{gap:"12px"}},rq={class:"paper-page-title"},iq=["textContent"],aq={key:1},lq={class:"paper-settings-section"},dq={key:0,class:"paper-ratelimit-card",role:"status"},uq={class:"paper-error-msg"},cq=["aria-valuenow"],pq={class:"paper-progress-label"},fq=["textContent"],mq={key:0},hq=["textContent"],vq={class:"paper-progress-pct"},yq={key:2,class:"paper-error-card",role:"alert"},gq={key:0,class:"paper-error-msg"},bq={key:1,class:"paper-error-msg"},wq={class:"paper-error-actions"},kq=["href"],_q={class:"paper-detail-grid"},Eq={class:"detail-value"},Cq=["href"],Nq={key:0,class:"detail-label"},Sq={key:1,class:"detail-value"},Dq=["href"],Rq={key:3,class:"anonymize-submit-bar"},Tq=["href"],Oq=["href"];function bl(e,t){return l(),d("div",nq,[t[16]||(t[16]=s("div",{class:"paper-crumbs"},[y("Anonymization \xA0/\xA0 "),s("span",{class:"here"},"Status")],-1)),s("div",oq,[s("div",null,[s("h1",rq,[t[0]||(t[0]=y("Status of ",-1)),s("em",null,c(e.repoId),1)]),t[1]||(t[1]=s("p",{class:"paper-page-lede"},"Track progress as your anonymization is prepared.",-1))]),s("span",{class:O(["status-pill",{"status-pill-ready":e.repo?.status=="ready","status-pill-error":e.repo?.status=="error","status-pill-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-pill-ratelimit":e.rateLimitResetAt}])},[s("span",{class:O(["status-dot",{"status-ready":e.repo?.status=="ready","status-error":e.repo?.status=="error","status-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-ratelimit":e.rateLimitResetAt}])},null,2),e.rateLimitResetAt?f("v-if",!0):(l(),d("span",{key:0,textContent:c(e.fmt?.title(e.repo?.status))},null,8,iq)),e.rateLimitResetAt?(l(),d("span",aq,"Rate limited")):f("v-if",!0)],2)]),s("section",lq,[t[14]||(t[14]=s("div",{class:"paper-section-eyebrow"},"Progress",-1)),t[15]||(t[15]=s("p",{class:"paper-section-copy"},[y(" The repository will take a few minutes to get ready, depending on its size. Visit the "),s("a",{href:"/faq"},"FAQ"),y(" for more information. ")],-1)),e.rateLimitResetAt?(l(),d("div",dq,[t[4]||(t[4]=s("div",{class:"paper-ratelimit-head"},[s("i",{class:"fas fa-hourglass-half"}),s("div",null,[s("div",{class:"paper-error-eyebrow"},"Temporarily paused"),s("div",{class:"paper-error-title"},"GitHub API rate limit reached")])],-1)),s("p",uq,[t[2]||(t[2]=y("Anonymization will resume automatically in ",-1)),s("strong",null,c(e.rateLimitCountdown),1),t[3]||(t[3]=y(". No action needed \u2014 the job is queued and will continue where it left off.",-1))])])):f("v-if",!0),e.repo?.status!="error"&&!e.rateLimitResetAt?(l(),d("div",{key:1,class:O(["paper-progress",{"paper-progress-ready":e.repo?.status=="ready"}]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.progress},[s("div",{class:"paper-progress-bar",style:Pe("width: "+e.progress+"%;")},null,4),s("div",pq,[s("span",{textContent:c(e.fmt?.title(e.repo?.status))},null,8,fq),e.repo?.statusMessage?(l(),d("span",mq,[t[5]||(t[5]=y("\xA0\xB7\xA0",-1)),s("span",{textContent:c(e.repo?.statusMessage)},null,8,hq)])):f("v-if",!0),s("span",vq,c(e.progress||0)+"%",1)])],10,cq)):f("v-if",!0),e.repo?.status=="error"&&!e.rateLimitResetAt?(l(),d("div",yq,[t[9]||(t[9]=s("div",{class:"paper-error-head"},[s("i",{class:"fas fa-exclamation-triangle"}),s("div",null,[s("div",{class:"paper-error-eyebrow"},"Anonymization failed"),s("div",{class:"paper-error-title"},"Something went wrong while preparing this repository.")])],-1)),e.repo?.statusMessage?(l(),d("p",gq,c(e.fmt?.translate("ERRORS."+e.repo?.statusMessage)),1)):f("v-if",!0),e.repo?.statusMessage?f("v-if",!0):(l(),d("p",bq,"No additional details were reported. The most common causes are private repositories, missing branches, and rate limits.")),t[10]||(t[10]=s("ul",{class:"paper-error-hints"},[s("li",null,"Make sure the source URL points to a repository or pull request you can access."),s("li",null,"Check that the chosen branch and commit still exist on GitHub."),s("li",null,"If you just signed in, the access token may need a moment to propagate \u2014 try again.")],-1)),s("div",wq,[s("a",{class:"btn btn-ink",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[6]||(t[6]=[s("i",{class:"far fa-edit mr-1"},null,-1),y(" Edit anonymization",-1)])],8,kq),t[7]||(t[7]=s("a",{class:"btn",href:"/faq"},[s("i",{class:"far fa-question-circle mr-1"}),y(" Read the FAQ")],-1)),t[8]||(t[8]=s("a",{class:"btn",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[s("i",{class:"fas fa-bug mr-1","aria-hidden":"true"}),y(" Report a bug in Anonymous GitHub")],-1))])])):f("v-if",!0),s("div",_q,[t[11]||(t[11]=s("div",{class:"detail-label"},"Repository",-1)),s("div",Eq,[s("a",{target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},"/r/"+c(e.repoId)+"/",9,Cq)]),e.repo?.options?.page?(l(),d("div",Nq,"GitHub Page")):f("v-if",!0),e.repo?.options?.page?(l(),d("div",Sq,[s("a",{target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},"/w/"+c(e.repoId)+"/",9,Dq)])):f("v-if",!0)]),e.repo?.status=="ready"?(l(),d("div",Rq,[s("a",{class:"btn btn-ink",target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},[...t[12]||(t[12]=[s("i",{class:"far fa-eye mr-1"},null,-1),y(" Go to anonymized repository ",-1)])],8,Tq),e.repo?.options?.page?(l(),d("a",{key:0,class:"btn",target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[13]||(t[13]=[s("i",{class:"fas fa-globe mr-1"},null,-1),y(" Go to anonymized GitHub page ",-1)])],8,Oq)):f("v-if",!0)])):f("v-if",!0)]),t[17]||(t[17]=ge('
Support Anonymous GitHub

A small team keeps this running. If it helps you, please consider contributing back \u2014 in code, ideas, or coffee.

',1))])}var Jn={"partials/connections.htm":Wa,"partials/signin.htm":Ka,"partials/404.htm":Ya,"partials/admin/conferences.htm":Ja,"partials/admin/errors.htm":Qa,"partials/admin/overview.htm":Xa,"partials/admin/queues.htm":Za,"partials/admin/repositories.htm":xa,"partials/admin/user.htm":el,"partials/admin/users.htm":tl,"partials/anonymize.htm":sl,"partials/anonymizePullRequest.htm":nl,"partials/claim.htm":ol,"partials/conference.htm":rl,"partials/conferences.htm":il,"partials/dashboard.htm":al,"partials/explorer.htm":ll,"partials/faq.htm":dl,"partials/gist.htm":ul,"partials/header.htm":cl,"partials/home.htm":pl,"partials/loading.htm":fl,"partials/newConference.htm":ml,"partials/pageView.htm":hl,"partials/pr-dashboard.htm":vl,"partials/profile.htm":yl,"partials/pullRequest.htm":gl,"partials/status.htm":bl};function wl(e,t){e==="partials/explorer.htm"&&(t.sidebarCollapsed=window.matchMedia?.("(max-width: 767px)").matches||!1),e==="partials/anonymize.htm"&&(t.prTabState={active:t.options.diff?"diff":"comments"}),e==="partials/gist.htm"&&(t.tabState={active:t.details?.files?"files":"comments"}),["partials/conferences.htm","partials/conference.htm"].includes(e)&&(t.statusLabels={ready:"Ready",expired:"Expired",removed:"Removed"});let r={"partials/dashboard.htm":["filteredItems",()=>t.items,"itemFilter"],"partials/conferences.htm":["filteredConferences",()=>t.conferences,"conferenceFilter"],"partials/conference.htm":["filteredRepositories",()=>t.conference?.repositories,"repoFiler"],"partials/admin/repositories.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/user.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/users.htm":["filteredUsers",()=>t.users,"userFiler"],"partials/admin/conferences.htm":["filteredConferences",()=>t.conferences]}[e];if(r){let n=tt(()=>t.fmt.orderBy(t.fmt.filter(r[1](),t[r[2]]),t.orderBy));Object.defineProperty(t,r[0],{configurable:!0,get:()=>n.value})}}function kl(e=(...t)=>fetch(...t)){async function t(r,n,i,a={}){let u=new URL(n,window.location.href);for(let[v,k]of Object.entries(a.params||{}))if(k!=null)for(let p of Array.isArray(k)?k:[k])u.searchParams.append(v,typeof p=="object"?JSON.stringify(p):p);let m=new AbortController,h;a.timeout?.then?a.timeout.then(()=>m.abort()):a.timeout&&(h=setTimeout(()=>m.abort(),a.timeout));try{let v={Accept:"application/json, text/plain, */*",...a.headers},k=document.cookie.match(/(?:^|;\s*)XSRF-TOKEN=([^;]*)/);k&&u.origin===window.location.origin&&(v["X-XSRF-TOKEN"]=decodeURIComponent(k[1]));let p;i!==void 0&&(i instanceof FormData?p=i:(v["Content-Type"]||(v["Content-Type"]="application/json;charset=utf-8"),p=JSON.stringify(i)));let g=await e(u.href,{method:r,headers:v,body:p,credentials:"same-origin",signal:m.signal}),w=await g.text(),b=w;if(a.transformResponse)b=a.transformResponse(w);else if(w&&(/json/i.test(g.headers.get("content-type")||"")||/^[\[{]/.test(w.trim())))try{b=JSON.parse(w)}catch{}let T={data:b,status:g.status,headers:N=>g.headers.get(N)};if(!g.ok)throw T;return T}catch(v){throw v.name==="AbortError"?{status:-1,data:null}:v}finally{clearTimeout(h)}}let o={};for(let r of["get","delete","head"])o[r]=(n,i)=>t(r.toUpperCase(),n,void 0,i);for(let r of["post","put","patch"])o[r]=(n,i,a)=>t(r.toUpperCase(),n,i,a);return o}var _l={resolve:e=>Promise.resolve(e),reject:e=>Promise.reject(e),all:e=>Promise.all(e),defer(){let e,t;return{promise:new Promise((r,n)=>{e=r,t=n}),resolve:e,reject:t}}};var El=function(e){function t(o){return o=o||{used:0,total:0},o.unlimited=!o.total,o.percent=o.unlimited?0:Math.min(100,o.used*100/o.total),o.level=o.unlimited?"unlimited":o.percent>=95?"danger":o.percent>=80?"warn":"ok",o}return{decorate:t,load:function(){return e.get("/api/user/quota").then(o=>{let r=o.data||{};return r.storage=t(r.storage),r.file=t(r.file),r.repository=t(r.repository),r})}}};var Qo={};Hl(Qo,{bigNum:()=>Iq,date:()=>Bq,diff:()=>$q,filter:()=>zq,humanFileSize:()=>Aq,humanTime:()=>Vq,limitTo:()=>Fq,number:()=>Uq,orderBy:()=>Hq,plural:()=>Gq,statusLabel:()=>qq,statusMsg:()=>Mq,title:()=>Pq,uppercase:()=>Lq});var Aq=e=>window.humanFileSize(e),Iq=(function(){return function(t){let o=Number(t)||0,r=Math.abs(o);return r<1e3?String(o):r<1e4?(o/1e3).toFixed(1).replace(/\.0$/,"")+"k":r<1e6?Math.round(o/1e3)+"k":r<1e7?(o/1e6).toFixed(1).replace(/\.0$/,"")+"M":Math.round(o/1e6)+"M"}})(),Vq=(function(){return function(t){if(!t)return"never";t instanceof Date&&(t=Math.round((Date.now()-t)/1e3)),(typeof t=="string"||typeof t=="number")&&(t=Math.round((Date.now()-new Date(t))/1e3));var o=t<0?"from now":"ago";if(Math.abs(t)>7200*24){let m=new Date;return m.setSeconds(m.getSeconds()-t),"on "+m.toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}t=Math.abs(t);for(var r=[t/60/60/24/365,t/60/60/24/30,t/60/60/24/7,t/60/60/24,t/60/60,t/60,t],n=["year","month","week","day","hour","minute","second"],i=0;i1&&(u+="s"),a>=1)return a+" "+u+" "+o}return"0 seconds "+o}})(),Pq=(function(){return function(e){if(!e)return e;e=e.toLowerCase();var t=e.split(" "),o=t.map(function(r){return r.charAt(0).toUpperCase()+r.substring(1,r.length)});return o.join(" ")}})(),qq=(function(){var e={ready:"Ready",error:"Error",expired:"Expired",expiring:"Expiring",removed:"Removed",removing:"Removing",queue:"Queued",download:"Downloading",downloaded:"Downloaded",preparing:"Preparing",anonymizing:"Anonymizing"};return function(t){if(!t)return"";if(e[t])return e[t];var o=String(t).replace(/[_-]+/g," ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)}})(),Mq=(function(){var e={branch_not_found:"Branch not found on GitHub",repo_not_found:"Repository not found on GitHub",repository_not_found:"Repository not found on GitHub",repo_not_accessible:"Repository is not accessible with your token",pr_not_found:"Pull request not found on GitHub",gist_not_found:"Gist not found on GitHub",commit_not_found:"Commit not found on GitHub",repo_too_big:"Repository exceeds the size limit",quota_exceeded:"Storage quota exceeded",incomplete_record:"Incomplete record: missing identifier"};return function(t){if(!t)return t;var o=t.match(/^rate_limited:(\d+)$/);if(o){var r=Math.max(0,Math.ceil((parseInt(o[1],10)-Date.now())/1e3));if(r<=0)return"Rate limited \u2014 resuming soon";var n=Math.floor(r/60),i=r%60;return"Rate limited \u2014 retrying in "+(n>0?n+"m "+i+"s":i+"s")}if(e[t])return e[t];if(/^[a-z0-9]+(_[a-z0-9]+)+$/.test(t)){var a=t.replace(/_/g," ");return a.charAt(0).toUpperCase()+a.slice(1)}return t}})(),$q=(function(e){let t=r=>r.replace(/&/g,"&").replace(//g,">");function o(r,n){if(!n)return;let i=n.newPath&&n.newPath!=="/dev/null"?n.newPath:n.oldPath||"",a=n.oldPath==="/dev/null"?"added":n.newPath==="/dev/null"?"deleted":n.oldPath&&n.newPath&&n.oldPath!==n.newPath?"renamed":"modified";if(r.push('
'),r.push('
'+t(i)+''+a+"
"),n.lines.length){r.push('');for(let u of n.lines)r.push('");r.push("
'+(u.oldNo||"")+''+(u.newNo||"")+''+(u.kind==="add"?"+":u.kind==="remove"?"-":u.kind==="hunk"?"@":"")+''+t(u.text)+"
")}r.push("
")}return function(r){if(!r)return r;let n=[],i=null,a=0,u=0,m=()=>(i||(i={oldPath:"",newPath:"",lines:[]}),i),h=()=>{i&&(i.lines.length||i.oldPath||i.newPath)&&(o(n,i),i=null)},v=r.split(` -`);for(let k=0;ke});function Uq(e,t){return e==null?"":Number(e).toLocaleString(void 0,t==null?{}:{minimumFractionDigits:t,maximumFractionDigits:t})}function Lq(e){return String(e??"").toUpperCase()}function Fq(e,t,o=0){return(e||[]).slice(o,o+t)}function zq(e,t){return Array.isArray(e)?typeof t=="function"?e.filter(t):e:[]}function Hq(e,t){if(!t)return e||[];let o=Array.isArray(t)?t:[t];return[...e||[]].sort((r,n)=>{for(let i of o){let a=i[0]==="-"?-1:1;i=i.replace(/^[+-]/,"");let u=i.split(".").reduce((h,v)=>h?.[v],r),m=i.split(".").reduce((h,v)=>h?.[v],n);if(typeof u=="string"&&(u=u.toLowerCase()),typeof m=="string"&&(m=m.toLowerCase()),u!==m)return(u==null?-1:m==null?1:ur[n])}function Gq(e,t){return(t?.[e]??t?.[e===1?"one":"other"]??"").replace(/\{\}/g,e??0)}var Cl={ERRORS:{repository_job_cancelled:"The repository changed or was removed while processing.",storage_delete_failed:"Unable to remove cached files. Please try again later.",unknown_error:"Unknown error, contact the admin.",unreachable:"Anonymous GitHub is unreachable, contact the admin.",request_error:"Unable to download the file, check your connection or contact the admin.",not_found:"The requested resource could not be found.",not_connected:"You must be logged in to perform this action.",not_authorized:"You do not have permission to perform this action.",unable_to_connect_user:"Unable to connect your account. Please try again later.",user_not_found:"The requested user could not be found.",user_banned:"Your account has been banned. Contact the admin for more information.",repo_access_limited:"GitHub blocked access because the repository's organization restricts third-party OAuth apps. Ask an org owner to approve Anonymous GitHub under Settings \u2192 Third-party Access \u2192 OAuth app policy, or anonymize a personal fork instead.",repo_saml_enforcement:"The repository's organization enforces SAML single sign-on. Authorize your token for that organization (GitHub \u2192 Settings \u2192 Applications, or re-run the org's SSO sign-in), then retry. Alternatively, anonymize a personal fork.",repo_not_found:"The repository was not found on GitHub. Check the URL and spelling, make sure you are signed in to the account that can see it, and confirm the repo isn't hidden under an org that restricts third-party app access.",repo_empty:"The selected branch has no commits on GitHub. Push at least one commit, or pick a different branch, then retry.",repo_not_accessible:"Anonymous GitHub cannot access this repository. Verify the repository exists and that Anonymous GitHub has been authorized for the owning organization.",repository_archived:"This repository has been archived and its files are no longer available.",repository_expired:"The repository is expired.",invalid_status:"This action cannot be performed while the resource is in its current state.",repository_not_ready:"Anonymous GitHub is still processing the repository, it can take several minutes.",repository_not_accessible:"This repository is currently not accessible.",repo_is_updating:"Anonymous GitHub is still processing the repository, it can take several minutes.",invalid_repo:"The provided repository is not valid.",invalid_source_repository:"The repository source name is invalid; expected the form 'owner/name'.",repoId_not_defined:"A repository ID must be provided.",repoUrl_not_defined:"The repository URL needs to be defined.",source_not_provided:"A repository source must be provided.",github_rate_limit_exceeded:"GitHub temporarily blocked the request because we hit its API rate limit. Wait a few minutes and try again. If the problem persists and you contact GitHub Support, include the request ID and timestamp shown in GitHub's response (the 'X-GitHub-Request-Id' header).",rate_limited:"GitHub API rate limit reached. The repository will be available shortly \u2014 please wait a moment and refresh.",repoId_already_used:"The repository ID is already used.",invalid_repoId:"The format of the repository ID is invalid.",unsupported_source:"The repository source type is not supported.",branch_not_specified:"The branch is not specified.",branch_not_found:"The branch of the repository cannot be found.",commit_not_specified:"A commit must be specified.",commit_not_found:"The configured commit no longer exists in the source repository. It may have been force-pushed, rebased, or removed.",repo_renamed:"The source repository appears to have been renamed or moved on GitHub. Please refresh and try again \u2014 the cached name has been updated.",invalid_commit_format:"The commit hash format is invalid. It must be a hexadecimal string.",pull_request_not_found:"The requested pull request could not be found.",pull_request_expired:"This pull request has expired and is no longer available.",pull_request_not_ready:"This pull request is still being prepared. Please try again shortly.",pull_request_not_available:"This pull request is currently not available.",invalid_pullRequestId:"The pull request ID is invalid.",pullRequestId_already_used:"This pull request ID is already in use. Please choose a different one.",repository_not_specified:"A repository must be specified for this pull request.",pullRequestId_not_specified:"A pull request ID must be specified.",pullRequestId_is_not_a_number:"The source pull request ID must be a number.",options_not_provided:"Anonymization options are mandatory.",terms_not_specified:"Anonymization terms must be specified.",invalid_terms_format:"Terms are in an invalid format.",missing_content:"No content was provided to the anonymization preview.",unable_to_anonymize:"An error happened during the anonymization process. Please try later or report the issue.",non_supported_mode:"The selected anonymization mode is invalid, only download and stream are supported.",invalid_path:"The provided path is invalid or missing.",path_not_specified:"A file path must be specified.",path_not_defined:"The file path has not been resolved yet.",invalid_file_path:"The requested file path is not valid.",invalid_request:"The request is missing required fields or is malformed.",no_file_selected:"Please select a file.",file_not_found:"The requested file is not found.",file_not_accessible:"The requested file is not accessible.",file_not_supported:"The file type is not supported. Anonymous GitHub cannot handle it.",file_too_big:"The file size exceeds the limit of Anonymous GitHub.",is_folder:"The path points to a folder.",folder_not_supported:"The path points to a folder. Please select a file.",unable_to_write_file:"Unable to write file on disk.",download_not_enabled:"Repository downloads are not enabled on this server.",unable_to_download:"The repository could not be downloaded. Please try again later.",s3_config_not_provided:"Object storage has not been configured on this server.",stats_unsupported:"Statistics are only supported in download mode.",branches_not_found:"The requested branch is not found.",readme_not_available:"No README for the repository is found.",page_not_supported_on_different_branch:"GitHub Pages is served from a different branch than the one selected. Pick the branch that GitHub Pages is configured to use.",page_not_activated:"GitHub Pages is not enabled on this repository. Enable it in the repository settings on GitHub before anonymizing.",is_removed:"This resource has been removed and is no longer available.",conf_name_missing:"A conference name is required.",conf_id_missing:"A conference ID is required.",conf_id_used:"This conference ID is already in use. Please choose a different one.",conf_start_date_missing:"A start date is required for the conference.",conf_end_date_missing:"An end date is required for the conference.",conf_start_date_invalid:"The start date must be before the end date.",conf_end_date_invalid:"The end date must be in the future.",invalid_plan:"The selected plan is not valid.",conference_not_found:"The requested conference could not be found.",conf_not_found:"The requested conference could not be found.",conf_not_activated:"The conference is not activated.",billing_missing:"Billing information is required for this plan.",billing_name_missing:"A billing name is required.",billing_email_missing:"A billing email is required.",billing_address_missing:"A billing address is required.",billing_city_missing:"A billing city is required.",billing_zip_missing:"A billing ZIP/postal code is required.",billing_country_missing:"A billing country is required.",queue_not_found:"The specified queue could not be found.",job_not_found:"The specified job could not be found in the queue.",error_retrying_job:"An error occurred while retrying the job.",gist_expired:"The gist is expired.",gist_not_ready:"Anonymous GitHub is still processing the gist, it can take several minutes.",gist_not_found:"The requested gist could not be found.",gist_not_available:"This gist is currently not available.",invalid_gistId:"The format of the gist ID is invalid.",gistId_not_specified:"A gist ID must be provided.",gistId_already_used:"The gist ID is already used.",missing_token:"An authentication token is required.",invalid_token:"The provided authentication token is invalid.",login_failed:"Login failed. Please try again.",server_error:"An unexpected server error occurred. Please try again later.",username_not_defined:"A username must be provided.",github_user_not_found:"The specified GitHub user could not be found.",cannot_coauthor_self:"You cannot add yourself as a co-author.",storage_write_size_mismatch:"The downloaded file was smaller than expected. The upstream source may have returned an incomplete response \u2014 please try again.",storage_read_error:"An error occurred while reading the file from storage \u2014 please try again.",upstream_error:"A temporary error occurred while fetching from GitHub \u2014 please try again.",token_expired:"Your GitHub access token has expired. Please log out and log in again to refresh it.",job_is_active:"This job is currently running \u2014 wait for it to finish or remove it first.",github_app_access_required:"Allow this repository on GitHub using the read-only access button, then retry. Organization access may require administrator approval.",github_app_reconnect_required:"Reconnect your GitHub App account to restore read-only access.",github_app_disabled:"New GitHub App connections are currently unavailable.",github_oauth_required:"Connect legacy GitHub OAuth to use this feature.",github_identity_mismatch:"Use the same GitHub account that you are signed in with here.",github_app_permissions_invalid:"The GitHub App must be configured with read-only permissions.",github_unavailable:"GitHub is temporarily unavailable. Please retry.",connection_changed:"The repository connection changed. Reload and try again.",repository_busy:"Wait for the repository operation to finish before changing its connection.",invalid_connection:"Select a supported GitHub connection.",github_oauth_disabled:"Legacy OAuth sign-in is currently disabled.",invalid_auth_state:"The authorization session expired. Please start again from Anonymous GitHub.",invalid_webhook_signature:"The webhook signature is invalid.",webhook_processing_failed:"Webhook processing failed. Retry the delivery.",github_app_authorization_cancelled:"GitHub authorization was cancelled.",github_account_link_required:"Verify your existing account with your previous GitHub connection. Future sign-ins will use the GitHub App.",github_app_refresh_busy:"GitHub credentials are being renewed. Please retry shortly.",github_grant_revocation_failed:"Unable to revoke the GitHub grant. Please retry.",another_login_required:"Connect and verify another sign-in method before disconnecting OAuth.",oauth_resources_remaining:"Some resources still require OAuth. Migrate or remove them before disconnecting.",invalid_github_path:"The GitHub repository path is invalid."},WARNINGS:{page_not_enabled_on_repo:"GitHub Pages is not enabled on this repository. Enable it in the repository's Settings \u2192 Pages on GitHub, then refresh.",page_branch_mismatch:"GitHub Pages on this repository is served from the '{{pageBranch}}' branch, but you selected '{{selectedBranch}}'. Switch the branch above to '{{pageBranch}}' to anonymize the Pages site.",folder_truncated:"This folder has more than 10,000 entries; only a partial listing is shown.",repo_truncated:"Some folders in this repository have too many files to be fully listed. Affected folders are marked with a warning icon.",submodules_not_included:"This repository uses git submodules. Submodule contents are not included in the anonymized repository and appear as empty folders."}};var Nl={name:"htmlDoc",props:["content","baseUrl","allowScripts"],setup(e){let t=Ze(null);return It(()=>{let r=[t.value][0];r.classList.add("html-doc");function n(){r.innerHTML="";let i=e.content;if(typeof i!="string")return;let a=document.createElement("iframe");a.className="html-doc-frame",a.setAttribute("title","Rendered HTML document");let u=["allow-popups","allow-popups-to-escape-sandbox"];e.allowScripts&&u.push("allow-scripts","allow-forms","allow-modals"),a.setAttribute("sandbox",u.join(" ")),a.setAttribute("referrerpolicy","no-referrer"),r.appendChild(a);let m="";e.baseUrl&&(m=''),a.srcdoc=m+i}He(()=>e.content,n,{immediate:!0}),He(()=>e.baseUrl,n,{immediate:!0}),He(()=>e.allowScripts,n,{immediate:!0})}),()=>Ne("html-doc",{ref:t})}};var Sl={name:"pdfviewer",props:["src"],setup(e){let t=Ze(null);return It(()=>{let o=[t.value],r=400,n=[.5,.75,1,1.25,1.5,2,3],i=1e3,a=o[0];a.classList.add("pdf-viewer");let u=null,m=[],h=!1,v=null,k=1,p=1,g=0,w=0,b=612/792,T=0,N=document.createElement("div");N.className="pdf-toolbar";let R=document.createElement("div");R.className="pdf-pages",R.tabIndex=0,R.setAttribute("aria-label","PDF pages"),a.appendChild(N),a.appendChild(R);function I(L,K,fe){let Ce=document.createElement("button");return Ce.type="button",Ce.className="pdf-toolbar-btn",Ce.title=K,Ce.setAttribute("aria-label",K),Ce.innerHTML='',Ce.addEventListener("click",fe),Ce}let C=I("fa-chevron-up","Previous page",function(){he(p-1)}),A=I("fa-chevron-down","Next page",function(){he(p+1)}),P=document.createElement("input");P.type="text",P.className="pdf-toolbar-page",P.setAttribute("aria-label","Page number"),P.title="Page number \u2014 type a page and press Enter",P.addEventListener("keydown",function(L){L.key==="Enter"&&(he(parseInt(P.value,10)),P.blur())}),P.addEventListener("blur",function(){P.value=String(p)});let Z=document.createElement("span");Z.className="pdf-toolbar-count";let Y=I("fa-search-minus","Zoom out",function(){le(n[Math.max(0,re()-1)])}),j=I("fa-search-plus","Zoom in",function(){le(n[Math.min(n.length-1,re()+1)])}),z=document.createElement("button");z.type="button",z.className="pdf-toolbar-btn pdf-toolbar-zoom",z.title="Reset zoom to fit the width",z.setAttribute("aria-label","Reset zoom to fit the width"),z.addEventListener("click",function(){le(1)}),N.appendChild(C),N.appendChild(A);let ae=document.createElement("span");ae.className="pdf-toolbar-group",ae.appendChild(P),ae.appendChild(Z),N.appendChild(ae);let se=document.createElement("span");se.className="pdf-toolbar-group pdf-toolbar-right",se.appendChild(Y),se.appendChild(z),se.appendChild(j),N.appendChild(se);function re(){let L=0;for(let K=0;K=L,z.textContent=Math.round(k*100)+"%",Y.disabled=re()===0,j.disabled=re()===n.length-1}function ke(L){let K=m[L-1];K&&(R.scrollTop+=K.getBoundingClientRect().top-R.getBoundingClientRect().top)}function he(L){if(!u||isNaN(L))return;let K=Math.min(Math.max(1,L),u.numPages);m[K-1]&&(ke(K),p=K,g=K,w=Date.now()+800,ue(),D())}function me(){if(!m.length||Date.now()Ce||S.bottome.src,te,{immediate:!0}),ss(function(){R.removeEventListener("scroll",V),$(window).off("resize",U),pe()})}),()=>Ne("pdfviewer",{ref:t})}};var Rl={props:["content","terms","options"],setup(e){let t=Ze(null),o=()=>{t.value.innerHTML=renderMD(e.content||"",window.location.pathname+"/../")};return It(()=>{o(),He(()=>[e.content,e.terms,e.options],o,{deep:!0})}),()=>Ne("markdown",{ref:t})}},Wq={props:["file","terms","options"],setup(e){let t=Ze(null),o=()=>_t(()=>t.value?.querySelectorAll("pre code").forEach(r=>window.Prism?.highlightElement(r)));return It(o),He(()=>[e.file?.content,e.terms,e.options],o,{deep:!0}),()=>{let r=e.file||{},n=(r.filename||"").split(".").pop().toLowerCase();if(["md","markdown"].includes(n)||r.language==="Markdown")return Ne("gist-file",{ref:t},Ne(Rl,{content:r.content,terms:e.terms,options:e.options}));let i={js:"javascript",jsx:"javascript",ts:"javascript",typescript:"javascript",py:"python",html:"markup",xml:"markup",svg:"markup",sh:"bash"},a=(r.language||n||"none").toLowerCase();return Ne("gist-file",{ref:t},Ne("pre",{class:"line-numbers"},Ne("code",{class:"language-"+(i[a]||a),key:r.content},r.content||"")))}}},Kq={props:["file","content"],setup(e){let t=Ze(null),o=0,r,n=async()=>{let i=++o;r?.abort(),r=new AbortController;try{let a=e.content?JSON.parse(e.content):await fetch(e.file?.download_url||e.file,{signal:r.signal}).then(u=>{if(!u.ok)throw Error("Notebook request failed");return u.json()});if(await Wt("notebook"),i!==o)return;t.value.innerHTML=DOMPurify.sanitize(nb.parse(a).render()),t.value.querySelectorAll("pre code").forEach(u=>window.Prism?.highlightElement(u))}catch(a){i===o&&a.name!=="AbortError"&&(t.value.textContent="Unable to render the notebook.")}};return It(()=>{n(),He(()=>[e.file,e.content],n)}),ss(()=>{o++,r?.abort()}),()=>Ne("notebook",{ref:t})}},Yq={props:["stats"],setup(e){return()=>{let t=Object.entries(e.stats||{}).filter(([,r])=>r.code),o=t.reduce((r,[,n])=>r+n.code,0);return Ne("loc",t.map(([r,n])=>Ne("div",{class:"lang",title:`${r}: ${n.code.toLocaleString()} lines`,style:{width:n.code*100/o+"%",background:langColors[r]}})))}}},Tl={Markdown:Rl,GistFile:Wq,Notebook:Kq,Loc:Yq,HtmlDoc:Nl,Pdfviewer:xr(async()=>(await Wt("pdf"),pdfjsLib.GlobalWorkerOptions.workerSrc="/script/external/pdf.worker.js",Sl))},Ol={async mounted(e,{value:t}){e._editorValue=t;try{if(await tr(),e._editorDisposed)return;let o=e._editorValue,r=ace.edit(e);e._editor=r,r.setValue(String(o.content??""),-1),Dl(e,o.options),o.options?.onLoad?.(r)}catch(o){e._editorDisposed||(e.textContent=o.message)}},updated(e,{value:t}){e._editorValue=t,e._editor&&(e._editor.getValue()!==String(t.content??"")&&e._editor.setValue(String(t.content??""),-1),Dl(e,t.options))},beforeUnmount(e){e._editorDisposed=!0,e._editor?.destroy()}};function Dl(e,t={}){let o=window.ace.require("ace/ext/modelist").modesByName,r=Object.hasOwn(o,t.mode)?t.mode:"text";e._editor.session.setMode("ace/mode/"+r),t.theme&&e._editor.setTheme("ace/theme/"+t.theme),e._editor.setReadOnly(t.readOnly!==!1)}var Al={mounted(e){if(!window.IntersectionObserver)return;let t=[...e.querySelectorAll('a[href^="#"]')],o=new Set,r=new IntersectionObserver(n=>{n.forEach(a=>a.isIntersecting?o.add(a.target.id):o.delete(a.target.id));let i=t.find(a=>o.has(a.hash.slice(1)));t.forEach(a=>a.classList.toggle("active",a===i))},{rootMargin:"-20% 0px -60% 0px",threshold:0});_t(()=>t.forEach(n=>{let i=document.getElementById(n.hash.slice(1));i&&r.observe(i)})),e._observer=r},beforeUnmount(e){e._observer?.disconnect()}};function Jq(e){let t={children:[]},o=new Map([["",t]]);function r(n){if(o.has(n))return o.get(n);let i=n.lastIndexOf("/"),a=r(i<0?"":n.slice(0,i)),u={name:n.slice(i+1),children:[]};return o.set(n,u),a.children.push(u),u}for(let n of e||[]){let i=n.path?`${n.path}/${n.name}`:n.name;n.size==null?r(i):r(n.path||"").children.push({...n})}return t.children}var Il={name:"FileTree",props:["file","parent","searchQuery","searchResults","page"],setup(e){let t=Ea(),o=Ze(null),r=ze(Object.create(null)),n=null,i=tt(()=>Jq(e.file)),a=()=>"/"+(Array.isArray(t.params.path)?t.params.path.join("/"):t.params.path||"");He(()=>[t.params.repoId,t.params.path],()=>{let p="";a().split("/").filter(Boolean).forEach(g=>{p+="/"+g,r[p]=!0})},{immediate:!0});let u=tt(()=>{if(!e.searchQuery||!e.searchResults)return null;let p=new Set,g=new Set;return e.searchResults.forEach(w=>{p.add(w.path?`${w.path}/${w.name}`:w.name);let b="";(w.path||"").split("/").filter(Boolean).forEach(T=>{b=b?b+"/"+T:T,g.add(b)})}),{files:p,folders:g}}),m=()=>[...o.value.querySelectorAll("li > a")],h=p=>{o.value.querySelector(".tree-focused")?.classList.remove("tree-focused"),p&&(n=p.dataset.path,p.classList.add("tree-focused"),p.scrollIntoView?.({block:"nearest"}),o.value.focus())};function v(p){let g=m(),w=o.value.querySelector(".tree-focused")||g[0],b=g.indexOf(w);if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(p.key)||(p.preventDefault(),p.key==="ArrowDown"&&h(g[(b+1)%g.length]),p.key==="ArrowUp"&&h(g[(b-1+g.length)%g.length]),!w))return;let T=w.closest("li");p.key==="ArrowRight"&&T.classList.contains("folder")&&(T.classList.contains("open")?h(T.querySelector(":scope > ul > li > a")):w.click()),p.key==="ArrowLeft"&&(T.classList.contains("folder")&&T.classList.contains("open")?w.click():h(T.parentElement.closest("li.folder")?.querySelector(":scope > a"))),p.key==="Enter"&&w.click()}function k(p,g=""){let w=[...p].sort((b,T)=>+!!T.children-+!!b.children||b.name.localeCompare(T.name));return Ne("ul",w.flatMap(b=>{let T=b,N=T.name,R=(g+"/"+N).slice(1);if(u.value&&!u.value.files.has(R)&&!u.value.folders.has(R))return[];for(;T.children?.length===1;)T=T.children[0],N+="/"+T.name;let I=g+"/"+N,C=!!T.children,A=u.value?r[I]!==!1:!!r[I],P=C&&e.page?.options?.truncatedFolders?.includes(I.slice(1)),Z=e.page?.fileCounts?.[I.slice(1)]||0,Y=Ne("span",{class:C?"tree-icon-folder":"far fa-file tree-icon-file","aria-hidden":"true"},C?Ne("svg",{viewBox:"0 0 14 12",focusable:"false"},Ne("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})):null),j=Ne("span",{class:"tree-name"},N),z=se=>{h(se.currentTarget),C&&(se.preventDefault(),r[I]=!A,r[I]&&!T.children.length&&e.page.getFiles(I.slice(1)),_t(()=>h(m().find(re=>re.dataset.path===n))))},ae=Ne("a",{"data-path":I,href:C?void 0:`/r/${encodeURIComponent(t.params.repoId)}${encodePathForUrl(I)}`,class:{"tree-focused":n===I},onClick:z},[C?Ne("span",{class:"tree-toggle"}):g?Ne("span",{class:"tree-spacer"}):null,Y,j,P?Ne("span",{class:"truncated-warning",title:e.page.fmt.translate("WARNINGS.folder_truncated")},Ne("i",{class:"fas fa-exclamation-triangle"})):null,C&&Z?Ne("span",{class:"tree-count"},Z):null]);return Ne("li",{key:I,class:{file:!0,folder:C,open:A,active:a()===I,truncated:P},title:C?"":`Size: ${humanFileSize(T.size||0)}`},[ae,C&&A?k(T.children,I):null])}))}return()=>Ne("tree",{ref:o,tabindex:0,onKeydown:v},e.file?.length?u.value?.files.size===0?Ne("div",{class:"tree-search-empty"},"No files found"):k(i.value):"Empty repository")}};function Pl(){return ze({errors:{},dirty:!1,touched:!1,submitted:!1,get invalid(){return Object.values(this.errors).some(Boolean)},setValidity(e,t){this.errors[e]=!t},setDirty(){this.dirty=!0}})}function ql(e,t){if(!e[t]){let o=Pl();Object.defineProperty(o,"invalid",{get(){return Object.values(o.errors).some(Boolean)||Object.keys(o).some(r=>r!=="invalid"&&o[r]&&typeof o[r]=="object"&&o[r].invalid)}}),e[t]=o}return e[t]}var Ml={beforeMount(e,{value:t}){e._formState=ql(t,e.name),e.addEventListener("submit",o=>o.preventDefault())}};function Qq(e){return e instanceof Date?isNaN(e)?"":`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:e||""}function Vl(e){let t=e._field.binding.value;e.type==="checkbox"?e.checked=!!t:e.type==="radio"?e.checked=t==(e._value??e.value):e._field.timer||(e.value=e.type==="date"?Qq(t):t??""),Xo(e)}function Xo(e){let t=e._field.validation;if(!t)return;let o=e.validity;for(let[r,n]of Object.entries({required:o.valueMissing,pattern:o.patternMismatch,min:o.rangeUnderflow,max:o.rangeOverflow,date:o.badInput,email:o.typeMismatch&&e.type==="email",url:o.typeMismatch&&e.type==="url"}))t.setValidity(r,e.disabled||!n)}var $l={beforeMount(e,{value:t}){var a;let o=t.form&&ql(t.state,t.form),r=o&&e.name?o[a=e.name]||(o[a]=Pl()):null;e._field={binding:t,validation:r,timer:null};let n=()=>{clearTimeout(e._field.timer),e._field.timer=null;let u=e._field.binding,m=e.type==="checkbox"?e.checked:e._value??e.value;if(!(e.type==="radio"&&!e.checked)){if((e.type==="number"||e.type==="range")&&(m=e.value===""?null:Number(e.value)),e.type==="date"&&(m=e.value?new Date(e.value+"T00:00:00"):null),r){r.setDirty();for(let h of Object.keys(r.errors))r.setValidity(h,!0)}u.set(m),Xo(e),u.change?.()}};e._field.commit=n;let i=u=>{let m=e._field.binding.options?.debounce||0,h=typeof m=="number"?m:m[u.type]??m.default??0;clearTimeout(e._field.timer),h?e._field.timer=setTimeout(n,h):n()};e.addEventListener(e.tagName==="SELECT"||["checkbox","radio","date"].includes(e.type)?"change":"input",i),e.addEventListener("blur",()=>{r&&(r.touched=!0),e._field.timer&&n()})},mounted:Vl,updated(e,{value:t}){e._field.binding=t,Vl(e)},beforeUnmount(e){clearTimeout(e._field.timer);let{binding:t,validation:o}=e._field,r=t.form&&t.state[t.form];r&&r[e.name]===o&&delete r[e.name]}};function Ul(e,t){let o=e.target.closest("form");if(o?._formState&&(o._formState.submitted=!0),o?.querySelectorAll("input, select, textarea").forEach(r=>{r._field?.timer&&r._field.commit(),r._field&&Xo(r)}),o&&!o.checkValidity()){let r=o.querySelector(":invalid");r?.scrollIntoView?.({block:"center"}),r?.focus(),o.reportValidity();return}return t()}var Ll=Symbol("session"),Xq=/^\/(w|api|github)(\/|$)/;function Fl(e,t={}){let o=e?.split(".").reduce((r,n)=>r?.[n],Cl);return String(o??e??"").replace(/{{\s*([^}]+?)\s*}}/g,(r,n)=>t[n]??"")}var Zq={...Qo,translate:Fl};function xq(e){if(e==null||e==="")return e;try{let t=new URL(e,window.location.href);return["http:","https:","mailto:","tel:","blob:"].includes(t.protocol)?e:void 0}catch{return}}function e4(e="#app",t={}){!t.history&&window.location.pathname==="/"&&/^#!\/r\/[^/?#]+/.test(window.location.hash)&&window.history.replaceState(window.history.state,"",window.location.hash.slice(2));let o=new Map,r=kl(t.fetch),n,i;function a(){let h=mt(),v={url(p){return p===void 0?i.currentRoute.value.fullPath:(i.push(p),v)},path(){return i.currentRoute.value.path},search(){return i.currentRoute.value.query}},k=new Proxy({},{get(p,g){let w=i.currentRoute.value.params[g];return Array.isArray(w)?w.join("/"):w}});return{http:r,...h,location:v,params:k,window,promises:_l,html:{trustAsHtml:p=>p},translate:(p,g)=>Promise.resolve(Fl(p,g)),quotaService:El(r)}}function u(h){return{name:h.template,setup(){let v=Ko(lt(Ll),o);h.setup(v,a()),wl(h.template,v);let k=[];return()=>Jn[h.template](v,k)}}}i=_a({history:t.history||ba(),routes:ja.map(h=>h.redirect?h:{path:h.path,component:u(h),meta:{title:h.title,preserveExplorer:h.preserveExplorer}})});let m=Fi({setup(){n=Ko(null,o),n.fmt=Zq,n.window=window,n.Math=Math,n.sanitize=p=>DOMPurify.sanitize(p??""),n.submitForm=Ul,n.safeUrl=xq;let h=a();Na(n,h.http,h.location,h.timeout),ts(Ll,n),He(()=>n.title,p=>{document.title=p||"Anonymous GitHub"});let v=[],k=p=>{let g=p.target.closest?.("a[href]");if(p.defaultPrevented||p.button!==0||p.metaKey||p.ctrlKey||p.shiftKey||p.altKey||!g||g.hasAttribute("download")||g.target&&g.target!=="_self"||g.dataset.toggle||g.getAttribute("href").startsWith("#"))return;let b=new URL(g.href,window.location.href);b.origin!==window.location.origin||Xq.test(b.pathname)||(p.preventDefault(),i.push(b.pathname+b.search+b.hash),$("#navbarSupportedContent.show").collapse("hide"))};return document.addEventListener("click",k),ss(()=>document.removeEventListener("click",k)),()=>[Ne("header",{class:"app-header"},Jn["partials/header.htm"](n,v)),Ne("main",{class:"app-view align-items-stretch w-100"},Ne(Wo,null,{default:({Component:p,route:g})=>p?Ne(p,{key:g.meta.preserveExplorer?g.matched[0]?.path:g.path}):null})),Ne("div",{class:"position-fixed p-3",style:{zIndex:999999999,right:0,bottom:0}},n.toasts.map((p,g)=>Ne("div",{class:"toast show",role:"alert","aria-live":"assertive","aria-atomic":"true",key:g},[Ne("div",{class:"toast-header"},[Ne("strong",{class:"mr-auto"},p.title),Ne("button",{type:"button",class:"ml-2 mb-1 close","aria-label":"Close",onClick:()=>n.removeToast(p)},"\xD7")]),Ne("div",{class:"toast-body"},p.body)])))]}});for(let[h,v]of Object.entries(Tl))m.component(h,v);return m.component("Tree",Il),m.component("PartialView",{props:["name","state"],setup(h){let v=[];return()=>Jn[h.name](h.state,v)}}),m.directive("field",$l),m.directive("form",Ml),m.directive("code-editor",Ol),m.directive("paper-scrollspy",Al),m.use(i),i.beforeEach(async h=>{n?.emit("routeLeave"),/^\/(r|repository|anonymize|pull-request-anonymize|gist-anonymize|pr|gist)(\/|$)/.test(h.path)&&await Wt("markdown"),/^\/(r|repository)\//.test(h.path)&&await Wt("org")}),i.afterEach(h=>{if(!n)return;n.title=h.meta.title,n.emit("routeChange",{title:h.meta.title}),n.emit("routeUpdate",{title:h.meta.title});let v=document.querySelector(".app-view");!h.meta.preserveExplorer&&v&&(v.scrollTop=0)}),m.mount(e),{app:m,router:i,state:n}}document.querySelector("#app")&&(window.anonymousApp=e4());})(); +jane.smith@example.org`},BP={id:"termsHelp",class:"form-text text-muted"},GP={class:"invalid-feedback"},jP={id:"settings-display",class:"paper-settings-section"},WP={class:"form-group paper-check-list"},KP={class:"form-check"},YP={class:"form-check-input",type:"checkbox",id:"link",name:"link"},JP={class:"form-check"},QP={class:"form-check-input",type:"checkbox",id:"image",name:"image"},XP={class:"form-check"},ZP={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},xP={class:"form-check"},e3={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},t3={id:"settings-features",class:"paper-settings-section"},s3={class:"form-group paper-check-list"},n3={class:"form-check"},o3={class:"form-check-input",type:"checkbox",id:"page",name:"page"},r3={class:"form-check"},i3={class:"form-check-input",type:"checkbox",id:"loc",name:"loc"},a3={class:"form-check"},l3={class:"form-check-input",type:"checkbox",id:"update",name:"update"},d3={class:"form-group"},u3={class:"form-control",id:"mode",name:"mode"},c3={class:"form-text text-muted"},p3={id:"settings-expiration",class:"paper-settings-section"},f3={class:"form-group"},m3={class:"form-control",id:"expiration",name:"expiration"},h3={class:"paper-settings-footer"},v3={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},y3=["textContent"],g3={class:"paper-settings-actions"},b3=["disabled"],w3={key:0,class:"fas fa-check mr-1","aria-hidden":"true"},k3={id:"settings-account",class:"paper-settings-section"},_3={class:"paper-account-card"},E3=["src"],C3={class:"paper-account-identity"},N3={class:"paper-account-name"},S3={class:"paper-danger-zone"},D3={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},R3=["textContent"],T3=["disabled"];function gl(e,t){let o=we("paper-scrollspy"),r=we("field"),n=we("form");return l(),d("div",_P,[t[48]||(t[48]=be('
My work \xA0/\xA0 Settings

Your settings

Defaults applied to every new anonymization, your quotas, and your account.

',3)),s("div",EP,[E((l(),d("aside",CP,[...t[2]||(t[2]=[be('
On this page
',2)])])),[[o]]),s("div",NP,[f(" Quota: same markup as the dashboard, driven by quotaService "),s("section",SP,[t[4]||(t[4]=s("div",{class:"paper-section-eyebrow"},"Quota",-1)),t[5]||(t[5]=s("p",{class:"paper-section-copy"},"What you are using across all your anonymizations. Conferences can lift these limits during a review window.",-1)),e.quota?(l(),d("div",DP,[(l(),d(J,null,ne([{key:"repository",label:"Repositories",kind:"count"},{key:"storage",label:"Storage",kind:"bytes"},{key:"file",label:"Files",kind:"count"}],(i,a)=>s("div",RP,[s("div",TP,[s("span",OP,c(i?.label),1),i?.kind==="count"?(l(),d("span",AP,[y(c(e.fmt?.number(e.quota[i?.key].used)),1),e.quota[i?.key].unlimited?f("v-if",!0):(l(),d("span",IP," / "+c(e.fmt?.number(e.quota[i?.key].total)),1)),e.quota[i?.key].unlimited?(l(),d("span",VP,"Unlimited")):f("v-if",!0)])):f("v-if",!0),i?.kind==="bytes"?(l(),d("span",PP,[y(c(e.fmt?.humanFileSize(e.quota[i?.key].used)),1),e.quota[i?.key].unlimited?f("v-if",!0):(l(),d("span",qP," / "+c(e.fmt?.humanFileSize(e.quota[i?.key].total)),1)),e.quota[i?.key].unlimited?(l(),d("span",MP,"Unlimited")):f("v-if",!0)])):f("v-if",!0)]),s("div",{class:O(["quota-track","quota-"+e.quota[i?.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":i?.label+" quota","aria-valuenow":e.quota[i?.key].used,"aria-valuemax":e.quota[i?.key].unlimited?e.quota[i?.key].used:e.quota[i?.key].total,"aria-valuetext":e.quota[i?.key].unlimited?"unlimited":e.fmt.number(e.quota[i?.key].percent,0)+"% used"},[e.quota[i?.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:qe({width:e.quota[i?.key].percent+"%"})},null,4))],10,$P)])),64))])):f("v-if",!0),e.quota?f("v-if",!0):(l(),d("div",UP,[(l(),d(J,null,ne([1,2,3],(i,a)=>s("div",LP,[...t[3]||(t[3]=[s("div",{class:"quota-header"},[s("span",{class:"skeleton skeleton-line",style:{width:"40%"}}),s("span",{class:"skeleton skeleton-line",style:{width:"25%"}})],-1),s("div",{class:"quota-track"},null,-1)])])),64))]))]),E((l(),d("form",{class:"form needs-validation",name:"defaultsForm",novalidate:"",onSubmit:t[0]||(t[0]=ke(i=>e.submitForm(i,()=>{e.saveDefault(i)}),["prevent"]))},[s("section",FP,[t[11]||(t[11]=s("div",{class:"paper-section-eyebrow"},"Terms to redact",-1)),t[12]||(t[12]=s("p",{class:"paper-section-copy"},"Pre-filled in every new anonymization. You can still edit the list per anonymization.",-1)),s("div",zP,[t[10]||(t[10]=s("label",{class:"paper-field-label",for:"terms"},"Default terms",-1)),E(s("textarea",HP,null,512),[[r,{state:e.viewState,set:i=>{e.terms=i},value:e.terms,form:"defaultsForm",options:{debounce:250}}]]),s("small",BP,[t[6]||(t[6]=y(" One term per line (regex allowed). Each match is replaced by ",-1)),s("code",null,c(e.site_options?.ANONYMIZATION_MASK||"XXX")+"-[N]",1),t[7]||(t[7]=y(", or use ",-1)),t[8]||(t[8]=s("code",null,"term=>replacement",-1)),t[9]||(t[9]=y(" to pick your own. ",-1))]),E(s("div",GP," Terms are in an invalid format ",512),[[B,e.defaultsForm?.terms?.errors?.format]])])]),s("section",jP,[t[21]||(t[21]=s("div",{class:"paper-section-eyebrow"},"Display",-1)),t[22]||(t[22]=s("p",{class:"paper-section-copy"},"What reviewers can see inside an anonymized repository.",-1)),s("div",WP,[s("div",KP,[E(s("input",YP,null,512),[[r,{state:e.viewState,set:i=>{e.options.link=i},value:e.options?.link,form:"defaultsForm",options:{}}]]),t[13]||(t[13]=s("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=s("small",{class:"form-text text-muted"},"Unchecked, every link in text files is removed.",-1))]),s("div",JP,[E(s("input",QP,null,512),[[r,{state:e.viewState,set:i=>{e.options.image=i},value:e.options?.image,form:"defaultsForm",options:{}}]]),t[15]||(t[15]=s("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=s("small",{class:"form-text text-muted"},"Images are shown as is. They are not anonymized.",-1))]),s("div",XP,[E(s("input",ZP,null,512),[[r,{state:e.viewState,set:i=>{e.options.pdf=i},value:e.options?.pdf,form:"defaultsForm",options:{}}]]),t[17]||(t[17]=s("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[18]||(t[18]=s("small",{class:"form-text text-muted"},"PDFs are shown as is. They are not anonymized.",-1))]),s("div",xP,[E(s("input",e3,null,512),[[r,{state:e.viewState,set:i=>{e.options.notebook=i},value:e.options?.notebook,form:"defaultsForm",options:{}}]]),t[19]||(t[19]=s("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1)),t[20]||(t[20]=s("small",{class:"form-text text-muted"},"Render Jupyter notebooks instead of raw JSON.",-1))])])]),s("section",t3,[t[31]||(t[31]=s("div",{class:"paper-section-eyebrow"},"Features",-1)),s("div",s3,[s("div",n3,[E(s("input",o3,null,512),[[r,{state:e.viewState,set:i=>{e.options.page=i},value:e.options?.page,form:"defaultsForm",options:{}}]]),t[23]||(t[23]=s("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[24]||(t[24]=s("small",{class:"form-text text-muted"},"Serve an anonymized copy of the repository's GitHub Pages site. Only pages built from the anonymized branch are supported.",-1))]),s("div",r3,[E(s("input",i3,null,512),[[r,{state:e.viewState,set:i=>{e.options.loc=i},value:e.options?.loc,form:"defaultsForm",options:{}}]]),t[25]||(t[25]=s("label",{class:"form-check-label",for:"loc"},"Lines of code",-1)),t[26]||(t[26]=s("small",{class:"form-text text-muted"},"Show the line count of the repository in the explorer.",-1))]),s("div",a3,[E(s("input",l3,null,512),[[r,{state:e.viewState,set:i=>{e.options.update=i},value:e.options?.update,form:"defaultsForm",options:{}}]]),t[27]||(t[27]=s("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[28]||(t[28]=s("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))])]),s("div",d3,[t[30]||(t[30]=s("label",{class:"paper-field-label",for:"mode"},"Fetch mode",-1)),E((l(),d("select",u3,[...t[29]||(t[29]=[s("option",{value:"GitHubStream",selected:""},"Stream from GitHub on demand",-1),s("option",{value:"GitHubDownload"},"Download to Anonymous GitHub",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.mode=i},value:e.options?.mode,form:"defaultsForm",options:{}}]]),s("small",c3," Download is faster for reviewers and enables every feature. Streaming is the only option above "+c(e.fmt?.humanFileSize(e.site_options?.MAX_REPO_SIZE*1024))+". ",1)])]),s("section",p3,[t[35]||(t[35]=s("div",{class:"paper-section-eyebrow"},"Expiration",-1)),s("div",f3,[t[33]||(t[33]=s("label",{class:"paper-field-label",for:"expiration"},"When an anonymization expires",-1)),E((l(),d("select",m3,[...t[32]||(t[32]=[s("option",{value:"redirect"},"Redirect visitors to the GitHub repository",-1),s("option",{value:"remove",selected:""},"Remove the anonymized repository",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.expirationMode=i},value:e.options?.expirationMode,form:"defaultsForm",options:{}}]]),t[34]||(t[34]=s("small",{class:"form-text text-muted"}," The expiration date itself is chosen per anonymization. Redirecting reveals the source repository, so pick it only once the review is over. ",-1))])]),s("div",h3,[e.error?(l(),d("div",v3,[t[36]||(t[36]=s("i",{class:"fas fa-exclamation-circle","aria-hidden":"true"},null,-1)),t[37]||(t[37]=y()),s("span",{textContent:c(e.error)},null,8,y3)])):f("v-if",!0),s("div",g3,[s("button",{id:"save",type:"submit",class:"btn btn-ink",disabled:e.saving},[e.message?(l(),d("i",w3)):f("v-if",!0),y(c(e.saving?"Saving\u2026":e.message?"Saved":"Save defaults"),1)],8,b3),t[38]||(t[38]=s("span",{class:"paper-settings-hint"},"Applies to new anonymizations only. Existing ones keep their settings.",-1))])])],32)),[[n,e.viewState]]),s("section",k3,[t[46]||(t[46]=s("div",{class:"paper-section-eyebrow"},"Account",-1)),s("div",_3,[e.user?.photo?(l(),d("img",{key:0,width:"40",height:"40",class:"rounded-circle",alt:"",src:e.safeUrl(e.user?.photo)},null,8,E3)):f("v-if",!0),s("div",C3,[s("div",N3,"@"+c(e.user?.username),1),t[39]||(t[39]=s("div",{class:"paper-account-meta"},"Signed in with GitHub. Anonymous GitHub only reads your repositories.",-1))]),t[40]||(t[40]=s("a",{class:"btn btn-outline-ink",href:"/api/user/logout",target:"_self"},"Sign out",-1))]),t[47]||(t[47]=s("a",{class:"paper-settings-connection-link",href:"/connections"},[s("i",{class:"fab fa-github","aria-hidden":"true"}),s("span",null,[y("GitHub connections"),s("small",null,"Manage repository access and legacy OAuth.")]),s("span",{"aria-hidden":"true"},"\u2192")],-1)),s("div",S3,[t[44]||(t[44]=s("div",{class:"paper-danger-head"},"Delete account",-1)),t[45]||(t[45]=s("p",{class:"paper-danger-copy"}," Removes all your anonymized repositories, gists, and pull requests, revokes the application's access to your GitHub account, and erases your personal data (username, email, access tokens). This cannot be undone. ",-1)),e.deleteError?(l(),d("div",D3,[t[41]||(t[41]=s("i",{class:"fas fa-exclamation-circle","aria-hidden":"true"},null,-1)),t[42]||(t[42]=y()),s("span",{textContent:c(e.deleteError)},null,8,R3)])):f("v-if",!0),s("button",{type:"button",class:"btn btn-outline-danger",onClick:t[1]||(t[1]=i=>e.deleteAccount()),disabled:e.deletingAccount},[t[43]||(t[43]=s("i",{class:"fas fa-trash-alt mr-1","aria-hidden":"true"},null,-1)),y(c(e.deletingAccount?"Deleting\u2026":"Delete my account"),1)],8,T3)])])])])])}var O3={class:"pr-page"},A3={class:"container paper-page pr-page-inner"},I3={class:"pr-header"},V3={class:"paper-page-title pr-title"},P3=["textContent"],q3={key:1,class:"text-muted"},M3=["href"],$3={class:"pr-header-meta"},U3={key:0,class:"pr-meta-item"},L3=["textContent"],F3={key:1,class:"pr-meta-item"},z3=["textContent"],H3={key:2,class:"pr-meta-item"},B3=["textContent"],G3={key:0,class:"pr-body-card"},j3={key:1,class:"paper-tabs",role:"tablist"},W3=["textContent"],K3={class:"paper-tab-content"},Y3={key:0},J3=["innerHTML"],Q3={key:1},X3={class:"pr-comments"},Z3={class:"pr-comment"},x3={class:"pr-comment-head"},eq={key:0,class:"pr-comment-author"},tq=["textContent"],sq=["textContent"],nq={key:0,class:"pr-comment-body"},oq={key:0,class:"paper-table-empty"};function bl(e,t){let o=tt("markdown");return l(),d("div",O3,[s("div",A3,[t[15]||(t[15]=s("div",{class:"paper-crumbs"},[s("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),s("span",{class:"here"},"Pull request")],-1)),s("header",I3,[s("h1",V3,[e.details?.title?(l(),d("span",{key:0,textContent:c(e.details?.title)},null,8,P3)):f("v-if",!0),e.details?.title?f("v-if",!0):(l(),d("span",q3,"Untitled pull request")),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:2,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/pull-request-anonymize/"+e.pullRequestId)},[...t[2]||(t[2]=[s("i",{class:"far fa-edit"},null,-1),s("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,M3)):f("v-if",!0)]),s("div",$3,[s("span",{class:O(["paper-pill",{good:e.details?.merged,warn:e.details?.state=="open",bad:e.details?.state=="closed"&&!e.details?.merged}])},[s("span",{class:O(["status-dot",{"status-ready":e.details?.merged,"status-error":e.details?.state=="closed"&&!e.details?.merged}])},null,2),y(" "+c(e.details?.merged?"Merged":e.fmt.title(e.details?.state)),1)],2),e.details?.baseRepositoryFullName?(l(),d("span",U3,[t[3]||(t[3]=s("i",{class:"fab fa-github"},null,-1)),t[4]||(t[4]=y()),s("span",{textContent:c(e.details?.baseRepositoryFullName)},null,8,L3)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",F3,[t[5]||(t[5]=s("i",{class:"far fa-clock"},null,-1)),t[6]||(t[6]=y()),s("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,z3)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",H3,[t[7]||(t[7]=s("i",{class:"fas fa-user-secret"},null,-1)),t[8]||(t[8]=y(" Anonymized ",-1)),s("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,B3)])):f("v-if",!0)])]),e.details?.body?(l(),d("section",G3,[t[9]||(t[9]=s("div",{class:"paper-section-eyebrow"},"Description",-1)),Re(o,{content:e.details?.body},null,8,["content"])])):f("v-if",!0),e.details?.diff||e.details?.comments?(l(),d("nav",j3,[e.details?.diff?(l(),d("button",{key:0,class:O(["paper-tab",{active:e.tabState?.active=="diff"}]),type:"button",role:"tab",onClick:t[0]||(t[0]=r=>e.tabState.active="diff")},[...t[10]||(t[10]=[s("i",{class:"fas fa-code"},null,-1),y(" Diff ",-1)])],2)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:O(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",onClick:t[1]||(t[1]=r=>e.tabState.active="comments")},[t[11]||(t[11]=s("i",{class:"far fa-comment-dots"},null,-1)),s("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,W3)],2)):f("v-if",!0)])):f("v-if",!0),s("div",K3,[e.details?.diff&&e.tabState?.active=="diff"?(l(),d("div",Y3,[s("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.details?.diff))},null,8,J3)])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",Q3,[s("ul",X3,[(l(!0),d(J,null,ne(e.details?.comments,(r,n)=>(l(),d("li",Z3,[s("div",x3,[r?.author?(l(),d("span",eq,[t[12]||(t[12]=s("i",{class:"far fa-user"},null,-1)),t[13]||(t[13]=y(" @",-1)),s("span",{textContent:c(r?.author)},null,8,tq)])):f("v-if",!0),r?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(r?.updatedDate))},null,8,sq)):f("v-if",!0)]),r?.body?(l(),d("div",nq,[Re(o,{content:r?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",oq,[...t[14]||(t[14]=[s("i",{class:"far fa-comment-dots"},null,-1),s("span",null,"No comments on this pull request.",-1)])]))])])):f("v-if",!0)])])])}var rq={class:"container paper-page"},iq={class:"d-flex align-items-end justify-content-between flex-wrap",style:{gap:"12px"}},aq={class:"paper-page-title"},lq=["textContent"],dq={key:1},uq={class:"paper-settings-section"},cq={key:0,class:"paper-ratelimit-card",role:"status"},pq={class:"paper-error-msg"},fq=["aria-valuenow"],mq={class:"paper-progress-label"},hq=["textContent"],vq={key:0},yq=["textContent"],gq={class:"paper-progress-pct"},bq={key:2,class:"paper-error-card",role:"alert"},wq={key:0,class:"paper-error-msg"},kq={key:1,class:"paper-error-msg"},_q={class:"paper-error-actions"},Eq=["href"],Cq={class:"paper-detail-grid"},Nq={class:"detail-value"},Sq=["href"],Dq={key:0,class:"detail-label"},Rq={key:1,class:"detail-value"},Tq=["href"],Oq={key:3,class:"anonymize-submit-bar"},Aq=["href"],Iq=["href"];function wl(e,t){return l(),d("div",rq,[t[16]||(t[16]=s("div",{class:"paper-crumbs"},[y("Anonymization \xA0/\xA0 "),s("span",{class:"here"},"Status")],-1)),s("div",iq,[s("div",null,[s("h1",aq,[t[0]||(t[0]=y("Status of ",-1)),s("em",null,c(e.repoId),1)]),t[1]||(t[1]=s("p",{class:"paper-page-lede"},"Track progress as your anonymization is prepared.",-1))]),s("span",{class:O(["status-pill",{"status-pill-ready":e.repo?.status=="ready","status-pill-error":e.repo?.status=="error","status-pill-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-pill-ratelimit":e.rateLimitResetAt}])},[s("span",{class:O(["status-dot",{"status-ready":e.repo?.status=="ready","status-error":e.repo?.status=="error","status-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-ratelimit":e.rateLimitResetAt}])},null,2),e.rateLimitResetAt?f("v-if",!0):(l(),d("span",{key:0,textContent:c(e.fmt?.title(e.repo?.status))},null,8,lq)),e.rateLimitResetAt?(l(),d("span",dq,"Rate limited")):f("v-if",!0)],2)]),s("section",uq,[t[14]||(t[14]=s("div",{class:"paper-section-eyebrow"},"Progress",-1)),t[15]||(t[15]=s("p",{class:"paper-section-copy"},[y(" The repository will take a few minutes to get ready, depending on its size. Visit the "),s("a",{href:"/faq"},"FAQ"),y(" for more information. ")],-1)),e.rateLimitResetAt?(l(),d("div",cq,[t[4]||(t[4]=s("div",{class:"paper-ratelimit-head"},[s("i",{class:"fas fa-hourglass-half"}),s("div",null,[s("div",{class:"paper-error-eyebrow"},"Temporarily paused"),s("div",{class:"paper-error-title"},"GitHub API rate limit reached")])],-1)),s("p",pq,[t[2]||(t[2]=y("Anonymization will resume automatically in ",-1)),s("strong",null,c(e.rateLimitCountdown),1),t[3]||(t[3]=y(". No action needed \u2014 the job is queued and will continue where it left off.",-1))])])):f("v-if",!0),e.repo?.status!="error"&&!e.rateLimitResetAt?(l(),d("div",{key:1,class:O(["paper-progress",{"paper-progress-ready":e.repo?.status=="ready"}]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.progress},[s("div",{class:"paper-progress-bar",style:qe("width: "+e.progress+"%;")},null,4),s("div",mq,[s("span",{textContent:c(e.fmt?.title(e.repo?.status))},null,8,hq),e.repo?.statusMessage?(l(),d("span",vq,[t[5]||(t[5]=y("\xA0\xB7\xA0",-1)),s("span",{textContent:c(e.repo?.statusMessage)},null,8,yq)])):f("v-if",!0),s("span",gq,c(e.progress||0)+"%",1)])],10,fq)):f("v-if",!0),e.repo?.status=="error"&&!e.rateLimitResetAt?(l(),d("div",bq,[t[9]||(t[9]=s("div",{class:"paper-error-head"},[s("i",{class:"fas fa-exclamation-triangle"}),s("div",null,[s("div",{class:"paper-error-eyebrow"},"Anonymization failed"),s("div",{class:"paper-error-title"},"Something went wrong while preparing this repository.")])],-1)),e.repo?.statusMessage?(l(),d("p",wq,c(e.fmt?.translate("ERRORS."+e.repo?.statusMessage)),1)):f("v-if",!0),e.repo?.statusMessage?f("v-if",!0):(l(),d("p",kq,"No additional details were reported. The most common causes are private repositories, missing branches, and rate limits.")),t[10]||(t[10]=s("ul",{class:"paper-error-hints"},[s("li",null,"Make sure the source URL points to a repository or pull request you can access."),s("li",null,"Check that the chosen branch and commit still exist on GitHub."),s("li",null,"If you just signed in, the access token may need a moment to propagate \u2014 try again.")],-1)),s("div",_q,[s("a",{class:"btn btn-ink",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[6]||(t[6]=[s("i",{class:"far fa-edit mr-1"},null,-1),y(" Edit anonymization",-1)])],8,Eq),t[7]||(t[7]=s("a",{class:"btn",href:"/faq"},[s("i",{class:"far fa-question-circle mr-1"}),y(" Read the FAQ")],-1)),t[8]||(t[8]=s("a",{class:"btn",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[s("i",{class:"fas fa-bug mr-1","aria-hidden":"true"}),y(" Report a bug in Anonymous GitHub")],-1))])])):f("v-if",!0),s("div",Cq,[t[11]||(t[11]=s("div",{class:"detail-label"},"Repository",-1)),s("div",Nq,[s("a",{target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},"/r/"+c(e.repoId)+"/",9,Sq)]),e.repo?.options?.page?(l(),d("div",Dq,"GitHub Page")):f("v-if",!0),e.repo?.options?.page?(l(),d("div",Rq,[s("a",{target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},"/w/"+c(e.repoId)+"/",9,Tq)])):f("v-if",!0)]),e.repo?.status=="ready"?(l(),d("div",Oq,[s("a",{class:"btn btn-ink",target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},[...t[12]||(t[12]=[s("i",{class:"far fa-eye mr-1"},null,-1),y(" Go to anonymized repository ",-1)])],8,Aq),e.repo?.options?.page?(l(),d("a",{key:0,class:"btn",target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[13]||(t[13]=[s("i",{class:"fas fa-globe mr-1"},null,-1),y(" Go to anonymized GitHub page ",-1)])],8,Iq)):f("v-if",!0)])):f("v-if",!0)]),t[17]||(t[17]=be('
Support Anonymous GitHub

A small team keeps this running. If it helps you, please consider contributing back \u2014 in code, ideas, or coffee.

',1))])}var Qn={"partials/connections.htm":Ka,"partials/signin.htm":Ya,"partials/404.htm":Ja,"partials/admin/conferences.htm":Qa,"partials/admin/errors.htm":Xa,"partials/admin/overview.htm":Za,"partials/admin/queues.htm":xa,"partials/admin/repositories.htm":el,"partials/admin/user.htm":tl,"partials/admin/users.htm":sl,"partials/anonymize.htm":nl,"partials/anonymizePullRequest.htm":ol,"partials/claim.htm":rl,"partials/conference.htm":il,"partials/conferences.htm":al,"partials/dashboard.htm":ll,"partials/explorer.htm":dl,"partials/faq.htm":ul,"partials/gist.htm":cl,"partials/header.htm":pl,"partials/home.htm":fl,"partials/loading.htm":ml,"partials/newConference.htm":hl,"partials/pageView.htm":vl,"partials/pr-dashboard.htm":yl,"partials/profile.htm":gl,"partials/pullRequest.htm":bl,"partials/status.htm":wl};function kl(e,t){e==="partials/explorer.htm"&&(t.sidebarCollapsed=window.matchMedia?.("(max-width: 767px)").matches||!1),e==="partials/anonymize.htm"&&(t.prTabState={active:t.options.diff?"diff":"comments"}),e==="partials/gist.htm"&&(t.tabState={active:t.details?.files?"files":"comments"}),["partials/conferences.htm","partials/conference.htm"].includes(e)&&(t.statusLabels={ready:"Ready",expired:"Expired",removed:"Removed"});let r={"partials/dashboard.htm":["filteredItems",()=>t.items,"itemFilter"],"partials/conferences.htm":["filteredConferences",()=>t.conferences,"conferenceFilter"],"partials/conference.htm":["filteredRepositories",()=>t.conference?.repositories,"repoFiler"],"partials/admin/repositories.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/user.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/users.htm":["filteredUsers",()=>t.users,"userFiler"],"partials/admin/conferences.htm":["filteredConferences",()=>t.conferences]}[e];if(r){let n=st(()=>t.fmt.orderBy(t.fmt.filter(r[1](),t[r[2]]),t.orderBy));Object.defineProperty(t,r[0],{configurable:!0,get:()=>n.value})}}function _l(e=(...t)=>fetch(...t)){async function t(r,n,i,a={}){let u=new URL(n,window.location.href);for(let[v,k]of Object.entries(a.params||{}))if(k!=null)for(let p of Array.isArray(k)?k:[k])u.searchParams.append(v,typeof p=="object"?JSON.stringify(p):p);let m=new AbortController,h;a.timeout?.then?a.timeout.then(()=>m.abort()):a.timeout&&(h=setTimeout(()=>m.abort(),a.timeout));try{let v={Accept:"application/json, text/plain, */*",...a.headers},k=document.cookie.match(/(?:^|;\s*)XSRF-TOKEN=([^;]*)/);k&&u.origin===window.location.origin&&(v["X-XSRF-TOKEN"]=decodeURIComponent(k[1]));let p;i!==void 0&&(i instanceof FormData?p=i:(v["Content-Type"]||(v["Content-Type"]="application/json;charset=utf-8"),p=JSON.stringify(i)));let g=await e(u.href,{method:r,headers:v,body:p,credentials:"same-origin",signal:m.signal}),w=await g.text(),b=w;if(a.transformResponse)b=a.transformResponse(w);else if(w&&(/json/i.test(g.headers.get("content-type")||"")||/^[\[{]/.test(w.trim())))try{b=JSON.parse(w)}catch{}let T={data:b,status:g.status,headers:N=>g.headers.get(N)};if(!g.ok)throw T;return T}catch(v){throw v.name==="AbortError"?{status:-1,data:null}:v}finally{clearTimeout(h)}}let o={};for(let r of["get","delete","head"])o[r]=(n,i)=>t(r.toUpperCase(),n,void 0,i);for(let r of["post","put","patch"])o[r]=(n,i,a)=>t(r.toUpperCase(),n,i,a);return o}var El={resolve:e=>Promise.resolve(e),reject:e=>Promise.reject(e),all:e=>Promise.all(e),defer(){let e,t;return{promise:new Promise((r,n)=>{e=r,t=n}),resolve:e,reject:t}}};var Cl=function(e){function t(o){return o=o||{used:0,total:0},o.unlimited=!o.total,o.percent=o.unlimited?0:Math.min(100,o.used*100/o.total),o.level=o.unlimited?"unlimited":o.percent>=95?"danger":o.percent>=80?"warn":"ok",o}return{decorate:t,load:function(){return e.get("/api/user/quota").then(o=>{let r=o.data||{};return r.storage=t(r.storage),r.file=t(r.file),r.repository=t(r.repository),r})}}};var Xo={};Bl(Xo,{bigNum:()=>Pq,date:()=>jq,diff:()=>Lq,filter:()=>Bq,humanFileSize:()=>Vq,humanTime:()=>qq,limitTo:()=>Hq,number:()=>Fq,orderBy:()=>Gq,plural:()=>Wq,statusLabel:()=>$q,statusMsg:()=>Uq,title:()=>Mq,uppercase:()=>zq});var Vq=e=>window.humanFileSize(e),Pq=(function(){return function(t){let o=Number(t)||0,r=Math.abs(o);return r<1e3?String(o):r<1e4?(o/1e3).toFixed(1).replace(/\.0$/,"")+"k":r<1e6?Math.round(o/1e3)+"k":r<1e7?(o/1e6).toFixed(1).replace(/\.0$/,"")+"M":Math.round(o/1e6)+"M"}})(),qq=(function(){return function(t){if(!t)return"never";t instanceof Date&&(t=Math.round((Date.now()-t)/1e3)),(typeof t=="string"||typeof t=="number")&&(t=Math.round((Date.now()-new Date(t))/1e3));var o=t<0?"from now":"ago";if(Math.abs(t)>7200*24){let m=new Date;return m.setSeconds(m.getSeconds()-t),"on "+m.toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}t=Math.abs(t);for(var r=[t/60/60/24/365,t/60/60/24/30,t/60/60/24/7,t/60/60/24,t/60/60,t/60,t],n=["year","month","week","day","hour","minute","second"],i=0;i1&&(u+="s"),a>=1)return a+" "+u+" "+o}return"0 seconds "+o}})(),Mq=(function(){return function(e){if(!e)return e;e=e.toLowerCase();var t=e.split(" "),o=t.map(function(r){return r.charAt(0).toUpperCase()+r.substring(1,r.length)});return o.join(" ")}})(),$q=(function(){var e={ready:"Ready",error:"Error",expired:"Expired",expiring:"Expiring",removed:"Removed",removing:"Removing",queue:"Queued",download:"Downloading",downloaded:"Downloaded",preparing:"Preparing",anonymizing:"Anonymizing"};return function(t){if(!t)return"";if(e[t])return e[t];var o=String(t).replace(/[_-]+/g," ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)}})(),Uq=(function(){var e={branch_not_found:"Branch not found on GitHub",repo_not_found:"Repository not found on GitHub",repository_not_found:"Repository not found on GitHub",repo_not_accessible:"Repository is not accessible with your token",pr_not_found:"Pull request not found on GitHub",gist_not_found:"Gist not found on GitHub",commit_not_found:"Commit not found on GitHub",repo_too_big:"Repository exceeds the size limit",quota_exceeded:"Storage quota exceeded",incomplete_record:"Incomplete record: missing identifier"};return function(t){if(!t)return t;var o=t.match(/^rate_limited:(\d+)$/);if(o){var r=Math.max(0,Math.ceil((parseInt(o[1],10)-Date.now())/1e3));if(r<=0)return"Rate limited \u2014 resuming soon";var n=Math.floor(r/60),i=r%60;return"Rate limited \u2014 retrying in "+(n>0?n+"m "+i+"s":i+"s")}if(e[t])return e[t];if(/^[a-z0-9]+(_[a-z0-9]+)+$/.test(t)){var a=t.replace(/_/g," ");return a.charAt(0).toUpperCase()+a.slice(1)}return t}})(),Lq=(function(e){let t=r=>r.replace(/&/g,"&").replace(//g,">");function o(r,n){if(!n)return;let i=n.newPath&&n.newPath!=="/dev/null"?n.newPath:n.oldPath||"",a=n.oldPath==="/dev/null"?"added":n.newPath==="/dev/null"?"deleted":n.oldPath&&n.newPath&&n.oldPath!==n.newPath?"renamed":"modified";if(r.push('
'),r.push('
'+t(i)+''+a+"
"),n.lines.length){r.push('');for(let u of n.lines)r.push('");r.push("
'+(u.oldNo||"")+''+(u.newNo||"")+''+(u.kind==="add"?"+":u.kind==="remove"?"-":u.kind==="hunk"?"@":"")+''+t(u.text)+"
")}r.push("
")}return function(r){if(!r)return r;let n=[],i=null,a=0,u=0,m=()=>(i||(i={oldPath:"",newPath:"",lines:[]}),i),h=()=>{i&&(i.lines.length||i.oldPath||i.newPath)&&(o(n,i),i=null)},v=r.split(` +`);for(let k=0;ke});function Fq(e,t){return e==null?"":Number(e).toLocaleString(void 0,t==null?{}:{minimumFractionDigits:t,maximumFractionDigits:t})}function zq(e){return String(e??"").toUpperCase()}function Hq(e,t,o=0){return(e||[]).slice(o,o+t)}function Bq(e,t){return Array.isArray(e)?typeof t=="function"?e.filter(t):e:[]}function Gq(e,t){if(!t)return e||[];let o=Array.isArray(t)?t:[t];return[...e||[]].sort((r,n)=>{for(let i of o){let a=i[0]==="-"?-1:1;i=i.replace(/^[+-]/,"");let u=i.split(".").reduce((h,v)=>h?.[v],r),m=i.split(".").reduce((h,v)=>h?.[v],n);if(typeof u=="string"&&(u=u.toLowerCase()),typeof m=="string"&&(m=m.toLowerCase()),u!==m)return(u==null?-1:m==null?1:ur[n])}function Wq(e,t){return(t?.[e]??t?.[e===1?"one":"other"]??"").replace(/\{\}/g,e??0)}var Nl={ERRORS:{repository_job_cancelled:"The repository changed or was removed while processing.",storage_delete_failed:"Unable to remove cached files. Please try again later.",unknown_error:"Unknown error, contact the admin.",unreachable:"Anonymous GitHub is unreachable, contact the admin.",request_error:"Unable to download the file, check your connection or contact the admin.",not_found:"The requested resource could not be found.",not_connected:"You must be logged in to perform this action.",not_authorized:"You do not have permission to perform this action.",unable_to_connect_user:"Unable to connect your account. Please try again later.",user_not_found:"The requested user could not be found.",user_banned:"Your account has been banned. Contact the admin for more information.",repo_access_limited:"GitHub blocked access because the repository's organization restricts third-party OAuth apps. Ask an org owner to approve Anonymous GitHub under Settings \u2192 Third-party Access \u2192 OAuth app policy, or anonymize a personal fork instead.",repo_saml_enforcement:"The repository's organization enforces SAML single sign-on. Authorize your token for that organization (GitHub \u2192 Settings \u2192 Applications, or re-run the org's SSO sign-in), then retry. Alternatively, anonymize a personal fork.",repo_not_found:"The repository was not found on GitHub. Check the URL and spelling, make sure you are signed in to the account that can see it, and confirm the repo isn't hidden under an org that restricts third-party app access.",repo_empty:"The selected branch has no commits on GitHub. Push at least one commit, or pick a different branch, then retry.",repo_not_accessible:"Anonymous GitHub cannot access this repository. Verify the repository exists and that Anonymous GitHub has been authorized for the owning organization.",repository_archived:"This repository has been archived and its files are no longer available.",repository_expired:"The repository is expired.",invalid_status:"This action cannot be performed while the resource is in its current state.",repository_not_ready:"Anonymous GitHub is still processing the repository, it can take several minutes.",repository_not_accessible:"This repository is currently not accessible.",repo_is_updating:"Anonymous GitHub is still processing the repository, it can take several minutes.",invalid_repo:"The provided repository is not valid.",invalid_source_repository:"The repository source name is invalid; expected the form 'owner/name'.",repoId_not_defined:"A repository ID must be provided.",repoUrl_not_defined:"The repository URL needs to be defined.",source_not_provided:"A repository source must be provided.",github_rate_limit_exceeded:"GitHub temporarily blocked the request because we hit its API rate limit. Wait a few minutes and try again. If the problem persists and you contact GitHub Support, include the request ID and timestamp shown in GitHub's response (the 'X-GitHub-Request-Id' header).",rate_limited:"GitHub API rate limit reached. The repository will be available shortly \u2014 please wait a moment and refresh.",repoId_already_used:"The repository ID is already used.",invalid_repoId:"The format of the repository ID is invalid.",unsupported_source:"The repository source type is not supported.",branch_not_specified:"The branch is not specified.",branch_not_found:"The branch of the repository cannot be found.",commit_not_specified:"A commit must be specified.",commit_not_found:"The configured commit no longer exists in the source repository. It may have been force-pushed, rebased, or removed.",repo_renamed:"The source repository appears to have been renamed or moved on GitHub. Please refresh and try again \u2014 the cached name has been updated.",invalid_commit_format:"The commit hash format is invalid. It must be a hexadecimal string.",pull_request_not_found:"The requested pull request could not be found.",pull_request_expired:"This pull request has expired and is no longer available.",pull_request_not_ready:"This pull request is still being prepared. Please try again shortly.",pull_request_not_available:"This pull request is currently not available.",invalid_pullRequestId:"The pull request ID is invalid.",pullRequestId_already_used:"This pull request ID is already in use. Please choose a different one.",repository_not_specified:"A repository must be specified for this pull request.",pullRequestId_not_specified:"A pull request ID must be specified.",pullRequestId_is_not_a_number:"The source pull request ID must be a number.",options_not_provided:"Anonymization options are mandatory.",terms_not_specified:"Anonymization terms must be specified.",invalid_terms_format:"Terms are in an invalid format.",missing_content:"No content was provided to the anonymization preview.",unable_to_anonymize:"An error happened during the anonymization process. Please try later or report the issue.",non_supported_mode:"The selected anonymization mode is invalid, only download and stream are supported.",invalid_path:"The provided path is invalid or missing.",path_not_specified:"A file path must be specified.",path_not_defined:"The file path has not been resolved yet.",invalid_file_path:"The requested file path is not valid.",invalid_request:"The request is missing required fields or is malformed.",no_file_selected:"Please select a file.",file_not_found:"The requested file is not found.",file_not_accessible:"The requested file is not accessible.",file_not_supported:"The file type is not supported. Anonymous GitHub cannot handle it.",file_too_big:"The file size exceeds the limit of Anonymous GitHub.",is_folder:"The path points to a folder.",folder_not_supported:"The path points to a folder. Please select a file.",unable_to_write_file:"Unable to write file on disk.",download_not_enabled:"Repository downloads are not enabled on this server.",unable_to_download:"The repository could not be downloaded. Please try again later.",s3_config_not_provided:"Object storage has not been configured on this server.",stats_unsupported:"Statistics are only supported in download mode.",branches_not_found:"The requested branch is not found.",readme_not_available:"No README for the repository is found.",page_not_supported_on_different_branch:"GitHub Pages is served from a different branch than the one selected. Pick the branch that GitHub Pages is configured to use.",page_not_activated:"GitHub Pages is not enabled on this repository. Enable it in the repository settings on GitHub before anonymizing.",is_removed:"This resource has been removed and is no longer available.",conf_name_missing:"A conference name is required.",conf_id_missing:"A conference ID is required.",conf_id_used:"This conference ID is already in use. Please choose a different one.",conf_start_date_missing:"A start date is required for the conference.",conf_end_date_missing:"An end date is required for the conference.",conf_start_date_invalid:"The start date must be before the end date.",conf_end_date_invalid:"The end date must be in the future.",invalid_plan:"The selected plan is not valid.",conference_not_found:"The requested conference could not be found.",conf_not_found:"The requested conference could not be found.",conf_not_activated:"The conference is not activated.",billing_missing:"Billing information is required for this plan.",billing_name_missing:"A billing name is required.",billing_email_missing:"A billing email is required.",billing_address_missing:"A billing address is required.",billing_city_missing:"A billing city is required.",billing_zip_missing:"A billing ZIP/postal code is required.",billing_country_missing:"A billing country is required.",queue_not_found:"The specified queue could not be found.",job_not_found:"The specified job could not be found in the queue.",error_retrying_job:"An error occurred while retrying the job.",gist_expired:"The gist is expired.",gist_not_ready:"Anonymous GitHub is still processing the gist, it can take several minutes.",gist_not_found:"The requested gist could not be found.",gist_not_available:"This gist is currently not available.",invalid_gistId:"The format of the gist ID is invalid.",gistId_not_specified:"A gist ID must be provided.",gistId_already_used:"The gist ID is already used.",missing_token:"An authentication token is required.",invalid_token:"The provided authentication token is invalid.",login_failed:"Login failed. Please try again.",server_error:"An unexpected server error occurred. Please try again later.",username_not_defined:"A username must be provided.",github_user_not_found:"The specified GitHub user could not be found.",cannot_coauthor_self:"You cannot add yourself as a co-author.",storage_write_size_mismatch:"The downloaded file was smaller than expected. The upstream source may have returned an incomplete response \u2014 please try again.",storage_read_error:"An error occurred while reading the file from storage \u2014 please try again.",upstream_error:"A temporary error occurred while fetching from GitHub \u2014 please try again.",token_expired:"Your GitHub access token has expired. Please log out and log in again to refresh it.",job_is_active:"This job is currently running \u2014 wait for it to finish or remove it first.",github_app_access_required:"Allow this repository on GitHub using the read-only access button, then retry. Organization access may require administrator approval.",github_app_reconnect_required:"Reconnect your GitHub App account to restore read-only access.",github_app_disabled:"New GitHub App connections are currently unavailable.",github_oauth_required:"Connect legacy GitHub OAuth to use this feature.",github_identity_mismatch:"Use the same GitHub account that you are signed in with here.",github_app_permissions_invalid:"The GitHub App must be configured with read-only permissions.",github_unavailable:"GitHub is temporarily unavailable. Please retry.",connection_changed:"The repository connection changed. Reload and try again.",repository_busy:"Wait for the repository operation to finish before changing its connection.",invalid_connection:"Select a supported GitHub connection.",github_oauth_disabled:"Legacy OAuth sign-in is currently disabled.",invalid_auth_state:"The authorization session expired. Please start again from Anonymous GitHub.",invalid_webhook_signature:"The webhook signature is invalid.",webhook_processing_failed:"Webhook processing failed. Retry the delivery.",github_app_authorization_cancelled:"GitHub authorization was cancelled.",github_account_link_required:"Verify your existing account with your previous GitHub connection. Future sign-ins will use the GitHub App.",github_app_refresh_busy:"GitHub credentials are being renewed. Please retry shortly.",github_grant_revocation_failed:"Unable to revoke the GitHub grant. Please retry.",another_login_required:"Connect and verify another sign-in method before disconnecting OAuth.",oauth_resources_remaining:"Some resources still require OAuth. Migrate or remove them before disconnecting.",invalid_github_path:"The GitHub repository path is invalid."},WARNINGS:{page_not_enabled_on_repo:"GitHub Pages is not enabled on this repository. Enable it in the repository's Settings \u2192 Pages on GitHub, then refresh.",page_branch_mismatch:"GitHub Pages on this repository is served from the '{{pageBranch}}' branch, but you selected '{{selectedBranch}}'. Switch the branch above to '{{pageBranch}}' to anonymize the Pages site.",folder_truncated:"This folder has more than 10,000 entries; only a partial listing is shown.",repo_truncated:"Some folders in this repository have too many files to be fully listed. Affected folders are marked with a warning icon.",submodules_not_included:"This repository uses git submodules. Submodule contents are not included in the anonymized repository and appear as empty folders."}};var Sl={name:"htmlDoc",props:["content","baseUrl","allowScripts"],setup(e){let t=xe(null);return Vt(()=>{let r=[t.value][0];r.classList.add("html-doc");function n(){r.innerHTML="";let i=e.content;if(typeof i!="string")return;let a=document.createElement("iframe");a.className="html-doc-frame",a.setAttribute("title","Rendered HTML document");let u=["allow-popups","allow-popups-to-escape-sandbox"];e.allowScripts&&u.push("allow-scripts","allow-forms","allow-modals"),a.setAttribute("sandbox",u.join(" ")),a.setAttribute("referrerpolicy","no-referrer"),r.appendChild(a);let m="";e.baseUrl&&(m=''),a.srcdoc=m+i}Be(()=>e.content,n,{immediate:!0}),Be(()=>e.baseUrl,n,{immediate:!0}),Be(()=>e.allowScripts,n,{immediate:!0})}),()=>Se("html-doc",{ref:t})}};var Dl={name:"pdfviewer",props:["src"],setup(e){let t=xe(null);return Vt(()=>{let o=[t.value],r=400,n=[.5,.75,1,1.25,1.5,2,3],i=1e3,a=o[0];a.classList.add("pdf-viewer");let u=null,m=[],h=!1,v=null,k=1,p=1,g=0,w=0,b=612/792,T=0,N=document.createElement("div");N.className="pdf-toolbar";let R=document.createElement("div");R.className="pdf-pages",R.tabIndex=0,R.setAttribute("aria-label","PDF pages"),a.appendChild(N),a.appendChild(R);function I(L,K,fe){let Ne=document.createElement("button");return Ne.type="button",Ne.className="pdf-toolbar-btn",Ne.title=K,Ne.setAttribute("aria-label",K),Ne.innerHTML='',Ne.addEventListener("click",fe),Ne}let C=I("fa-chevron-up","Previous page",function(){he(p-1)}),A=I("fa-chevron-down","Next page",function(){he(p+1)}),P=document.createElement("input");P.type="text",P.className="pdf-toolbar-page",P.setAttribute("aria-label","Page number"),P.title="Page number \u2014 type a page and press Enter",P.addEventListener("keydown",function(L){L.key==="Enter"&&(he(parseInt(P.value,10)),P.blur())}),P.addEventListener("blur",function(){P.value=String(p)});let Z=document.createElement("span");Z.className="pdf-toolbar-count";let Y=I("fa-search-minus","Zoom out",function(){le(n[Math.max(0,re()-1)])}),j=I("fa-search-plus","Zoom in",function(){le(n[Math.min(n.length-1,re()+1)])}),z=document.createElement("button");z.type="button",z.className="pdf-toolbar-btn pdf-toolbar-zoom",z.title="Reset zoom to fit the width",z.setAttribute("aria-label","Reset zoom to fit the width"),z.addEventListener("click",function(){le(1)}),N.appendChild(C),N.appendChild(A);let ae=document.createElement("span");ae.className="pdf-toolbar-group",ae.appendChild(P),ae.appendChild(Z),N.appendChild(ae);let se=document.createElement("span");se.className="pdf-toolbar-group pdf-toolbar-right",se.appendChild(Y),se.appendChild(z),se.appendChild(j),N.appendChild(se);function re(){let L=0;for(let K=0;K=L,z.textContent=Math.round(k*100)+"%",Y.disabled=re()===0,j.disabled=re()===n.length-1}function _e(L){let K=m[L-1];K&&(R.scrollTop+=K.getBoundingClientRect().top-R.getBoundingClientRect().top)}function he(L){if(!u||isNaN(L))return;let K=Math.min(Math.max(1,L),u.numPages);m[K-1]&&(_e(K),p=K,g=K,w=Date.now()+800,ue(),D())}function me(){if(!m.length||Date.now()Ne||S.bottome.src,te,{immediate:!0}),ns(function(){R.removeEventListener("scroll",V),$(window).off("resize",U),pe()})}),()=>Se("pdfviewer",{ref:t})}};var Yq=new Set(ye),Tl={props:["content","terms","options"],setup(e){let t=xe(null),o=()=>{t.value.innerHTML=renderMD(e.content||"",window.location.pathname+"/../")};return Vt(()=>{o(),Be(()=>[e.content,e.terms,e.options],o,{deep:!0})}),()=>Se("markdown",{ref:t})}},Jq={props:["file","terms","options"],setup(e){let t=xe(null),o=()=>Et(()=>t.value?.querySelectorAll("pre code").forEach(r=>window.Prism?.highlightElement(r)));return Vt(o),Be(()=>[e.file?.content,e.terms,e.options],o,{deep:!0}),()=>{let r=e.file||{},n=(r.filename||"").split(".").pop().toLowerCase();if(["md","markdown"].includes(n)||r.language==="Markdown")return Se("gist-file",{ref:t},Se(Tl,{content:r.content,terms:e.terms,options:e.options}));let i={js:"javascript",jsx:"javascript",ts:"javascript",typescript:"javascript",py:"python",html:"markup",xml:"markup",svg:"markup",sh:"bash"},a=(r.language||n||"none").toLowerCase();return Se("gist-file",{ref:t},Se("pre",{class:"line-numbers"},Se("code",{class:"language-"+(i[a]||a),key:r.content},r.content||"")))}}},Qq={props:["file","content"],setup(e){let t=xe(null),o=0,r,n=async()=>{let i=++o;r?.abort(),r=new AbortController;try{let a=e.content?JSON.parse(e.content):await fetch(e.file?.download_url||e.file,{signal:r.signal}).then(u=>{if(!u.ok)throw Error("Notebook request failed");return u.json()});if(await Kt("notebook"),i!==o)return;t.value.innerHTML=DOMPurify.sanitize(nb.parse(a).render()),t.value.querySelectorAll("pre code").forEach(u=>window.Prism?.highlightElement(u))}catch(a){i===o&&a.name!=="AbortError"&&(t.value.textContent="Unable to render the notebook.")}};return Vt(()=>{n(),Be(()=>[e.file,e.content],n)}),ns(()=>{o++,r?.abort()}),()=>Se("notebook",{ref:t})}},Xq={props:["stats"],setup(e){return()=>{let t=Object.entries(e.stats||{}).filter(([,r])=>r.code),o=t.reduce((r,[,n])=>r+n.code,0);return Se("loc",t.map(([r,n])=>Se("div",{class:"lang",title:`${r}: ${n.code.toLocaleString()} lines`,style:{width:n.code*100/o+"%",background:langColors[r]}})))}}},Ol={Markdown:Tl,GistFile:Jq,Notebook:Qq,Loc:Xq,HtmlDoc:Sl,Pdfviewer:ei(async()=>(await Kt("pdf"),pdfjsLib.GlobalWorkerOptions.workerSrc="/script/external/pdf.worker.js",Dl))},Al={async mounted(e,{value:t}){e._editorValue=t;try{if(await sr(),e._editorDisposed)return;let o=e._editorValue,r=ace.edit(e);e._editor=r,r.setValue(String(o.content??""),-1),Rl(e,o.options),o.options?.onLoad?.(r)}catch(o){e._editorDisposed||(e.textContent=o.message)}},updated(e,{value:t}){e._editorValue=t,e._editor&&(e._editor.getValue()!==String(t.content??"")&&e._editor.setValue(String(t.content??""),-1),Rl(e,t.options))},beforeUnmount(e){e._editorDisposed=!0,e._editor?.destroy()}};function Rl(e,t={}){let o=Yq.has(t.mode)?t.mode:"text";e._editor.session.setMode("ace/mode/"+o),t.theme&&e._editor.setTheme("ace/theme/"+t.theme),e._editor.setReadOnly(t.readOnly!==!1)}var Il={mounted(e){if(!window.IntersectionObserver)return;let t=[...e.querySelectorAll('a[href^="#"]')],o=new Set,r=new IntersectionObserver(n=>{n.forEach(a=>a.isIntersecting?o.add(a.target.id):o.delete(a.target.id));let i=t.find(a=>o.has(a.hash.slice(1)));t.forEach(a=>a.classList.toggle("active",a===i))},{rootMargin:"-20% 0px -60% 0px",threshold:0});Et(()=>t.forEach(n=>{let i=document.getElementById(n.hash.slice(1));i&&r.observe(i)})),e._observer=r},beforeUnmount(e){e._observer?.disconnect()}};function Zq(e){let t={children:[]},o=new Map([["",t]]);function r(n){if(o.has(n))return o.get(n);let i=n.lastIndexOf("/"),a=r(i<0?"":n.slice(0,i)),u={name:n.slice(i+1),children:[]};return o.set(n,u),a.children.push(u),u}for(let n of e||[]){let i=n.path?`${n.path}/${n.name}`:n.name;n.size==null?r(i):r(n.path||"").children.push({...n})}return t.children}var Vl={name:"FileTree",props:["file","parent","searchQuery","searchResults","page"],setup(e){let t=Ca(),o=xe(null),r=He(Object.create(null)),n=null,i=st(()=>Zq(e.file)),a=()=>"/"+(Array.isArray(t.params.path)?t.params.path.join("/"):t.params.path||"");Be(()=>[t.params.repoId,t.params.path],()=>{let p="";a().split("/").filter(Boolean).forEach(g=>{p+="/"+g,r[p]=!0})},{immediate:!0});let u=st(()=>{if(!e.searchQuery||!e.searchResults)return null;let p=new Set,g=new Set;return e.searchResults.forEach(w=>{p.add(w.path?`${w.path}/${w.name}`:w.name);let b="";(w.path||"").split("/").filter(Boolean).forEach(T=>{b=b?b+"/"+T:T,g.add(b)})}),{files:p,folders:g}}),m=()=>[...o.value.querySelectorAll("li > a")],h=p=>{o.value.querySelector(".tree-focused")?.classList.remove("tree-focused"),p&&(n=p.dataset.path,p.classList.add("tree-focused"),p.scrollIntoView?.({block:"nearest"}),o.value.focus())};function v(p){let g=m(),w=o.value.querySelector(".tree-focused")||g[0],b=g.indexOf(w);if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(p.key)||(p.preventDefault(),p.key==="ArrowDown"&&h(g[(b+1)%g.length]),p.key==="ArrowUp"&&h(g[(b-1+g.length)%g.length]),!w))return;let T=w.closest("li");p.key==="ArrowRight"&&T.classList.contains("folder")&&(T.classList.contains("open")?h(T.querySelector(":scope > ul > li > a")):w.click()),p.key==="ArrowLeft"&&(T.classList.contains("folder")&&T.classList.contains("open")?w.click():h(T.parentElement.closest("li.folder")?.querySelector(":scope > a"))),p.key==="Enter"&&w.click()}function k(p,g=""){let w=[...p].sort((b,T)=>+!!T.children-+!!b.children||b.name.localeCompare(T.name));return Se("ul",w.flatMap(b=>{let T=b,N=T.name,R=(g+"/"+N).slice(1);if(u.value&&!u.value.files.has(R)&&!u.value.folders.has(R))return[];for(;T.children?.length===1;)T=T.children[0],N+="/"+T.name;let I=g+"/"+N,C=!!T.children,A=u.value?r[I]!==!1:!!r[I],P=C&&e.page?.options?.truncatedFolders?.includes(I.slice(1)),Z=e.page?.fileCounts?.[I.slice(1)]||0,Y=Se("span",{class:C?"tree-icon-folder":"far fa-file tree-icon-file","aria-hidden":"true"},C?Se("svg",{viewBox:"0 0 14 12",focusable:"false"},Se("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})):null),j=Se("span",{class:"tree-name"},N),z=se=>{h(se.currentTarget),C&&(se.preventDefault(),r[I]=!A,r[I]&&!T.children.length&&e.page.getFiles(I.slice(1)),Et(()=>h(m().find(re=>re.dataset.path===n))))},ae=Se("a",{"data-path":I,href:C?void 0:`/r/${encodeURIComponent(t.params.repoId)}${encodePathForUrl(I)}`,class:{"tree-focused":n===I},onClick:z},[C?Se("span",{class:"tree-toggle"}):g?Se("span",{class:"tree-spacer"}):null,Y,j,P?Se("span",{class:"truncated-warning",title:e.page.fmt.translate("WARNINGS.folder_truncated")},Se("i",{class:"fas fa-exclamation-triangle"})):null,C&&Z?Se("span",{class:"tree-count"},Z):null]);return Se("li",{key:I,class:{file:!0,folder:C,open:A,active:a()===I,truncated:P},title:C?"":`Size: ${humanFileSize(T.size||0)}`},[ae,C&&A?k(T.children,I):null])}))}return()=>Se("tree",{ref:o,tabindex:0,onKeydown:v},e.file?.length?u.value?.files.size===0?Se("div",{class:"tree-search-empty"},"No files found"):k(i.value):"Empty repository")}};function ql(){return He({errors:{},dirty:!1,touched:!1,submitted:!1,get invalid(){return Object.values(this.errors).some(Boolean)},setValidity(e,t){this.errors[e]=!t},setDirty(){this.dirty=!0}})}function Ml(e,t){if(!e[t]){let o=ql();Object.defineProperty(o,"invalid",{get(){return Object.values(o.errors).some(Boolean)||Object.keys(o).some(r=>r!=="invalid"&&o[r]&&typeof o[r]=="object"&&o[r].invalid)}}),e[t]=o}return e[t]}var $l={beforeMount(e,{value:t}){e._formState=Ml(t,e.name),e.addEventListener("submit",o=>o.preventDefault())}};function xq(e){return e instanceof Date?isNaN(e)?"":`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:e||""}function Pl(e){let t=e._field.binding.value;e.type==="checkbox"?e.checked=!!t:e.type==="radio"?e.checked=t==(e._value??e.value):e._field.timer||(e.value=e.type==="date"?xq(t):t??""),Zo(e)}function Zo(e){let t=e._field.validation;if(!t)return;let o=e.validity;for(let[r,n]of Object.entries({required:o.valueMissing,pattern:o.patternMismatch,min:o.rangeUnderflow,max:o.rangeOverflow,date:o.badInput,email:o.typeMismatch&&e.type==="email",url:o.typeMismatch&&e.type==="url"}))t.setValidity(r,e.disabled||!n)}var Ul={beforeMount(e,{value:t}){var a;let o=t.form&&Ml(t.state,t.form),r=o&&e.name?o[a=e.name]||(o[a]=ql()):null;e._field={binding:t,validation:r,timer:null};let n=()=>{clearTimeout(e._field.timer),e._field.timer=null;let u=e._field.binding,m=e.type==="checkbox"?e.checked:e._value??e.value;if(!(e.type==="radio"&&!e.checked)){if((e.type==="number"||e.type==="range")&&(m=e.value===""?null:Number(e.value)),e.type==="date"&&(m=e.value?new Date(e.value+"T00:00:00"):null),r){r.setDirty();for(let h of Object.keys(r.errors))r.setValidity(h,!0)}u.set(m),Zo(e),u.change?.()}};e._field.commit=n;let i=u=>{let m=e._field.binding.options?.debounce||0,h=typeof m=="number"?m:m[u.type]??m.default??0;clearTimeout(e._field.timer),h?e._field.timer=setTimeout(n,h):n()};e.addEventListener(e.tagName==="SELECT"||["checkbox","radio","date"].includes(e.type)?"change":"input",i),e.addEventListener("blur",()=>{r&&(r.touched=!0),e._field.timer&&n()})},mounted:Pl,updated(e,{value:t}){e._field.binding=t,Pl(e)},beforeUnmount(e){clearTimeout(e._field.timer);let{binding:t,validation:o}=e._field,r=t.form&&t.state[t.form];r&&r[e.name]===o&&delete r[e.name]}};function Ll(e,t){let o=e.target.closest("form");if(o?._formState&&(o._formState.submitted=!0),o?.querySelectorAll("input, select, textarea").forEach(r=>{r._field?.timer&&r._field.commit(),r._field&&Zo(r)}),o&&!o.checkValidity()){let r=o.querySelector(":invalid");r?.scrollIntoView?.({block:"center"}),r?.focus(),o.reportValidity();return}return t()}var Fl=Symbol("session"),e4=/^\/(w|api|github)(\/|$)/;function zl(e,t={}){let o=e?.split(".").reduce((r,n)=>r?.[n],Nl);return String(o??e??"").replace(/{{\s*([^}]+?)\s*}}/g,(r,n)=>t[n]??"")}var t4={...Xo,translate:zl};function s4(e){if(e==null||e==="")return e;try{let t=new URL(e,window.location.href);return["http:","https:","mailto:","tel:","blob:"].includes(t.protocol)?e:void 0}catch{return}}function n4(e="#app",t={}){!t.history&&window.location.pathname==="/"&&/^#!\/r\/[^/?#]+/.test(window.location.hash)&&window.history.replaceState(window.history.state,"",window.location.hash.slice(2));let o=new Map,r=_l(t.fetch),n,i;function a(){let h=ht(),v={url(p){return p===void 0?i.currentRoute.value.fullPath:(i.push(p),v)},path(){return i.currentRoute.value.path},search(){return i.currentRoute.value.query}},k=new Proxy({},{get(p,g){let w=i.currentRoute.value.params[g];return Array.isArray(w)?w.join("/"):w}});return{http:r,...h,location:v,params:k,window,promises:El,html:{trustAsHtml:p=>p},translate:(p,g)=>Promise.resolve(zl(p,g)),quotaService:Cl(r)}}function u(h){return{name:h.template,setup(){let v=Yo(dt(Fl),o);h.setup(v,a()),kl(h.template,v);let k=[];return()=>Qn[h.template](v,k)}}}i=Ea({history:t.history||wa(),routes:Wa.map(h=>h.redirect?h:{path:h.path,component:u(h),meta:{title:h.title,preserveExplorer:h.preserveExplorer}})});let m=zi({setup(){n=Yo(null,o),n.fmt=t4,n.window=window,n.Math=Math,n.sanitize=p=>DOMPurify.sanitize(p??""),n.submitForm=Ll,n.safeUrl=s4;let h=a();Sa(n,h.http,h.location,h.timeout),ss(Fl,n),Be(()=>n.title,p=>{document.title=p||"Anonymous GitHub"});let v=[],k=p=>{let g=p.target.closest?.("a[href]");if(p.defaultPrevented||p.button!==0||p.metaKey||p.ctrlKey||p.shiftKey||p.altKey||!g||g.hasAttribute("download")||g.target&&g.target!=="_self"||g.dataset.toggle||g.getAttribute("href").startsWith("#"))return;let b=new URL(g.href,window.location.href);b.origin!==window.location.origin||e4.test(b.pathname)||(p.preventDefault(),i.push(b.pathname+b.search+b.hash),$("#navbarSupportedContent.show").collapse("hide"))};return document.addEventListener("click",k),ns(()=>document.removeEventListener("click",k)),()=>[Se("header",{class:"app-header"},Qn["partials/header.htm"](n,v)),Se("main",{class:"app-view align-items-stretch w-100"},Se(Ko,null,{default:({Component:p,route:g})=>p?Se(p,{key:g.meta.preserveExplorer?g.matched[0]?.path:g.path}):null})),Se("div",{class:"position-fixed p-3",style:{zIndex:999999999,right:0,bottom:0}},n.toasts.map((p,g)=>Se("div",{class:"toast show",role:"alert","aria-live":"assertive","aria-atomic":"true",key:g},[Se("div",{class:"toast-header"},[Se("strong",{class:"mr-auto"},p.title),Se("button",{type:"button",class:"ml-2 mb-1 close","aria-label":"Close",onClick:()=>n.removeToast(p)},"\xD7")]),Se("div",{class:"toast-body"},p.body)])))]}});for(let[h,v]of Object.entries(Ol))m.component(h,v);return m.component("Tree",Vl),m.component("PartialView",{props:["name","state"],setup(h){let v=[];return()=>Qn[h.name](h.state,v)}}),m.directive("field",Ul),m.directive("form",$l),m.directive("code-editor",Al),m.directive("paper-scrollspy",Il),m.use(i),i.beforeEach(async h=>{n?.emit("routeLeave"),/^\/(r|repository|anonymize|pull-request-anonymize|gist-anonymize|pr|gist)(\/|$)/.test(h.path)&&await Kt("markdown"),/^\/(r|repository)\//.test(h.path)&&await Kt("org")}),i.afterEach(h=>{if(!n)return;n.title=h.meta.title,n.emit("routeChange",{title:h.meta.title}),n.emit("routeUpdate",{title:h.meta.title});let v=document.querySelector(".app-view");!h.meta.preserveExplorer&&v&&(v.scrollTop=0)}),m.mount(e),{app:m,router:i,state:n}}document.querySelector("#app")&&(window.anonymousApp=n4());})(); /*! Bundled license information: @vue/shared/dist/shared.esm-bundler.js: diff --git a/test/vue-ui.test.js b/test/vue-ui.test.js index ec5e84e..cadf4f8 100644 --- a/test/vue-ui.test.js +++ b/test/vue-ui.test.js @@ -28,6 +28,8 @@ async function browser(route = "/", overrides = {}, storage = {}) { url: "http://localhost" + route, runScripts: "dangerously", pretendToBeVisual: true, virtualConsole, }); const window = dom.window; + // Exercise the production bundle on browsers without this ES2022 builtin. + window.Object.hasOwn = undefined; window.matchMedia = () => ({ matches: false }); window.HTMLCanvasElement.prototype.getContext = () => null; window.fetch = async (url, options = {}) => { @@ -380,7 +382,7 @@ describe("Vue 3 UI", function () { expect(ui.window.document.activeElement.id).to.equal("commit"); }); - for (const [file, mode] of [["data.csv", "text"], ["LICENSE", "text"], ["model.idp", "text"], ["hello.js", "javascript"]]) { + for (const [file, mode] of [["data.csv", "text"], ["LICENSE", "text"], ["model.idp", "text"], ["hello.js", "javascript"], ...["csp", "applescript", "logtalk", "redshift", "sparql", "turtle"].map(mode => ["file." + mode, mode])]) { it("uses an available editor mode for " + file, async function () { ui = await browser("/r/test/" + file, { "/api/repo/test/files/": [{ name: file, path: "", sha: "1", size: 5 }],