(function(){"use strict";try{var a=document.createElement("style");a.appendChild(document.createTextNode('.tableFixHead[data-v-23d0f418]{overflow-y:auto;max-height:20em}.tableFixHead thead th[data-v-23d0f418]{position:sticky;top:0}table[data-v-23d0f418]{border-collapse:collapse;width:100%}th[data-v-23d0f418],td[data-v-23d0f418]{padding:8px 16px;border:1px solid #ccc}th[data-v-23d0f418]{background:#eee}.partnerSearch[data-v-23d0f418]{padding:1em;font-size:1.2em;width:20em}.partnerSearch+button[data-v-23d0f418]{display:inline-block;padding:1em;font-size:1.2em;margin-left:1em;width:8em}.partner[data-v-23d0f418]{padding:.3em 1.3em .3em .3em;font-size:.8em;background-color:#ffffe5;border:1px solid #222;border-radius:5px;position:relative;cursor:pointer}.partner[data-v-23d0f418]:after{content:" x";font-family:monospace;position:absolute;top:calc(50% - .5em);right:.5em}.assignments[data-v-6cb23c59]{padding:0;margin:0}.assignment[data-v-6cb23c59]{list-style:none;border-radius:3px;border:1px solid #ccc;margin:1em 0;padding:1em;box-shadow:3px 3px 6px #999}.assignments[data-v-a8950f34]{padding:0;margin:0}.assignment[data-v-a8950f34]{list-style:none;border-radius:3px;border:1px solid #ccc;margin:1em 0;padding:1em;box-shadow:3px 3px 6px #999}.assignment p[data-v-a8950f34]{display:grid}.assignment p input[data-v-a8950f34],.assignment p textarea[data-v-a8950f34]{padding:1em;font-size:1.2em;font-family:inherit;width:calc(100% - 2em)}.assignment p input[data-v-a8950f34]:invalid,.assignment p textarea[data-v-a8950f34]:invalid{background-color:ivory;border:none;outline:2px solid red;border-radius:5px}.assignment p button[data-v-a8950f34]{display:block;padding:1em;font-size:1.2em;width:8em}')),document.head.appendChild(a)}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); (function(tt,Ve){typeof exports=="object"&&typeof module<"u"?Ve(exports):typeof define=="function"&&define.amd?define(["exports"],Ve):(tt=typeof globalThis<"u"?globalThis:tt||self,Ve(tt.Graderbot={}))})(this,function(tt){"use strict";function Ve(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const Jr=Ve("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function cs(e){return!!e||e===""}function an(e){if(A(e)){const t={};for(let n=0;n{if(n){const s=n.split(Xr);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function dn(e){let t="";if(G(e))t=e;else if(A(e))for(let n=0;nnt(n,t))}const ue=e=>G(e)?e:e==null?"":A(e)||Y(e)&&(e.toString===hs||!S(e.toString))?JSON.stringify(e,fs,2):String(e),fs=(e,t)=>t&&t.__v_isRef?fs(e,t.value):rt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:jt(t)?{[`Set(${t.size})`]:[...t.values()]}:Y(t)&&!A(t)&&!ps(t)?String(t):t,H={},st=[],_e=()=>{},Gr=()=>!1,eo=/^on[^a-z]/,Pt=e=>eo.test(e),hn=e=>e.startsWith("onUpdate:"),ne=Object.assign,pn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},to=Object.prototype.hasOwnProperty,F=(e,t)=>to.call(e,t),A=Array.isArray,rt=e=>bt(e)==="[object Map]",jt=e=>bt(e)==="[object Set]",as=e=>bt(e)==="[object Date]",S=e=>typeof e=="function",G=e=>typeof e=="string",_t=e=>typeof e=="symbol",Y=e=>e!==null&&typeof e=="object",ds=e=>Y(e)&&S(e.then)&&S(e.catch),hs=Object.prototype.toString,bt=e=>hs.call(e),no=e=>bt(e).slice(8,-1),ps=e=>bt(e)==="[object Object]",gn=e=>G(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ft=Ve(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},so=/-(\w)/g,Oe=Mt(e=>e.replace(so,(t,n)=>n?n.toUpperCase():"")),ro=/\B([A-Z])/g,ot=Mt(e=>e.replace(ro,"-$1").toLowerCase()),kt=Mt(e=>e.charAt(0).toUpperCase()+e.slice(1)),mn=Mt(e=>e?`on${kt(e)}`:""),Nt=(e,t)=>!Object.is(e,t),Ut=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},_n=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let gs;const oo=()=>gs||(gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let ve;class io{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&ve&&(this.parent=ve,this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}run(t){if(this.active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){ve=this}off(){ve=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},ms=e=>(e.w&Ne)>0,_s=e=>(e.n&Ne)>0,co=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=s)&&l.push(f)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":A(e)?gn(n)&&l.push(i.get("length")):(l.push(i.get(We)),rt(e)&&l.push(i.get(Cn)));break;case"delete":A(e)||(l.push(i.get(We)),rt(e)&&l.push(i.get(Cn)));break;case"set":rt(e)&&l.push(i.get(We));break}if(l.length===1)l[0]&&En(l[0]);else{const f=[];for(const d of l)d&&f.push(...d);En(bn(f))}}function En(e,t){const n=A(e)?e:[...e];for(const s of n)s.computed&&Cs(s);for(const s of n)s.computed||Cs(s)}function Cs(e,t){(e!==be||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const fo=Ve("__proto__,__v_isRef,__isVue"),Ts=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(_t)),ao=On(),ho=On(!1,!0),po=On(!0),Es=go();function go(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=L(this);for(let o=0,i=this.length;o{e[t]=function(...n){it();const s=L(this)[t].apply(this,n);return lt(),s}}),e}function On(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?Po:js:t?Ps:Ss).get(s))return s;const i=A(s);if(!e&&i&&F(Es,r))return Reflect.get(Es,r,o);const l=Reflect.get(s,r,o);return(_t(r)?Ts.has(r):fo(r))||(e||fe(s,"get",r),t)?l:se(l)?i&&gn(r)?l:l.value:Y(l)?e?Fs(l):An(l):l}}const mo=Os(),_o=Os(!0);function Os(e=!1){return function(n,s,r,o){let i=n[s];if(wt(i)&&se(i)&&!se(r))return!1;if(!e&&!wt(r)&&(In(r)||(r=L(r),i=L(i)),!A(n)&&se(i)&&!se(r)))return i.value=r,!0;const l=A(n)&&gn(s)?Number(s)e,Lt=e=>Reflect.getPrototypeOf(e);function Dt(e,t,n=!1,s=!1){e=e.__v_raw;const r=L(e),o=L(t);n||(t!==o&&fe(r,"get",t),fe(r,"get",o));const{has:i}=Lt(r),l=s?vn:n?Pn:Sn;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Ht(e,t=!1){const n=this.__v_raw,s=L(n),r=L(e);return t||(e!==r&&fe(s,"has",e),fe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Bt(e,t=!1){return e=e.__v_raw,!t&&fe(L(e),"iterate",We),Reflect.get(e,"size",e)}function xs(e){e=L(e);const t=L(this);return Lt(t).has.call(t,e)||(t.add(e),Se(t,"add",e,e)),this}function As(e,t){t=L(t);const n=L(this),{has:s,get:r}=Lt(n);let o=s.call(n,e);o||(e=L(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Nt(t,i)&&Se(n,"set",e,t):Se(n,"add",e,t),this}function $s(e){const t=L(this),{has:n,get:s}=Lt(t);let r=n.call(t,e);r||(e=L(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Se(t,"delete",e,void 0),o}function Is(){const e=L(this),t=e.size!==0,n=e.clear();return t&&Se(e,"clear",void 0,void 0),n}function Kt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=L(i),f=t?vn:e?Pn:Sn;return!e&&fe(l,"iterate",We),i.forEach((d,m)=>s.call(r,f(d),f(m),o))}}function zt(e,t,n){return function(...s){const r=this.__v_raw,o=L(r),i=rt(o),l=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,d=r[e](...s),m=n?vn:t?Pn:Sn;return!t&&fe(o,"iterate",f?Cn:We),{next(){const{value:w,done:T}=d.next();return T?{value:w,done:T}:{value:l?[m(w[0]),m(w[1])]:m(w),done:T}},[Symbol.iterator](){return this}}}}function Re(e){return function(...t){return e==="delete"?!1:this}}function Eo(){const e={get(o){return Dt(this,o)},get size(){return Bt(this)},has:Ht,add:xs,set:As,delete:$s,clear:Is,forEach:Kt(!1,!1)},t={get(o){return Dt(this,o,!1,!0)},get size(){return Bt(this)},has:Ht,add:xs,set:As,delete:$s,clear:Is,forEach:Kt(!1,!0)},n={get(o){return Dt(this,o,!0)},get size(){return Bt(this,!0)},has(o){return Ht.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:Kt(!0,!1)},s={get(o){return Dt(this,o,!0,!0)},get size(){return Bt(this,!0)},has(o){return Ht.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:Kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=zt(o,!1,!1),n[o]=zt(o,!0,!1),t[o]=zt(o,!1,!0),s[o]=zt(o,!0,!0)}),[e,n,t,s]}const[Oo,vo,xo,Ao]=Eo();function xn(e,t){const n=t?e?Ao:xo:e?vo:Oo;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(F(n,r)&&r in s?n:s,r,o)}const $o={get:xn(!1,!1)},Io={get:xn(!1,!0)},So={get:xn(!0,!1)},Ss=new WeakMap,Ps=new WeakMap,js=new WeakMap,Po=new WeakMap;function jo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Fo(e){return e.__v_skip||!Object.isExtensible(e)?0:jo(no(e))}function An(e){return wt(e)?e:$n(e,!1,vs,$o,Ss)}function Mo(e){return $n(e,!1,To,Io,Ps)}function Fs(e){return $n(e,!0,Co,So,js)}function $n(e,t,n,s,r){if(!Y(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=Fo(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function ct(e){return wt(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function wt(e){return!!(e&&e.__v_isReadonly)}function In(e){return!!(e&&e.__v_isShallow)}function Ms(e){return ct(e)||wt(e)}function L(e){const t=e&&e.__v_raw;return t?L(t):e}function ks(e){return Rt(e,"__v_skip",!0),e}const Sn=e=>Y(e)?An(e):e,Pn=e=>Y(e)?Fs(e):e;function ko(e){Ue&&be&&(e=L(e),ws(e.dep||(e.dep=bn())))}function No(e,t){e=L(e),e.dep&&En(e.dep)}function se(e){return!!(e&&e.__v_isRef===!0)}function Uo(e){return se(e)?e.value:e}const Ro={get:(e,t,n)=>Uo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return se(r)&&!se(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ns(e){return ct(e)?e:new Proxy(e,Ro)}class Lo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new Tn(t,()=>{this._dirty||(this._dirty=!0,No(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=L(this);return ko(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Do(e,t,n=!1){let s,r;const o=S(e);return o?(s=e,r=_e):(s=e.get,r=e.set),new Lo(s,r,o||!r,n)}function Le(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){Vt(o,t,n)}return r}function he(e,t,n,s){if(S(e)){const o=Le(e,t,n,s);return o&&ds(o)&&o.catch(i=>{Vt(i,t,n)}),o}const r=[];for(let o=0;o>>1;Ot(ae[s])Pe&&ae.splice(t,1)}function Ds(e,t,n,s){A(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),Ls()}function Vo(e){Ds(e,Tt,Ct,ut)}function Wo(e){Ds(e,De,Et,ft)}function qt(e,t=null){if(Ct.length){for(Mn=t,Tt=[...new Set(Ct)],Ct.length=0,ut=0;utOt(n)-Ot(s)),ft=0;fte.id==null?1/0:e.id;function Bs(e){jn=!1,Wt=!0,qt(e),ae.sort((n,s)=>Ot(n)-Ot(s));const t=_e;try{for(Pe=0;Pe$.trim())),w&&(r=n.map(_n))}let l,f=s[l=mn(t)]||s[l=mn(Oe(t))];!f&&o&&(f=s[l=mn(ot(t))]),f&&he(f,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,he(d,e,6,r)}}function Ks(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!S(e)){const f=d=>{const m=Ks(d,t,!0);m&&(l=!0,ne(i,m))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!l?(s.set(e,null),null):(A(o)?o.forEach(f=>i[f]=null):ne(i,o),s.set(e,i),i)}function Jt(e,t){return!e||!Pt(t)?!1:(t=t.slice(2).replace(/Once$/,""),F(e,t[0].toLowerCase()+t.slice(1))||F(e,ot(t))||F(e,t))}let pe=null,Yt=null;function Xt(e){const t=pe;return pe=e,Yt=e&&e.type.__scopeId||null,t}function kn(e){Yt=e}function Nn(){Yt=null}function Jo(e,t=pe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&yr(-1);const o=Xt(t),i=e(...r);return Xt(o),s._d&&yr(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function Wc(){}function Un(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:f,emit:d,render:m,renderCache:w,data:T,setupState:$,ctx:D,inheritAttrs:R}=e;let j,k;const me=Xt(e);try{if(n.shapeFlag&4){const X=r||s;j=Ae(m.call(X,X,w,o,$,T,D)),k=f}else{const X=t;j=Ae(X.length>1?X(o,{attrs:f,slots:l,emit:d}):X(o,null)),k=t.props?f:Yo(f)}}catch(X){vt.length=0,Vt(X,e,1),j=xe(ye)}let Q=j;if(k&&R!==!1){const X=Object.keys(k),{shapeFlag:ie}=Q;X.length&&ie&7&&(i&&X.some(hn)&&(k=Xo(k,i)),Q=He(Q,k))}return n.dirs&&(Q=He(Q),Q.dirs=Q.dirs?Q.dirs.concat(n.dirs):n.dirs),n.transition&&(Q.transition=n.transition),j=Q,Xt(me),j}const Yo=e=>{let t;for(const n in e)(n==="class"||n==="style"||Pt(n))&&((t||(t={}))[n]=e[n]);return t},Xo=(e,t)=>{const n={};for(const s in e)(!hn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Zo(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:f}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?zs(s,i,d):!!i;if(f&8){const m=t.dynamicProps;for(let w=0;we.__isSuspense;function ei(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):Wo(e)}function ti(e,t){if(te){let n=te.provides;const s=te.parent&&te.parent.provides;s===n&&(n=te.provides=Object.create(s)),n[e]=t}}function Rn(e,t,n=!1){const s=te||pe;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&S(t)?t.call(s.proxy):t}}const Vs={};function Ln(e,t,n){return Ws(e,t,n)}function Ws(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=H){const l=te;let f,d=!1,m=!1;if(se(e)?(f=()=>e.value,d=In(e)):ct(e)?(f=()=>e,s=!0):A(e)?(m=!0,d=e.some(k=>ct(k)||In(k)),f=()=>e.map(k=>{if(se(k))return k.value;if(ct(k))return qe(k);if(S(k))return Le(k,l,2)})):S(e)?t?f=()=>Le(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return w&&w(),he(e,l,3,[T])}:f=_e,t&&s){const k=f;f=()=>qe(k())}let w,T=k=>{w=j.onStop=()=>{Le(k,l,4)}};if(At)return T=_e,t?n&&he(t,l,3,[f(),m?[]:void 0,T]):f(),_e;let $=m?[]:Vs;const D=()=>{if(!!j.active)if(t){const k=j.run();(s||d||(m?k.some((me,Q)=>Nt(me,$[Q])):Nt(k,$)))&&(w&&w(),he(t,l,3,[k,$===Vs?void 0:$,T]),$=k)}else j.run()};D.allowRecurse=!!t;let R;r==="sync"?R=D:r==="post"?R=()=>oe(D,l&&l.suspense):R=()=>Vo(D);const j=new Tn(f,R);return t?n?D():$=j.run():r==="post"?oe(j.run.bind(j),l&&l.suspense):j.run(),()=>{j.stop(),l&&l.scope&&pn(l.scope.effects,j)}}function ni(e,t,n){const s=this.proxy,r=G(e)?e.includes(".")?qs(s,e):()=>s[e]:e.bind(s,s);let o;S(t)?o=t:(o=t.handler,n=t);const i=te;at(this);const l=Ws(r,o.bind(s),n);return i?at(i):Qe(),l}function qs(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{qe(n,t)});else if(ps(e))for(const n in e)qe(e[n],t);return e}function si(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Qs(()=>{e.isMounted=!0}),Gs(()=>{e.isUnmounting=!0}),e}const ge=[Function,Array],ri={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ge,onEnter:ge,onAfterEnter:ge,onEnterCancelled:ge,onBeforeLeave:ge,onLeave:ge,onAfterLeave:ge,onLeaveCancelled:ge,onBeforeAppear:ge,onAppear:ge,onAfterAppear:ge,onAppearCancelled:ge},setup(e,{slots:t}){const n=Ki(),s=si();let r;return()=>{const o=t.default&&Xs(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const R of o)if(R.type!==ye){i=R;break}}const l=L(e),{mode:f}=l;if(s.isLeaving)return Hn(i);const d=Ys(i);if(!d)return Hn(i);const m=Dn(d,l,s,n);Bn(d,m);const w=n.subTree,T=w&&Ys(w);let $=!1;const{getTransitionKey:D}=d.type;if(D){const R=D();r===void 0?r=R:R!==r&&(r=R,$=!0)}if(T&&T.type!==ye&&(!Ze(d,T)||$)){const R=Dn(T,l,s,n);if(Bn(T,R),f==="out-in")return s.isLeaving=!0,R.afterLeave=()=>{s.isLeaving=!1,n.update()},Hn(i);f==="in-out"&&d.type!==ye&&(R.delayLeave=(j,k,me)=>{const Q=Js(s,T);Q[String(T.key)]=T,j._leaveCb=()=>{k(),j._leaveCb=void 0,delete m.delayedLeave},m.delayedLeave=me})}return i}}};function Js(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Dn(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:d,onEnterCancelled:m,onBeforeLeave:w,onLeave:T,onAfterLeave:$,onLeaveCancelled:D,onBeforeAppear:R,onAppear:j,onAfterAppear:k,onAppearCancelled:me}=t,Q=String(e.key),X=Js(n,e),ie=(N,W)=>{N&&he(N,s,9,W)},ht=(N,W)=>{const Z=W[1];ie(N,W),A(N)?N.every(le=>le.length<=1)&&Z():N.length<=1&&Z()},et={mode:o,persisted:i,beforeEnter(N){let W=l;if(!n.isMounted)if(r)W=R||l;else return;N._leaveCb&&N._leaveCb(!0);const Z=X[Q];Z&&Ze(e,Z)&&Z.el._leaveCb&&Z.el._leaveCb(),ie(W,[N])},enter(N){let W=f,Z=d,le=m;if(!n.isMounted)if(r)W=j||f,Z=k||d,le=me||m;else return;let Te=!1;const Fe=N._enterCb=un=>{Te||(Te=!0,un?ie(le,[N]):ie(Z,[N]),et.delayedLeave&&et.delayedLeave(),N._enterCb=void 0)};W?ht(W,[N,Fe]):Fe()},leave(N,W){const Z=String(e.key);if(N._enterCb&&N._enterCb(!0),n.isUnmounting)return W();ie(w,[N]);let le=!1;const Te=N._leaveCb=Fe=>{le||(le=!0,W(),Fe?ie(D,[N]):ie($,[N]),N._leaveCb=void 0,X[Z]===e&&delete X[Z])};X[Z]=e,T?ht(T,[N,Te]):Te()},clone(N){return Dn(N,t,n,s)}};return et}function Hn(e){if(Qt(e))return e=He(e),e.children=null,e}function Ys(e){return Qt(e)?e.children?e.children[0]:void 0:e}function Bn(e,t){e.shapeFlag&6&&e.component?Bn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Xs(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Qt=e=>e.type.__isKeepAlive;function ii(e,t){Zs(e,"a",t)}function li(e,t){Zs(e,"da",t)}function Zs(e,t,n=te){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Gt(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Qt(r.parent.vnode)&&ci(s,t,n,r),r=r.parent}}function ci(e,t,n,s){const r=Gt(t,e,s,!0);er(()=>{pn(s[t],r)},n)}function Gt(e,t,n=te,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;it(),at(n);const l=he(t,n,e,i);return Qe(),lt(),l});return s?r.unshift(o):r.push(o),o}}const je=e=>(t,n=te)=>(!At||e==="sp")&&Gt(e,t,n),ui=je("bm"),Qs=je("m"),fi=je("bu"),ai=je("u"),Gs=je("bum"),er=je("um"),di=je("sp"),hi=je("rtg"),pi=je("rtc");function gi(e,t=te){Gt("ec",e,t)}function en(e,t){const n=pe;if(n===null)return e;const s=cn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;ot(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,f=i.length;le?Tr(e)?cn(e)||e.proxy:Kn(e.parent):null,nn=ne(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=>Kn(e.parent),$root:e=>Kn(e.root),$emit:e=>e.emit,$options:e=>ir(e),$forceUpdate:e=>e.f||(e.f=()=>Rs(e.update)),$nextTick:e=>e.n||(e.n=Bo.bind(e.proxy)),$watch:e=>ni.bind(e)}),bi={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:f}=e;let d;if(t[0]!=="$"){const $=i[t];if($!==void 0)switch($){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(s!==H&&F(s,t))return i[t]=1,s[t];if(r!==H&&F(r,t))return i[t]=2,r[t];if((d=e.propsOptions[0])&&F(d,t))return i[t]=3,o[t];if(n!==H&&F(n,t))return i[t]=4,n[t];zn&&(i[t]=0)}}const m=nn[t];let w,T;if(m)return t==="$attrs"&&fe(e,"get",t),m(e);if((w=l.__cssModules)&&(w=w[t]))return w;if(n!==H&&F(n,t))return i[t]=4,n[t];if(T=f.config.globalProperties,F(T,t))return T[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return r!==H&&F(r,t)?(r[t]=n,!0):s!==H&&F(s,t)?(s[t]=n,!0):F(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==H&&F(e,i)||t!==H&&F(t,i)||(l=o[0])&&F(l,i)||F(s,i)||F(nn,i)||F(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:F(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let zn=!0;function yi(e){const t=ir(e),n=e.proxy,s=e.ctx;zn=!1,t.beforeCreate&&rr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:f,inject:d,created:m,beforeMount:w,mounted:T,beforeUpdate:$,updated:D,activated:R,deactivated:j,beforeDestroy:k,beforeUnmount:me,destroyed:Q,unmounted:X,render:ie,renderTracked:ht,renderTriggered:et,errorCaptured:N,serverPrefetch:W,expose:Z,inheritAttrs:le,components:Te,directives:Fe,filters:un}=t;if(d&&wi(d,s,null,e.appContext.config.unwrapInjectedRef),i)for(const q in i){const z=i[q];S(z)&&(s[q]=z.bind(n))}if(r){const q=r.call(n,n);Y(q)&&(e.data=An(q))}if(zn=!0,o)for(const q in o){const z=o[q],Me=S(z)?z.bind(n,n):S(z.get)?z.get.bind(n,n):_e,os=!S(z)&&S(z.set)?z.set.bind(n):_e,It=Xi({get:Me,set:os});Object.defineProperty(s,q,{enumerable:!0,configurable:!0,get:()=>It.value,set:pt=>It.value=pt})}if(l)for(const q in l)or(l[q],s,n,q);if(f){const q=S(f)?f.call(n):f;Reflect.ownKeys(q).forEach(z=>{ti(z,q[z])})}m&&rr(m,e,"c");function ce(q,z){A(z)?z.forEach(Me=>q(Me.bind(n))):z&&q(z.bind(n))}if(ce(ui,w),ce(Qs,T),ce(fi,$),ce(ai,D),ce(ii,R),ce(li,j),ce(gi,N),ce(pi,ht),ce(hi,et),ce(Gs,me),ce(er,X),ce(di,W),A(Z))if(Z.length){const q=e.exposed||(e.exposed={});Z.forEach(z=>{Object.defineProperty(q,z,{get:()=>n[z],set:Me=>n[z]=Me})})}else e.exposed||(e.exposed={});ie&&e.render===_e&&(e.render=ie),le!=null&&(e.inheritAttrs=le),Te&&(e.components=Te),Fe&&(e.directives=Fe)}function wi(e,t,n=_e,s=!1){A(e)&&(e=Vn(e));for(const r in e){const o=e[r];let i;Y(o)?"default"in o?i=Rn(o.from||r,o.default,!0):i=Rn(o.from||r):i=Rn(o),se(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function rr(e,t,n){he(A(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function or(e,t,n,s){const r=s.includes(".")?qs(n,s):()=>n[s];if(G(e)){const o=t[e];S(o)&&Ln(r,o)}else if(S(e))Ln(r,e.bind(n));else if(Y(e))if(A(e))e.forEach(o=>or(o,t,n,s));else{const o=S(e.handler)?e.handler.bind(n):t[e.handler];S(o)&&Ln(r,o,e)}}function ir(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(d=>sn(f,d,i,!0)),sn(f,t,i)),o.set(t,f),f}function sn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&sn(e,o,n,!0),r&&r.forEach(i=>sn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Ci[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Ci={data:lr,props:Ye,emits:Ye,methods:Ye,computed:Ye,beforeCreate:re,created:re,beforeMount:re,mounted:re,beforeUpdate:re,updated:re,beforeDestroy:re,beforeUnmount:re,destroyed:re,unmounted:re,activated:re,deactivated:re,errorCaptured:re,serverPrefetch:re,components:Ye,directives:Ye,watch:Ei,provide:lr,inject:Ti};function lr(e,t){return t?e?function(){return ne(S(e)?e.call(this,this):e,S(t)?t.call(this,this):t)}:t:e}function Ti(e,t){return Ye(Vn(e),Vn(t))}function Vn(e){if(A(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const m=e.vnode.dynamicProps;for(let w=0;w{f=!0;const[T,$]=ur(w,t,!0);ne(i,T),$&&l.push(...$)};!n&&t.mixins.length&&t.mixins.forEach(m),e.extends&&m(e.extends),e.mixins&&e.mixins.forEach(m)}if(!o&&!f)return s.set(e,st),st;if(A(o))for(let m=0;m-1,$[1]=R<0||D-1||F($,"default"))&&l.push(w)}}}const d=[i,l];return s.set(e,d),d}function fr(e){return e[0]!=="$"}function ar(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function dr(e,t){return ar(e)===ar(t)}function hr(e,t){return A(t)?t.findIndex(n=>dr(n,e)):S(t)&&dr(t,e)?0:-1}const pr=e=>e[0]==="_"||e==="$stable",qn=e=>A(e)?e.map(Ae):[Ae(e)],xi=(e,t,n)=>{if(t._n)return t;const s=Jo((...r)=>qn(t(...r)),n);return s._c=!1,s},gr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(pr(r))continue;const o=e[r];if(S(o))t[r]=xi(r,o,s);else if(o!=null){const i=qn(o);t[r]=()=>i}}},mr=(e,t)=>{const n=qn(t);e.slots.default=()=>n},Ai=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=L(t),Rt(t,"_",n)):gr(t,e.slots={})}else e.slots={},t&&mr(e,t);Rt(e.slots,on,1)},$i=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=H;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ne(r,t),!n&&l===1&&delete r._):(o=!t.$stable,gr(t,r)),i=t}else t&&(mr(e,t),i={default:1});if(o)for(const l in r)!pr(l)&&!(l in i)&&delete r[l]};function _r(){return{app:null,config:{isNativeTag:Gr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ii=0;function Si(e,t){return function(s,r=null){S(s)||(s=Object.assign({},s)),r!=null&&!Y(r)&&(r=null);const o=_r(),i=new Set;let l=!1;const f=o.app={_uid:Ii++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:Zi,get config(){return o.config},set config(d){},use(d,...m){return i.has(d)||(d&&S(d.install)?(i.add(d),d.install(f,...m)):S(d)&&(i.add(d),d(f,...m))),f},mixin(d){return o.mixins.includes(d)||o.mixins.push(d),f},component(d,m){return m?(o.components[d]=m,f):o.components[d]},directive(d,m){return m?(o.directives[d]=m,f):o.directives[d]},mount(d,m,w){if(!l){const T=xe(s,r);return T.appContext=o,m&&t?t(T,d):e(T,d,w),l=!0,f._container=d,d.__vue_app__=f,cn(T.component)||T.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(d,m){return o.provides[d]=m,f}};return f}}function Jn(e,t,n,s,r=!1){if(A(e)){e.forEach((T,$)=>Jn(T,t&&(A(t)?t[$]:t),n,s,r));return}if(Zt(s)&&!r)return;const o=s.shapeFlag&4?cn(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:f}=e,d=t&&t.r,m=l.refs===H?l.refs={}:l.refs,w=l.setupState;if(d!=null&&d!==f&&(G(d)?(m[d]=null,F(w,d)&&(w[d]=null)):se(d)&&(d.value=null)),S(f))Le(f,l,12,[i,m]);else{const T=G(f),$=se(f);if(T||$){const D=()=>{if(e.f){const R=T?m[f]:f.value;r?A(R)&&pn(R,o):A(R)?R.includes(o)||R.push(o):T?(m[f]=[o],F(w,f)&&(w[f]=m[f])):(f.value=[o],e.k&&(m[e.k]=f.value))}else T?(m[f]=i,F(w,f)&&(w[f]=i)):$&&(f.value=i,e.k&&(m[e.k]=i))};i?(D.id=-1,oe(D,n)):D()}}}const oe=ei;function Pi(e){return ji(e)}function ji(e,t){const n=oo();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:f,setText:d,setElementText:m,parentNode:w,nextSibling:T,setScopeId:$=_e,cloneNode:D,insertStaticContent:R}=e,j=(c,u,a,p=null,h=null,b=null,C=!1,_=null,y=!!u.dynamicChildren)=>{if(c===u)return;c&&!Ze(c,u)&&(p=fn(c),ze(c,h,b,!0),c=null),u.patchFlag===-2&&(y=!1,u.dynamicChildren=null);const{type:g,ref:v,shapeFlag:O}=u;switch(g){case Yn:k(c,u,a,p);break;case ye:me(c,u,a,p);break;case Xn:c==null&&Q(u,a,p,C);break;case J:Fe(c,u,a,p,h,b,C,_,y);break;default:O&1?ht(c,u,a,p,h,b,C,_,y):O&6?un(c,u,a,p,h,b,C,_,y):(O&64||O&128)&&g.process(c,u,a,p,h,b,C,_,y,gt)}v!=null&&h&&Jn(v,c&&c.ref,b,u||c,!u)},k=(c,u,a,p)=>{if(c==null)s(u.el=l(u.children),a,p);else{const h=u.el=c.el;u.children!==c.children&&d(h,u.children)}},me=(c,u,a,p)=>{c==null?s(u.el=f(u.children||""),a,p):u.el=c.el},Q=(c,u,a,p)=>{[c.el,c.anchor]=R(c.children,u,a,p,c.el,c.anchor)},X=({el:c,anchor:u},a,p)=>{let h;for(;c&&c!==u;)h=T(c),s(c,a,p),c=h;s(u,a,p)},ie=({el:c,anchor:u})=>{let a;for(;c&&c!==u;)a=T(c),r(c),c=a;r(u)},ht=(c,u,a,p,h,b,C,_,y)=>{C=C||u.type==="svg",c==null?et(u,a,p,h,b,C,_,y):Z(c,u,h,b,C,_,y)},et=(c,u,a,p,h,b,C,_)=>{let y,g;const{type:v,props:O,shapeFlag:x,transition:I,patchFlag:U,dirs:B}=c;if(c.el&&D!==void 0&&U===-1)y=c.el=D(c.el);else{if(y=c.el=i(c.type,b,O&&O.is,O),x&8?m(y,c.children):x&16&&W(c.children,y,null,p,h,b&&v!=="foreignObject",C,_),B&&Je(c,null,p,"created"),O){for(const V in O)V!=="value"&&!Ft(V)&&o(y,V,null,O[V],b,c.children,p,h,ke);"value"in O&&o(y,"value",null,O.value),(g=O.onVnodeBeforeMount)&&$e(g,p,c)}N(y,c,c.scopeId,C,p)}B&&Je(c,null,p,"beforeMount");const K=(!h||h&&!h.pendingBranch)&&I&&!I.persisted;K&&I.beforeEnter(y),s(y,u,a),((g=O&&O.onVnodeMounted)||K||B)&&oe(()=>{g&&$e(g,p,c),K&&I.enter(y),B&&Je(c,null,p,"mounted")},h)},N=(c,u,a,p,h)=>{if(a&&$(c,a),p)for(let b=0;b{for(let g=y;g{const _=u.el=c.el;let{patchFlag:y,dynamicChildren:g,dirs:v}=u;y|=c.patchFlag&16;const O=c.props||H,x=u.props||H;let I;a&&Xe(a,!1),(I=x.onVnodeBeforeUpdate)&&$e(I,a,u,c),v&&Je(u,c,a,"beforeUpdate"),a&&Xe(a,!0);const U=h&&u.type!=="foreignObject";if(g?le(c.dynamicChildren,g,_,a,p,U,b):C||Me(c,u,_,null,a,p,U,b,!1),y>0){if(y&16)Te(_,u,O,x,a,p,h);else if(y&2&&O.class!==x.class&&o(_,"class",null,x.class,h),y&4&&o(_,"style",O.style,x.style,h),y&8){const B=u.dynamicProps;for(let K=0;K{I&&$e(I,a,u,c),v&&Je(u,c,a,"updated")},p)},le=(c,u,a,p,h,b,C)=>{for(let _=0;_{if(a!==p){for(const _ in p){if(Ft(_))continue;const y=p[_],g=a[_];y!==g&&_!=="value"&&o(c,_,g,y,C,u.children,h,b,ke)}if(a!==H)for(const _ in a)!Ft(_)&&!(_ in p)&&o(c,_,a[_],null,C,u.children,h,b,ke);"value"in p&&o(c,"value",a.value,p.value)}},Fe=(c,u,a,p,h,b,C,_,y)=>{const g=u.el=c?c.el:l(""),v=u.anchor=c?c.anchor:l("");let{patchFlag:O,dynamicChildren:x,slotScopeIds:I}=u;I&&(_=_?_.concat(I):I),c==null?(s(g,a,p),s(v,a,p),W(u.children,a,v,h,b,C,_,y)):O>0&&O&64&&x&&c.dynamicChildren?(le(c.dynamicChildren,x,a,h,b,C,_),(u.key!=null||h&&u===h.subTree)&&br(c,u,!0)):Me(c,u,a,v,h,b,C,_,y)},un=(c,u,a,p,h,b,C,_,y)=>{u.slotScopeIds=_,c==null?u.shapeFlag&512?h.ctx.activate(u,a,p,C,y):rs(u,a,p,h,b,C,y):ce(c,u,y)},rs=(c,u,a,p,h,b,C)=>{const _=c.component=Bi(c,p,h);if(Qt(c)&&(_.ctx.renderer=gt),zi(_),_.asyncDep){if(h&&h.registerDep(_,q),!c.el){const y=_.subTree=xe(ye);me(null,y,u,a)}return}q(_,c,u,a,h,b,C)},ce=(c,u,a)=>{const p=u.component=c.component;if(Zo(c,u,a))if(p.asyncDep&&!p.asyncResolved){z(p,u,a);return}else p.next=u,zo(p.update),p.update();else u.el=c.el,p.vnode=u},q=(c,u,a,p,h,b,C)=>{const _=()=>{if(c.isMounted){let{next:v,bu:O,u:x,parent:I,vnode:U}=c,B=v,K;Xe(c,!1),v?(v.el=U.el,z(c,v,C)):v=U,O&&Ut(O),(K=v.props&&v.props.onVnodeBeforeUpdate)&&$e(K,I,v,U),Xe(c,!0);const V=Un(c),Ee=c.subTree;c.subTree=V,j(Ee,V,w(Ee.el),fn(Ee),c,h,b),v.el=V.el,B===null&&Qo(c,V.el),x&&oe(x,h),(K=v.props&&v.props.onVnodeUpdated)&&oe(()=>$e(K,I,v,U),h)}else{let v;const{el:O,props:x}=u,{bm:I,m:U,parent:B}=c,K=Zt(u);if(Xe(c,!1),I&&Ut(I),!K&&(v=x&&x.onVnodeBeforeMount)&&$e(v,B,u),Xe(c,!0),O&&ls){const V=()=>{c.subTree=Un(c),ls(O,c.subTree,c,h,null)};K?u.type.__asyncLoader().then(()=>!c.isUnmounted&&V()):V()}else{const V=c.subTree=Un(c);j(null,V,a,p,c,h,b),u.el=V.el}if(U&&oe(U,h),!K&&(v=x&&x.onVnodeMounted)){const V=u;oe(()=>$e(v,B,V),h)}(u.shapeFlag&256||B&&Zt(B.vnode)&&B.vnode.shapeFlag&256)&&c.a&&oe(c.a,h),c.isMounted=!0,u=a=p=null}},y=c.effect=new Tn(_,()=>Rs(g),c.scope),g=c.update=()=>y.run();g.id=c.uid,Xe(c,!0),g()},z=(c,u,a)=>{u.component=c;const p=c.vnode.props;c.vnode=u,c.next=null,vi(c,u.props,p,a),$i(c,u.children,a),it(),qt(void 0,c.update),lt()},Me=(c,u,a,p,h,b,C,_,y=!1)=>{const g=c&&c.children,v=c?c.shapeFlag:0,O=u.children,{patchFlag:x,shapeFlag:I}=u;if(x>0){if(x&128){It(g,O,a,p,h,b,C,_,y);return}else if(x&256){os(g,O,a,p,h,b,C,_,y);return}}I&8?(v&16&&ke(g,h,b),O!==g&&m(a,O)):v&16?I&16?It(g,O,a,p,h,b,C,_,y):ke(g,h,b,!0):(v&8&&m(a,""),I&16&&W(O,a,p,h,b,C,_,y))},os=(c,u,a,p,h,b,C,_,y)=>{c=c||st,u=u||st;const g=c.length,v=u.length,O=Math.min(g,v);let x;for(x=0;xv?ke(c,h,b,!0,!1,O):W(u,a,p,h,b,C,_,y,O)},It=(c,u,a,p,h,b,C,_,y)=>{let g=0;const v=u.length;let O=c.length-1,x=v-1;for(;g<=O&&g<=x;){const I=c[g],U=u[g]=y?Be(u[g]):Ae(u[g]);if(Ze(I,U))j(I,U,a,null,h,b,C,_,y);else break;g++}for(;g<=O&&g<=x;){const I=c[O],U=u[x]=y?Be(u[x]):Ae(u[x]);if(Ze(I,U))j(I,U,a,null,h,b,C,_,y);else break;O--,x--}if(g>O){if(g<=x){const I=x+1,U=Ix)for(;g<=O;)ze(c[g],h,b,!0),g++;else{const I=g,U=g,B=new Map;for(g=U;g<=x;g++){const de=u[g]=y?Be(u[g]):Ae(u[g]);de.key!=null&&B.set(de.key,g)}let K,V=0;const Ee=x-U+1;let mt=!1,Vr=0;const St=new Array(Ee);for(g=0;g=Ee){ze(de,h,b,!0);continue}let Ie;if(de.key!=null)Ie=B.get(de.key);else for(K=U;K<=x;K++)if(St[K-U]===0&&Ze(de,u[K])){Ie=K;break}Ie===void 0?ze(de,h,b,!0):(St[Ie-U]=g+1,Ie>=Vr?Vr=Ie:mt=!0,j(de,u[Ie],a,null,h,b,C,_,y),V++)}const Wr=mt?Fi(St):st;for(K=Wr.length-1,g=Ee-1;g>=0;g--){const de=U+g,Ie=u[de],qr=de+1{const{el:b,type:C,transition:_,children:y,shapeFlag:g}=c;if(g&6){pt(c.component.subTree,u,a,p);return}if(g&128){c.suspense.move(u,a,p);return}if(g&64){C.move(c,u,a,gt);return}if(C===J){s(b,u,a);for(let O=0;O_.enter(b),h);else{const{leave:O,delayLeave:x,afterLeave:I}=_,U=()=>s(b,u,a),B=()=>{O(b,()=>{U(),I&&I()})};x?x(b,U,B):B()}else s(b,u,a)},ze=(c,u,a,p=!1,h=!1)=>{const{type:b,props:C,ref:_,children:y,dynamicChildren:g,shapeFlag:v,patchFlag:O,dirs:x}=c;if(_!=null&&Jn(_,null,a,c,!0),v&256){u.ctx.deactivate(c);return}const I=v&1&&x,U=!Zt(c);let B;if(U&&(B=C&&C.onVnodeBeforeUnmount)&&$e(B,u,c),v&6)zc(c.component,a,p);else{if(v&128){c.suspense.unmount(a,p);return}I&&Je(c,null,u,"beforeUnmount"),v&64?c.type.remove(c,u,a,h,gt,p):g&&(b!==J||O>0&&O&64)?ke(g,u,a,!1,!0):(b===J&&O&384||!h&&v&16)&&ke(y,u,a),p&&Kr(c)}(U&&(B=C&&C.onVnodeUnmounted)||I)&&oe(()=>{B&&$e(B,u,c),I&&Je(c,null,u,"unmounted")},a)},Kr=c=>{const{type:u,el:a,anchor:p,transition:h}=c;if(u===J){Kc(a,p);return}if(u===Xn){ie(c);return}const b=()=>{r(a),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(c.shapeFlag&1&&h&&!h.persisted){const{leave:C,delayLeave:_}=h,y=()=>C(a,b);_?_(c.el,b,y):y()}else b()},Kc=(c,u)=>{let a;for(;c!==u;)a=T(c),r(c),c=a;r(u)},zc=(c,u,a)=>{const{bum:p,scope:h,update:b,subTree:C,um:_}=c;p&&Ut(p),h.stop(),b&&(b.active=!1,ze(C,c,u,a)),_&&oe(_,u),oe(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},ke=(c,u,a,p=!1,h=!1,b=0)=>{for(let C=b;Cc.shapeFlag&6?fn(c.component.subTree):c.shapeFlag&128?c.suspense.next():T(c.anchor||c.el),zr=(c,u,a)=>{c==null?u._vnode&&ze(u._vnode,null,null,!0):j(u._vnode||null,c,u,null,null,null,a),Hs(),u._vnode=c},gt={p:j,um:ze,m:pt,r:Kr,mt:rs,mc:W,pc:Me,pbc:le,n:fn,o:e};let is,ls;return t&&([is,ls]=t(gt)),{render:zr,hydrate:is,createApp:Si(zr,is)}}function Xe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function br(e,t,n=!1){const s=e.children,r=t.children;if(A(s)&&A(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const Mi=e=>e.__isTeleport,J=Symbol(void 0),Yn=Symbol(void 0),ye=Symbol(void 0),Xn=Symbol(void 0),vt=[];let we=null;function P(e=!1){vt.push(we=e?null:[])}function ki(){vt.pop(),we=vt[vt.length-1]||null}let xt=1;function yr(e){xt+=e}function wr(e){return e.dynamicChildren=xt>0?we||st:null,ki(),xt>0&&we&&we.push(e),e}function M(e,t,n,s,r,o){return wr(E(e,t,n,s,r,o,!0))}function rn(e,t,n,s,r){return wr(xe(e,t,n,s,r,!0))}function Ni(e){return e?e.__v_isVNode===!0:!1}function Ze(e,t){return e.type===t.type&&e.key===t.key}const on="__vInternal",Cr=({key:e})=>e!=null?e:null,ln=({ref:e,ref_key:t,ref_for:n})=>e!=null?G(e)||se(e)||S(e)?{i:pe,r:e,k:t,f:!!n}:e:null;function E(e,t=null,n=null,s=0,r=null,o=e===J?0:1,i=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Cr(t),ref:t&&ln(t),scopeId:Yt,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null};return l?(Zn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=G(n)?8:16),xt>0&&!i&&we&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&we.push(f),f}const xe=Ui;function Ui(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===mi)&&(e=ye),Ni(e)){const l=He(e,t,!0);return n&&Zn(l,n),xt>0&&!o&&we&&(l.shapeFlag&6?we[we.indexOf(e)]=l:we.push(l)),l.patchFlag|=-2,l}if(Yi(e)&&(e=e.__vccOpts),t){t=Ri(t);let{class:l,style:f}=t;l&&!G(l)&&(t.class=dn(l)),Y(f)&&(Ms(f)&&!A(f)&&(f=ne({},f)),t.style=an(f))}const i=G(e)?1:Go(e)?128:Mi(e)?64:Y(e)?4:S(e)?2:0;return E(e,t,n,s,r,i,o,!0)}function Ri(e){return e?Ms(e)||on in e?ne({},e):e:null}function He(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?Li(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Cr(l),ref:t&&t.ref?n&&r?A(r)?r.concat(ln(t)):[r,ln(t)]:ln(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&He(e.ssContent),ssFallback:e.ssFallback&&He(e.ssFallback),el:e.el,anchor:e.anchor}}function ee(e=" ",t=0){return xe(Yn,null,e,t)}function Ce(e="",t=!1){return t?(P(),rn(ye,null,e)):xe(ye,null,e)}function Ae(e){return e==null||typeof e=="boolean"?xe(ye):A(e)?xe(J,null,e.slice()):typeof e=="object"?Be(e):xe(Yn,null,String(e))}function Be(e){return e.el===null||e.memo?e:He(e)}function Zn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(A(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Zn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(on in t)?t._ctx=pe:r===3&&pe&&(pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else S(t)?(t={default:t,_ctx:pe},n=32):(t=String(t),s&64?(n=16,t=[ee(t)]):n=8);e.children=t,e.shapeFlag|=n}function Li(...e){const t={};for(let n=0;nte||pe,at=e=>{te=e,e.scope.on()},Qe=()=>{te&&te.scope.off(),te=null};function Tr(e){return e.vnode.shapeFlag&4}let At=!1;function zi(e,t=!1){At=t;const{props:n,children:s}=e.vnode,r=Tr(e);Oi(e,n,r,t),Ai(e,s);const o=r?Vi(e,t):void 0;return At=!1,o}function Vi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=ks(new Proxy(e.ctx,bi));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?qi(e):null;at(e),it();const o=Le(s,e,0,[e.props,r]);if(lt(),Qe(),ds(o)){if(o.then(Qe,Qe),t)return o.then(i=>{Er(e,i,t)}).catch(i=>{Vt(i,e,0)});e.asyncDep=o}else Er(e,o,t)}else vr(e,t)}function Er(e,t,n){S(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Y(t)&&(e.setupState=Ns(t)),vr(e,n)}let Or;function vr(e,t,n){const s=e.type;if(!e.render){if(!t&&Or&&!s.render){const r=s.template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,d=ne(ne({isCustomElement:o,delimiters:l},i),f);s.render=Or(r,d)}}e.render=s.render||_e}at(e),it(),yi(e),lt(),Qe()}function Wi(e){return new Proxy(e.attrs,{get(t,n){return fe(e,"get","$attrs"),t[n]}})}function qi(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Wi(e))},slots:e.slots,emit:e.emit,expose:t}}function cn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ns(ks(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in nn)return nn[n](e)}}))}function Ji(e,t=!0){return S(e)?e.displayName||e.name:e.name||t&&e.__name}function Yi(e){return S(e)&&"__vccOpts"in e}const Xi=(e,t)=>Do(e,t,At),Zi="3.2.37",Qi="http://www.w3.org/2000/svg",Ge=typeof document<"u"?document:null,xr=Ge&&Ge.createElement("template"),Gi={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?Ge.createElementNS(Qi,e):Ge.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{xr.innerHTML=s?`${e}`:e;const l=xr.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function el(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function tl(e,t,n){const s=e.style,r=G(n);if(n&&!r){for(const o in n)Qn(s,o,n[o]);if(t&&!G(t))for(const o in t)n[o]==null&&Qn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const Ar=/\s*!important$/;function Qn(e,t,n){if(A(n))n.forEach(s=>Qn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=nl(e,t);Ar.test(n)?e.setProperty(ot(s),n.replace(Ar,""),"important"):e[s]=n}}const $r=["Webkit","Moz","ms"],Gn={};function nl(e,t){const n=Gn[t];if(n)return n;let s=Oe(t);if(s!=="filter"&&s in e)return Gn[t]=s;s=kt(s);for(let r=0;r<$r.length;r++){const o=$r[r]+s;if(o in e)return Gn[t]=o}return t}const Ir="http://www.w3.org/1999/xlink";function sl(e,t,n,s,r){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Ir,t.slice(6,t.length)):e.setAttributeNS(Ir,t,n);else{const o=Jr(t);n==null||o&&!cs(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function rl(e,t,n,s,r,o,i){if(t==="innerHTML"||t==="textContent"){s&&i(s,r,o),e[t]=n==null?"":n;return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=n;const f=n==null?"":n;(e.value!==f||e.tagName==="OPTION")&&(e.value=f),n==null&&e.removeAttribute(t);return}let l=!1;if(n===""||n==null){const f=typeof e[t];f==="boolean"?n=cs(n):n==null&&f==="string"?(n="",l=!0):f==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(t)}const[Sr,ol]=(()=>{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let es=0;const il=Promise.resolve(),ll=()=>{es=0},cl=()=>es||(il.then(ll),es=Sr());function Ke(e,t,n,s){e.addEventListener(t,n,s)}function ul(e,t,n,s){e.removeEventListener(t,n,s)}function fl(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,f]=al(t);if(s){const d=o[t]=dl(s,r);Ke(e,l,d,f)}else i&&(ul(e,l,i,f),o[t]=void 0)}}const Pr=/(?:Once|Passive|Capture)$/;function al(e){let t;if(Pr.test(e)){t={};let n;for(;n=e.match(Pr);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[ot(e.slice(2)),t]}function dl(e,t){const n=s=>{const r=s.timeStamp||Sr();(ol||r>=n.attached-1)&&he(hl(s,n.value),t,5,[s])};return n.value=e,n.attached=cl(),n}function hl(e,t){if(A(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const jr=/^on[a-z]/,pl=(e,t,n,s,r=!1,o,i,l,f)=>{t==="class"?el(e,s,r):t==="style"?tl(e,n,s):Pt(t)?hn(t)||fl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):gl(e,t,s,r))?rl(e,t,s,o,i,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),sl(e,t,s,r))};function gl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&jr.test(t)&&S(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||jr.test(t)&&G(n)?!1:t in e}const ml={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ri.props;const dt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return A(t)?n=>Ut(t,n):t};function _l(e){e.target.composing=!0}function Fr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const bl={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=dt(r);const o=s||r.props&&r.props.type==="number";Ke(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=_n(l)),e._assign(l)}),n&&Ke(e,"change",()=>{e.value=e.value.trim()}),t||(Ke(e,"compositionstart",_l),Ke(e,"compositionend",Fr),Ke(e,"change",Fr))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e._assign=dt(o),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&_n(e.value)===t))return;const i=t==null?"":t;e.value!==i&&(e.value=i)}},yl={deep:!0,created(e,t,n){e._assign=dt(n),Ke(e,"change",()=>{const s=e._modelValue,r=Nr(e),o=e.checked,i=e._assign;if(A(s)){const l=us(s,r),f=l!==-1;if(o&&!f)i(s.concat(r));else if(!o&&f){const d=[...s];d.splice(l,1),i(d)}}else if(jt(s)){const l=new Set(s);o?l.add(r):l.delete(r),i(l)}else i(Ur(e,o))})},mounted:Mr,beforeUpdate(e,t,n){e._assign=dt(n),Mr(e,t,n)}};function Mr(e,{value:t,oldValue:n},s){e._modelValue=t,A(t)?e.checked=us(t,s.props.value)>-1:jt(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=nt(t,Ur(e,!0)))}const kr={created(e,{value:t},n){e.checked=nt(t,n.props.value),e._assign=dt(n),Ke(e,"change",()=>{e._assign(Nr(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e._assign=dt(s),t!==n&&(e.checked=nt(t,s.props.value))}};function Nr(e){return"_value"in e?e._value:e.value}function Ur(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const wl=ne({patchProp:pl},Gi);let Rr;function Cl(){return Rr||(Rr=Pi(wl))}const Tl=(...e)=>{const t=Cl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=El(s);if(!r)return;const o=t._component;!S(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function El(e){return G(e)?document.querySelector(e):e}const Ol={props:["assignment","assignmentKey","roster"],data(){return{partnerSearch:"",searchStudents:[],partners:new Set,showRoster:!1}},methods:{select:function(e){this.partners.add(e),this.$forceUpdate(),this.partnerSearch=""},removePartner:function(e){this.partners.delete(e),this.$forceUpdate()}},computed:{searched:function(){let e=this.partnerSearch.toLowerCase();return e.length>0?this.roster.filter(t=>t.name.toLowerCase().includes(e)||t.email.toLowerCase().includes(e)):this.showRoster?this.roster:[]}}},Jc="",ts=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ns=e=>(kn("data-v-23d0f418"),e=e(),Nn(),e),vl={key:0},xl=ee(" You've chosen to work with "),Al=["onClick"],$l={key:0},Il={key:1},Sl=ee(". "),Pl={key:0},jl=ns(()=>E("em",null,"Do not add people to your team without their permission",-1)),Fl=ee(". "),Ml={key:1},kl=ns(()=>E("em",null,"Do not add people to your team without their permission",-1)),Nl=ee(". "),Ul={key:2,class:"tableFixHead"},Rl=ns(()=>E("thead",null,[E("tr",null,[E("th",null,"\xA0"),E("th",null,"Name"),E("th",null,"E-mail")])],-1)),Ll={width:"7em"},Dl=["onClick"],Hl=["href"],Bl={key:2},Kl=ee(" To begin working on this assignment, we need to create a repository for you. ");function zl(e,t){return P(),M("div",null,[e.partners.size>0?(P(),M("p",vl,[xl,(P(!0),M(J,null,tn(e.partners,(n,s)=>(P(),M("span",null,[E("span",{class:"partner",onClick:r=>e.removePartner(n)},ue(n.name)+" ("+ue(n.email)+")",9,Al),s+2e.partners.size?(P(),M(J,{key:1},[(e.assignment.assignment.min_group_size||1)-1>e.partners.size?(P(),M("p",Pl,[ee(" This is a group assignment, you must choose at least "+ue((e.assignment.assignment.min_group_size||1)-1-e.partners.size)+" more classmate(s) to work with. ",1),jl,Fl])):(P(),M("p",Ml,[ee(" This is a group assignment, you may choose up to "+ue(e.assignment.assignment.max_group_size-1-e.partners.size)+" more classmate(s) to work with. ",1),kl,Nl])),E("p",null,[en(E("input",{type:"search",placeholder:"Find a partner by name or NetID",class:"partnerSearch","onUpdate:modelValue":t[0]||(t[0]=n=>e.partnerSearch=n)},null,512),[[bl,e.partnerSearch]]),e.showRoster?(P(),M("button",{key:0,onClick:t[1]||(t[1]=n=>{e.showRoster=!1,e.partnerSearch=""})},"hide \u25B2")):(P(),M("button",{key:1,href:"#",onClick:t[2]||(t[2]=n=>e.showRoster=!0)},"view all \u25BC"))]),e.searched.length>0?(P(),M("div",Ul,[E("table",null,[Rl,(P(!0),M(J,null,tn(e.searched,n=>(P(),M("tr",null,[E("td",Ll,[E("a",{href:"#",onClick:s=>e.select(n)},"Select",8,Dl)]),E("td",null,ue(n.name),1),E("td",null,[E("a",{href:`mailto:${n.email}?Subject=Work+together+on+${e.assignmentKey}%3F`,target:"new"},ue(n.email),9,Hl)])]))),256))])])):Ce("",!0)],64)):Ce("",!0),(e.assignment.assignment.min_group_size||1)-e.partners.size<=1?(P(),M("p",Bl,[Kl,E("a",{href:"#",onClick:t[3]||(t[3]=n=>e.$emit("start",e.assignmentKey,e.partners))},"Click here to start")])):Ce("",!0)])}const Lr=ts(Ol,[["render",zl],["__scopeId","data-v-23d0f418"]]);let Vl="https://faasten.princeton.systems/faasten/invoke/";const Wl={components:{CreateAssignment:Lr},props:["user","jwt","github","githubUser","course","prerelease"],data(){return{assignments:{},starting:{},enrollments:null}},created:async function(){this.getAssignments();let e=await this.fsOp("~:fsutil",{op:"read",args:{path:["home",`T,${this.course}`,"roster.json"]}});console.log(e),this.enrollments=JSON.parse(atob(e.value))},methods:{fsOp:async function(e,t){return await(await fetch(Vl+encodeURIComponent(e),{method:"POST",headers:new Headers({Authorization:"Bearer "+this.jwt,"Content-Type":"application/json"}),body:JSON.stringify(t)})).json()},inviteCollaborators:async function(e){await this.fsOp(`home::invite_collaborators`,{repo:e,course:this.course})},start:async function(e,t){let n=[this.user];for(const o of t.values())n.push(o.login);this.starting[e]=!0;let s=await this.fsOp(`home::start_assignment`,{assignment:e,course:this.course,users:n,gh_handles:[this.githubUser]});const r=`https://github.com/${this.github}/${s.name}`;this.assignments[e].repo=r,this.assignments[e].repoName=s.name,window.open(`${r}/invitations`,"_blank"),this.starting[e]=!1},getAssignments:async function(){let e=JSON.parse(atob((await this.fsOp("~:fsutil",{op:"read",args:{path:["home",`T,${this.course}`,"assignments.json"]}})).value));for(const[t,n]of Object.entries(e))this.fsOp("~:fsutil",{op:"read",args:{path:["home",`T,${this.course}`,"users",`${this.user}|${this.course},${this.course}`,t,"_meta"]}}).then(s=>{if(s.success){const r=JSON.parse(atob(s.value)).repo;this.assignments[t]={assignment:n,repoName:r,repo:`https://github.com/${this.github}/${r}`}}else this.assignments[t]={assignment:n}})}},computed:{enrolledStudents:function(){if(this.enrollments){let e=Object.entries(this.enrollments).find(([n,s])=>n==this.user.toLowerCase());if(!e)return[];let t=e[1].role;return Object.entries(this.enrollments).filter(([n,s])=>s.role==t&&n!=this.user.toLowerCase()).map(([n,s])=>Object.assign({login:n},s)).sort((n,s)=>n.sortable_name.localeCompare(s.sortable_name))}else return[]},viewableAssignments:function(){let e=new Date;if(this.prerelease)return this.assignments;{let t=Object.entries(this.assignments);return t=t.filter(([n,s])=>e>=new Date(s.assignment.release_date)).sort(([n,s],[r,o])=>new Date(o.assignment.release_date)-new Date(s.assignment.release_date)),Object.fromEntries(t)}}}},Yc="",ql=e=>(kn("data-v-6cb23c59"),e=e(),Nn(),e),Jl={class:"assignments"},Yl={class:"assignment"},Xl=["id"],Zl={key:0,class:"deadline"},Ql=ee("Due "),Gl={key:1,class:"description"},ec={key:2},tc=ee(" Your repository: "),nc=["href"],sc=ee(),rc=ee("("),oc=["onClick"],ic=ee(")"),lc={key:3},cc=[ql(()=>E("em",null,"Creating repository...",-1))];function uc(e,t){const n=nr("create-assignment");return P(),M("ol",Jl,[(P(!0),M(J,null,tn(e.viewableAssignments,(s,r)=>(P(),M("li",Yl,[E("h2",{id:r.toString()},ue(s.assignment.title),9,Xl),s.assignment.due_date?(P(),M("p",Zl,[Ql,E("em",null,ue(new Date(s.assignment.due_date).toLocaleString("en-US",{weekday:"short",month:"long",day:"numeric",hour:"numeric",minute:"numeric"})),1)])):Ce("",!0),s.assignment.description?(P(),M("p",Gl,ue(s.assignment.description),1)):Ce("",!0),s.repo?(P(),M("p",ec,[tc,E("a",{href:s.repo,target:"new"},ue(s.repo),9,nc),sc,E("small",null,[rc,E("a",{href:"#",onClick:o=>e.inviteCollaborators(s.repoName)},"Reinvite to Github",8,oc),ic])])):e.starting[r]?(P(),M("p",lc,cc)):(P(),rn(n,{roster:e.enrolledStudents,assignment:s,"assignment-key":r,onStart:e.start,key:r},null,8,["roster","assignment","assignment-key","onStart"]))]))),256))])}const Dr=ts(Wl,[["render",uc],["__scopeId","data-v-6cb23c59"]]);let fc="https://faasten.princeton.systems";const ac={components:{CreateAssignment:Lr,StudentDashboard:Dr},props:["jwt","user","course"],data(){return{assignments:{},mode:"student",prerelease:!0}},created:async function(){this.getAssignments()},methods:{datetimeLocal:function(e){const t=new Date(e);return new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().slice(0,-1)},toggleEditable:function(e){e.target.setAttribute("contenteditable","true"),e.target.focus()},getAssignments:async function(){let e=await fetch(fc+`/get?keys=${this.course}/assignments`,{method:"GET",headers:new Headers({Authorization:"Bearer "+this.jwt})}),t=JSON.parse((await e.json())[`${this.course}/assignments`]);this.assignments=t}}},Zc="",dc=e=>(kn("data-v-a8950f34"),e=e(),Nn(),e),hc=ee(" Student View "),pc=ee(" Intructor View "),gc=ee(" Show Prerelease "),mc={key:1,class:"assignments"},_c={class:"assignment"},bc=["for"],yc=["id","value"],wc={key:0,class:"starter-code"},Cc=["for"],Tc=["id","value"],Ec={key:1,class:"deadline"},Oc=["for"],vc=["id","value"],xc={key:2,class:"deadline"},Ac=["for"],$c=["id","value"],Ic=["for"],Sc=["id","value"],Pc=["for"],jc=["id","value"],Fc=["for"],Mc=["id"],kc=dc(()=>E("p",null,[E("button",null,"Commit")],-1));function Nc(e,t){const n=nr("StudentDashboard");return P(),M(J,null,[E("p",null,[E("label",null,[en(E("input",{type:"radio",name:"view",value:"student","onUpdate:modelValue":t[0]||(t[0]=s=>e.mode=s)},null,512),[[kr,e.mode]]),hc]),E("label",null,[en(E("input",{type:"radio",name:"view",value:"instructor","onUpdate:modelValue":t[1]||(t[1]=s=>e.mode=s)},null,512),[[kr,e.mode]]),pc])]),e.mode=="student"?(P(),M(J,{key:0},[E("p",null,[E("label",null,[en(E("input",{type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=s=>e.prerelease=s)},null,512),[[yl,e.prerelease]]),gc])]),xe(n,{user:e.user,jwt:e.jwt,course:e.course,prerelease:e.prerelease},null,8,["user","jwt","course","prerelease"])],64)):(P(),M("ol",mc,[(P(!0),M(J,null,tn(e.assignments,(s,r)=>(P(),M("li",_c,[E("p",null,[E("label",{for:r+"-title"},"Title",8,bc),E("input",{type:"text",id:r+"-title",name:"title",value:s.title},null,8,yc)]),s.release_date?(P(),M("p",wc,[E("label",{for:r+"-starter-code"},"Starter Code ([ORG]/[REPO])",8,Cc),E("input",{type:"text",pattern:"[^/]*/[^/]*",id:r+"-starter-code",value:s.starter_code},null,8,Tc)])):Ce("",!0),s.release_date?(P(),M("p",Ec,[E("label",{for:r+"-release"},"Release",8,Oc),E("input",{type:"datetime-local",id:r+"-release",value:e.datetimeLocal(s.release_date)},null,8,vc)])):Ce("",!0),s.due_date?(P(),M("p",xc,[E("label",{for:r+"-due"},"Due",8,Ac),E("input",{type:"datetime-local",id:r+"-due",value:e.datetimeLocal(s.due_date)},null,8,$c)])):Ce("",!0),E("p",null,[E("label",{for:r+"-max-group-size"},"Maximum Group Size",8,Ic),E("input",{type:"number",min:"1",id:r+"-max-group-size",class:"max-group-size",value:s.max_group_size},null,8,Sc)]),E("p",null,[E("label",{for:r+"-min-group-size"},"Minimum Group Size",8,Pc),E("input",{type:"number",min:"1",id:r+"-min-group-size",class:"min-group-size",value:s.min_group_size},null,8,jc)]),E("p",null,[E("label",{for:r+"-description"},"Description",8,Fc),E("textarea",{id:r+"-description",class:"description"},ue(s.description),9,Mc)]),kc]))),256))]))],64)}const Uc=ts(ac,[["render",Nc],["__scopeId","data-v-a8950f34"]]),Rc=ee("You are logged in as "),Lc=ee(" and GitHub user "),Dc=E("p",null,"You must also pair your NetID with a GitHub account by logging in with Github",-1),Hc=E("p",null,"To access the assignment dashboard, login using your Princeton NetID",-1);let Hr=null,Br=null;const $t="https://faasten.princeton.systems",Bc=oi({...{data(){return{jwt:window.localStorage.getItem("faasten-jwt"),user:null,githubUser:window.localStorage.getItem("githubUser")}},created:function(){window.addEventListener("message",e=>{e.source&&e.source===Hr?(this.jwt=e.data,window.localStorage.setItem("faasten-jwt",e.data)):e.source&&e.source===Br&&(e.data=="jwt_please"?e.source.postMessage(this.jwt,$t):(this.githubUser=JSON.parse(e.data),this.githubUser&&window.localStorage.setItem("githubUser",this.githubUser)))},!1),this.me(this.jwt)},methods:{fsOp:async function(e,t){return await(await fetch($t+"/faasten/invoke/"+encodeURIComponent(e),{method:"POST",headers:new Headers({Authorization:"Bearer "+this.jwt,"Content-Type":"application/json"}),body:JSON.stringify(t)})).json()},me:async function(e){if(e){let t=await fetch($t+"/me",{method:"GET",headers:new Headers({Authorization:"Bearer "+this.jwt})});if(t.ok){let n=await t.json();for(console.log(n),this.user=n.login;this.githubUser;){let s=await this.fsOp("~:fsutil",{op:"write",args:{path:["home",`T,${this.user}`,"github"],data:btoa(this.githubUser)}});if(s.error)await this.fsOp("~:fsutil",{op:"mkfile",args:{base:["home",`T,${this.user}`],name:"github",label:`T,${this.user}`}}),console.log(s);else{console.log(s);break}}}}},logout:async function(e){e.preventDefault(),window.localStorage.removeItem("faasten-jwt"),this.jwt=null,this.user=null,this.githubUser=null},login:function(e){e.preventDefault(),Hr=window.open($t+"/login/cas","Login","popup")},pairWithGithub:function(e){e.preventDefault(),Br=window.open($t+"/login/github","Login","popup")}},watch:{jwt:function(e,t){this.me(e)}}},__name:"App",props:{github:null,course:null,instructor:{type:Boolean}},setup(e){return(t,n)=>t.jwt&&t.user?(P(),M(J,{key:0},[E("a",{href:"#",onClick:n[0]||(n[0]=(...s)=>t.logout&&t.logout(...s))},"Logout"),t.githubUser?(P(),M(J,{key:0},[E("p",null,[Rc,E("em",null,ue(t.user),1),Lc,E("em",null,ue(t.githubUser),1)]),e.instructor?(P(),rn(Uc,{key:0,user:t.user,jwt:t.jwt,course:e.course,github:e.github},null,8,["user","jwt","course","github"])):(P(),rn(Dr,{key:1,user:t.user,jwt:t.jwt,course:e.course,githubUser:t.githubUser,github:e.github},null,8,["user","jwt","course","githubUser","github"]))],64)):(P(),M(J,{key:1},[Dc,E("a",{href:"#",onClick:n[1]||(n[1]=(...s)=>t.pairWithGithub&&t.pairWithGithub(...s))},"Login with GitHub")],64))],64)):(P(),M(J,{key:1},[Hc,E("a",{href:"#",onClick:n[2]||(n[2]=(...s)=>t.login&&t.login(...s))},"Login with NetID")],64))}});function ss(e,t,n,s){Tl(Bc,{github:e,course:t,instructor:n}).mount(s)}document.querySelectorAll("[data-grader]").forEach(e=>{if(e){const t=e.attributes.getNamedItem("data-grader"),n=e.attributes.getNamedItem("data-github"),s=!!e.attributes.getNamedItem("data-instructor");if(t&&n){const r=t.value,o=n.value;ss(o,r,s,e)}else if(t){const r=`princeton.edu/${t.value}`,o=t.value;ss(o,r,s,e)}}}),tt.mountGrader=ss,Object.defineProperties(tt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});